From 54ab2651bdb1f3a9865bb9732ad736ca3fbc900f Mon Sep 17 00:00:00 2001 From: JieguangZhou Date: Tue, 24 May 2022 09:42:46 +0800 Subject: [PATCH] [Feature][MLops] Add MLflow Projects (custom project) component (#10175) * Add MLflow Projects (custom project) component * fix something * update document * update document * Supplementary test cases --- docs/docs/en/guide/task/mlflow.md | 32 +++++-- docs/docs/zh/guide/task/mlflow.md | 32 +++++-- .../demo/mlflow-custom-project-template.png | Bin 0 -> 66296 bytes docs/img/tasks/demo/mlflow-custom-project.png | Bin 0 -> 84087 bytes .../plugin/task/mlflow/MlflowConstants.java | 9 +- .../plugin/task/mlflow/MlflowParameters.java | 27 +++++- .../plugin/task/mlflow/MlflowTask.java | 10 ++- .../plugin/task/mlflow/MlflowTaskTest.java | 85 +++++++++++++++--- .../src/locales/modules/en_US.ts | 4 + .../src/locales/modules/zh_CN.ts | 4 + .../node/fields/use-mlflow-projects.ts | 77 ++++++++++++++-- .../task/components/node/format-data.ts | 2 + .../task/components/node/tasks/use-mlflow.ts | 6 +- .../projects/task/components/node/types.ts | 2 + 14 files changed, 248 insertions(+), 42 deletions(-) create mode 100644 docs/img/tasks/demo/mlflow-custom-project-template.png create mode 100644 docs/img/tasks/demo/mlflow-custom-project.png diff --git a/docs/docs/en/guide/task/mlflow.md b/docs/docs/en/guide/task/mlflow.md index 486bf601e8..8e15dd753e 100644 --- a/docs/docs/en/guide/task/mlflow.md +++ b/docs/docs/en/guide/task/mlflow.md @@ -13,10 +13,10 @@ MLflow task plugin used to execute MLflow tasks,Currently contains Mlflow Proj The Mlflow plugin currently supports and will support the following: -- [ ] MLflow Projects - - [x] BasicAlgorithm: contains lr, svm, lightgbm, xgboost +- [x] MLflow Projects + - [x] BasicAlgorithm: contains LogisticRegression, svm, lightgbm, xgboost - [x] AutoML: AutoML tool,contains autosklean, flaml - - [ ] Custom projects: Support for running your own MLflow projects + - [x] Custom projects: Support for running your own MLflow projects - [ ] MLflow Models - [x] MLFLOW: Use `MLflow models serve` to deploy a model service - [x] Docker: Run the container after packaging the docker image @@ -65,9 +65,7 @@ First, introduce some general parameters of DolphinScheduler **Task Parameter** - **mlflow server tracking uri** :MLflow server uri, default http://localhost:5000. -- **job type** : The type of task to run, currently including the underlying algorithm and AutoML. (User-defined - MLFlow project task execution will be supported in the near future) -- **experiment name** :The experiment in which the task is running, if none, is created. +- **experiment name** :Create the experiment where the task is running, if the experiment does not exist. If the name is empty, it is set to ` Default `, the same as MLflow. - **register model** :Register the model or not. If register is selected, the following parameters are expanded. - **model name** : The registered model name is added to the original model version and registered as Production. @@ -95,9 +93,7 @@ First, introduce some general parameters of DolphinScheduler **Task Parameter** - **mlflow server tracking uri** :MLflow server uri, default http://localhost:5000. -- **job type** : The type of task to run, currently including the underlying algorithm and AutoML. (User-defined - MLFlow project task execution will be supported in the near future) -- **experiment name** :The experiment in which the task is running, if none, is created. +- **experiment name** :Create the experiment where the task is running, if the experiment does not exist. If the name is empty, it is set to ` Default `, the same as MLflow. - **register model** :Register the model or not. If register is selected, the following parameters are expanded. - **model name** : The registered model name is added to the original model version and registered as Production. @@ -114,6 +110,24 @@ First, introduce some general parameters of DolphinScheduler and [flaml](https://github.com/microsoft/FLAML) +#### Custom projects + +![mlflow-custom-project-template.png](/img/tasks/demo/mlflow-custom-project-template.png) + +**Task Parameter** + +- **mlflow server tracking uri** :MLflow server uri, default http://localhost:5000. +- **experiment name** :Create the experiment where the task is running, if the experiment does not exist. If the name is empty, it is set to ` Default `, the same as MLflow. +- **parameters** : `--param-list` in `mlflow run`. For example `-P learning_rate=0.2 -P colsample_bytree=0.8 -P subsample=0.9` +- **Repository** : Repository url of MLflow Project,Support git address and directory on worker. If it's in a subdirectory,We add `#` to support this (same as `mlflow run`) , for example `https://github.com/mlflow/mlflow#examples/xgboost/xgboost_native` +- **Project Version** : Version of the project,default master + +You can now use this feature to run all mlFlow projects on Github (For example [MLflow examples](https://github.com/mlflow/mlflow/tree/master/examples) )了。You can also create your own machine learning library to reuse your work, and then use DolphinScheduler to use your library with one click. + +The actual interface is as follows + +![mlflow-custom-project.png](/img/tasks/demo/mlflow-custom-project.png) + ### MLflow Models #### MLFLOW diff --git a/docs/docs/zh/guide/task/mlflow.md b/docs/docs/zh/guide/task/mlflow.md index 507ef43ce6..52fd4d32ef 100644 --- a/docs/docs/zh/guide/task/mlflow.md +++ b/docs/docs/zh/guide/task/mlflow.md @@ -12,10 +12,10 @@ MLflow 组件用于执行 MLflow 任务,目前包含Mlflow Projects, 和MLflow 目前 Mlflow 组件支持的和即将支持的内容如下中: -- [ ] MLflow Projects - - [x] BasicAlgorithm: 基础算法,包含lr, svm, lightgbm, xgboost。 +- [x] MLflow Projects + - [x] BasicAlgorithm: 基础算法,包含LogisticRegression, svm, lightgbm, xgboost。 - [x] AutoML: AutoML工具,包含autosklean, flaml。 - - [ ] Custom projects: 支持运行自己的MLflow Projects项目 + - [x] Custom projects: 支持运行自己的MLflow Projects项目 - [ ] MLflow Models - [x] MLFLOW: 直接使用 `MLflow models serve` 部署模型 - [x] Docker: 打包 DOCKER 镜像后部署模型 @@ -57,13 +57,12 @@ MLflow 组件用于执行 MLflow 任务,目前包含Mlflow Projects, 和MLflow **任务参数** - **mlflow server tracking uri** :MLflow server 的连接, 默认 http://localhost:5000。 -- **任务类型** : 运行的任务类型,目前包括基础算法与AutoML, 后续将会支持用户自定义的MLflow Project。 -- **实验名称** :任务运行时所在的实验,若无则创建。 +- **实验名称** :任务运行时所在的实验,若实验不存在,则创建。若实验名称为空,则设置为`Default`, 与 MLflow 一样。 - **注册模型** :是否注册模型,若选择注册,则会展开以下参数。 - **注册的模型名称** : 注册的模型名称,会在原来的基础上加上一个模型版本,并注册为Production。 - **数据路径** : 文件/文件夹的绝对路径, 若文件需以.csv结尾(自动切分训练集与测试集), 文件夹需包含train.csv和test.csv(建议方式,用户应自行构建测试集用于模型评估)。 详细的参数列表如下: - - [lr](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) + - [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) - [SVM](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html?highlight=svc#sklearn.svm.SVC) - [lightgbm](https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMClassifier.html#lightgbm.LGBMClassifier) - [xgboost](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBClassifier) @@ -77,8 +76,7 @@ MLflow 组件用于执行 MLflow 任务,目前包含Mlflow Projects, 和MLflow **任务参数** - **mlflow server tracking uri** :MLflow server 的连接, 默认 http://localhost:5000。 -- **任务类型** : 运行的任务类型,目前包括基础算法与AutoML, 后续将会支持用户自定义的MLflow Project。 -- **实验名称** :任务运行时所在的实验,若无则创建。 +- **实验名称** :任务运行时所在的实验,若实验不存在,则创建。若实验名称为空,则设置为`Default`, 与 MLflow 一样。 - **注册模型** :是否注册模型,若选择注册,则会展开以下参数。 - **注册的模型名称** : 注册的模型名称,会在原来的基础上加上一个模型版本,并注册为Production。 - **数据路径** : 文件/文件夹的绝对路径, 若文件需以.csv结尾(自动切分训练集与测试集), 文件夹需包含train.csv和test.csv(建议方式,用户应自行构建测试集用于模型评估)。 @@ -88,6 +86,24 @@ MLflow 组件用于执行 MLflow 任务,目前包含Mlflow Projects, 和MLflow - **AutoML工具** : 使用的AutoML工具,目前支持 [autosklearn](https://github.com/automl/auto-sklearn) , [flaml](https://github.com/microsoft/FLAML) +#### Custom projects + +![mlflow-custom-project-template.png](/img/tasks/demo/mlflow-custom-project-template.png) + +**任务参数** + +- **mlflow server tracking uri** :MLflow server 的连接, 默认 http://localhost:5000。 +- **实验名称** :任务运行时所在的实验,若实验不存在,则创建。若实验名称为空,则设置为`Default`, 与 MLflow 一样。 +- **参数** : `mlflow run`中的 --param-list 如 `-P learning_rate=0.2 -P colsample_bytree=0.8 -P subsample=0.9` +- **运行仓库** : MLflow Project的仓库地址,可以为github地址,或者worker上的目录, 如Mlflow project位于子目录,可以添加 `#` 隔开, 如 `https://github.com/mlflow/mlflow#examples/xgboost/xgboost_native` +- **项目版本** : 对应项目中git版本管理中的版本,默认 master + +现在你可以使用这个功能来运行github上所有的MLflow Projects (如 [MLflow examples](https://github.com/mlflow/mlflow/tree/master/examples) )了。你也可以创建自己的机器学习库,用来复用你的研究成果,以后你就可以使用DolphinScheduler来一键操作使用你的算法库。 + +实际运行界面如下 + +![mlflow-custom-project.png](/img/tasks/demo/mlflow-custom-project.png) + ### MLflow Models diff --git a/docs/img/tasks/demo/mlflow-custom-project-template.png b/docs/img/tasks/demo/mlflow-custom-project-template.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb2d6f73253aea87e2fc83a654a2d6e8da6b5d5 GIT binary patch literal 66296 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 !65(P7j4#p}z@I8 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 literal 0 HcmV?d00001 diff --git a/docs/img/tasks/demo/mlflow-custom-project.png b/docs/img/tasks/demo/mlflow-custom-project.png new file mode 100644 index 0000000000000000000000000000000000000000..54a8cb0ab881acf0276a051dfa69ce218d5089a8 GIT binary patch literal 84087 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 qOT=smUnh+b7eP}?KK3;N2gjH { experimentNameSpan.value = model.isProjects ? 12 : 0 - registerModelSpan.value = model.isProjects ? 6 : 0 mlflowJobTypeSpan.value = model.isProjects ? 12 : 0 paramsSpan.value = model.isProjects ? 24 : 0 - dataPathSpan.value = model.isProjects ? 24 : 0 + registerModelSpan.value = + model.isProjects && model.mlflowJobType != 'CustomProject' ? 6 : 0 + dataPathSpan.value = + model.isProjects && model.mlflowJobType != 'CustomProject' ? 24 : 0 } watch( - () => [model.mlflowTaskType, model.registerModel], + () => [model.mlflowTaskType, model.mlflowJobType], () => { setFlag() resetSpan() @@ -123,7 +125,8 @@ export function useMlflowProjects(model: { } }, ...useBasicAlgorithm(model), - ...useAutoML(model) + ...useAutoML(model), + ...useCustomProject(model) ] } @@ -144,7 +147,7 @@ export function useBasicAlgorithm(model: { } const resetSpan = () => { - algorithmSpan.value = model.isBasicAlgorithm ? 12 : 0 + algorithmSpan.value = model.isBasicAlgorithm ? 24 : 0 searchParamsSpan.value = model.isBasicAlgorithm ? 24 : 0 } @@ -155,6 +158,8 @@ export function useBasicAlgorithm(model: { resetSpan() } ) + setFlag() + resetSpan() return [ { @@ -204,6 +209,10 @@ export function useAutoML(model: { [field: string]: any }): IJsonItem[] { resetSpan() } ) + + setFlag() + resetSpan() + return [ { type: 'select', @@ -215,6 +224,60 @@ export function useAutoML(model: { [field: string]: any }): IJsonItem[] { ] } +export function useCustomProject(model: { [field: string]: any }): IJsonItem[] { + const { t } = useI18n() + + const mlflowProjectRepositorySpan = ref(0) + const mlflowProjectVersionSpan = ref(0) + const customParamsSpan = ref(0) + + const setFlag = () => { + model.isCustomProject = + model.mlflowJobType === 'CustomProject' && + model.mlflowTaskType === 'MLflow Projects' + ? true + : false + } + + const resetSpan = () => { + mlflowProjectRepositorySpan.value = model.isCustomProject ? 24 : 0 + mlflowProjectVersionSpan.value = model.isCustomProject ? 12 : 0 + customParamsSpan.value = model.isCustomProject ? 24 : 0 + } + + watch( + () => [model.mlflowTaskType, model.mlflowJobType], + () => { + setFlag() + resetSpan() + } + ) + + setFlag() + resetSpan() + + return [ + { + type: 'input', + field: 'mlflowProjectRepository', + name: t('project.node.mlflowProjectRepository'), + span: mlflowProjectRepositorySpan, + props: { + placeholder: t('project.node.mlflowProjectRepository_tips') + } + }, + { + type: 'input', + field: 'mlflowProjectVersion', + name: t('project.node.mlflowProjectVersion'), + span: mlflowProjectVersionSpan, + props: { + placeholder: t('project.node.mlflowProjectVersion_tips') + } + } + ] +} + export const MLFLOW_JOB_TYPE = [ { label: 'BasicAlgorithm', @@ -223,6 +286,10 @@ export const MLFLOW_JOB_TYPE = [ { label: 'AutoML', value: 'AutoML' + }, + { + label: 'Custom Project', + value: 'CustomProject' } ] export const ALGORITHM = [ diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts index 1b831ad7ee..1d03d650b3 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/format-data.ts @@ -351,6 +351,8 @@ export function formatParams(data: INodeData): { taskParams.deployType = data.deployType taskParams.deployPort = data.deployPort taskParams.deployModelKey = data.deployModelKey + taskParams.mlflowProjectRepository = data.mlflowProjectRepository + taskParams.mlflowProjectVersion = data.mlflowProjectVersion } if (data.taskType === 'PIGEON') { diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-mlflow.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-mlflow.ts index e043fe1a8e..10bb1893c9 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-mlflow.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/tasks/use-mlflow.ts @@ -43,11 +43,13 @@ export function useMlflow({ workerGroup: 'default', algorithm: 'svm', mlflowTrackingUri: 'http://127.0.0.1:5000', - mlflowTaskType: 'MLflow Models', + mlflowTaskType: 'MLflow Projects', deployType: 'MLFLOW', deployPort: '7000', - mlflowJobType: 'AutoML', + mlflowJobType: 'CustomProject', + mlflowProjectVersion: 'master', automlTool: 'flaml', + mlflowCustomProjectParameters: [], delayTime: 0, timeout: 30 } as INodeData) diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts b/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts index bfe7b2bc9f..8d595a5737 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/types.ts @@ -330,6 +330,8 @@ interface ITaskParams { automlTool?: string registerModel?: boolean mlflowTaskType?: string + mlflowProjectRepository?: string + mlflowProjectVersion?: string deployType?: string deployPort?: string deployModelKey?: string