模型算子¶
模型算子用于在智能任务流产品中实现模型新建功能(类比智能集市产品中的注册模型)、模型版本上架、模型实例创建、单一模型版本部署上线等系统功能,以及基于已部署上线的模型服务或模型文件进行预测的功能。实现从模型训练到服务部署、以及基于训练的模型进行预测的业务闭环。
智能任务流提供以下几种与注册和部署机器学习模型相关的算子:
Model(模型注册)
Mlflow Model Version Register(模型版本上架)
Docker Model Version Register(模型版本上架)
S2i Model Version Register(模型版本上架)
Thirdparty Model Version Register(模型版本上架)
Model Test(模型测试)
Single Model Deployment(单个模型版本部署)
Model Instance(创建模型部署实例)
Service Prediction(基于模型部署服务进行预测)
External Mlflow Prediction(基于外部环境通过 Mlflow 记录的模型文件进行预测)
Internal Mlflow Prediction(基于内部环境通过 Mlflow 记录的模型文件进行预测)
Model 算子¶
Model 算子用于新建模型(类似智能集市中的模型注册功能)。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
category |
必需 |
String |
模型类目,可选:
|
model_name |
必需 |
String |
模型名称,支持小写字母、数字、短横线,不超过32个字符。 |
input_data_type |
必需 |
String |
输入数据类型,可选:Text、Tabular、或 Image。 |
scope |
必需 |
String |
模型应用范围,可选:Private 或 Public。 |
technique |
必需 |
String |
模型技术归属,可选:
|
usecase |
必需 |
String |
模型应用领域,可选:
|
publisher |
必需 |
String |
模型创建人名称 |
input_format |
必需 |
String |
以JSON格式的模型特征输入参数,参见 input_format 示例。 |
output_format |
必需 |
String |
以JSON格式的模型目标输出,参见 output_format 示例。 |
interface |
必需 |
String |
API 类型,可选 REST 或 GRPC(即模型服务API的调用方式)。 |
error_on_exist |
可选 |
String |
指定在模型名称存在时,是否跳过不报错。当选为 |
input_format 示例¶
[
{
"name":"X-basic.hour",
"dtype":"int",
"ftype":"continuous",
"range": [
0,
23
],
"annotations":"",
"repeat":null,
"defaultValue":10
},
{
"name":"X-basic.horizon",
"dtype":"int",
"ftype":"continuous",
"range": [
0,
50
],
"annotations":"",
"repeat":null,
"defaultValue":8
}
]
output_format 示例¶
[
{
"name": "test",
"dtype": "float",
"ftype": "continuous",
"range": [
1,
11
],
"annotations": null,
"repeat": 4,
"defaultValue": 1
}
]
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
model_name_output |
String |
输出创建的模型名称,用于 Mlflow Model Version Register、 等算子的输入。 |
Mlflow Model Version Register 算子¶
Mlflow Model Version Register 算子用于通过 MLflow 导入方式构建模型版本的文件,上架模型版本。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
input_data |
必需 |
String |
模型版本参数输入,参见 input_data 示例。 |
version_rule |
必需 |
String |
模型版本名称规则,默认为time,根据当前时间戳进行版本命名。 |
annotation |
可选 |
String |
模型版本描述信息。 |
architecture |
必需 |
String |
运行模型版本的基础硬件,可选:x86 或 arm。 |
coprocessor |
可选 |
String |
选择运行模型版本的协处理器,可选:GPU、TPV、VPU 或 None。 |
env_param |
可选 |
List |
环境参数,参见 env_param 示例。 |
framework |
必需 |
String |
运行模型版本的计算框架,可选:sklearn、tensorflow、pytorch、h2o、spark、或 other。 |
language |
必需 |
String |
开发模型版本的语言,可选:python3 或 java8。 |
model_reference |
必需 |
String |
模型版本所属模型的名称,来自 Model 算子的输出的 |
publisher |
必需 |
String |
模型版本创建人名称。 |
minio_paths |
可选 |
List |
minio路径,参见 minio_path 示例。 |
input_data 示例¶
{
"data": {
"names": [
"AGE",
"RACE",
"DCAPS",
"VOL"
],
"ndarray": [
[
68,
2,
2,
0
]
]
}
}
env_param 示例¶
[
{
"name": "string",
"value": "string",
"annotations": "string"
}
]
minio_paths 示例¶
[
{
"bucket": "xxx",
"path": "xxx",
"destination": "xxx"
}
]
输出参数说明¶
参数 |
说明 |
---|---|
create_model_revision |
模型版本是否构建成功。 |
model_revision_name |
已上架模型版本名称。 |
model_builder_name |
模型构建名称。 |
Docker Model Version Register 算子¶
Docker Model Version Register 算子用于通过容器镜像文件导入方式构建模型版本的文件,上架模型版本。可以从 Artifacts 源和 Git 源的多个层级目录中选择构建模型需要的目标文件。部署模型时,系统将使用指定的镜像文件部署成服务。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
input_data |
必需 |
String |
模型版本参数输入,参见 input_data 示例。 |
version_rule |
必需 |
String |
模型版本名称规则,默认为time,根据当前时间戳进行版本命名。 |
annotation |
可选 |
String |
模型版本描述信息。 |
architecture |
必需 |
String |
运行模型版本的基础硬件,可选:x86 或 arm。 |
coprocessor |
可选 |
String |
选择运行模型版本的协处理器,可选:GPU、TPV、VPU 或 None。 |
env_param |
可选 |
List |
环境参数,参见 env_param 示例。 |
framework |
必需 |
String |
运行模型版本的计算框架,可选:sklearn、tensorflow、pytorch、h2o、spark、或 other。 |
language |
必需 |
String |
开发模型版本的语言,可选:python3 或 java8。 |
model_reference |
必需 |
String |
模型版本所属模型的名称,来自 Model 算子的输出的 |
publisher |
必需 |
String |
模型版本创建人名称。 |
minio_paths |
可选 |
List |
minio路径,参见 minio_path 示例。 |
git_setting |
可选 |
List |
Git源设置,参见 git_setting 示例。 |
docker_dockerfile |
可选 |
String |
镜像文件的名称。 |
git_setting 示例¶
[
{
"url": "xxx",
"user": "xxx",
"token": "xxx",
"branch": "xxx",
"paths": [
{
"path": "xxx",
"destination": "xxx"
}
]
}
]
输出参数说明¶
参数 |
说明 |
---|---|
create_model_revision |
模型版本是否构建成功。 |
model_revision_name |
已上架模型版本名称。 |
model_builder_name |
模型构建名称。 |
S2i Model Version Register 算子¶
S2i Model Version Register 算子用于通过使用 s2i build 从源代码创建模型版本 Docker 镜像,上架模型版本。可以从 Artifacts 源和 Git 源的多个层级目录中选择构建模型需要的目标文件。部署模型时,系统将使用指定的镜像文件部署成服务。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
input_data |
必需 |
String |
模型版本参数输入,参见 input_data 示例。 |
version_rule |
必需 |
String |
模型版本名称规则,默认为time,根据当前时间戳进行版本命名。 |
annotation |
可选 |
String |
模型版本描述信息。 |
architecture |
必需 |
String |
运行模型版本的基础硬件,可选:x86 或 arm。 |
coprocessor |
可选 |
String |
选择运行模型版本的协处理器,可选:GPU、TPV、VPU 或 None。 |
env_param |
可选 |
List |
环境参数,参见 env_param 示例。 |
framework |
必需 |
String |
运行模型版本的计算框架,可选:sklearn、tensorflow、pytorch、h2o、spark、或 other。 |
language |
必需 |
String |
开发模型版本的语言,可选:python3 或 java8。 |
model_reference |
必需 |
String |
模型版本所属模型的名称,来自 Model 算子的输出的 |
publisher |
必需 |
String |
模型版本创建人名称。 |
minio_paths |
可选 |
List |
minio路径,参见 minio_path 示例。 |
git_setting |
可选 |
List |
Git源设置,参见 git_setting 示例。 |
s2i_model |
可选 |
String |
s2i 模型文件的名称。 |
输出参数说明¶
参数 |
说明 |
---|---|
create_model_revision |
模型版本是否构建成功。 |
model_revision_name |
已上架模型版本名称。 |
model_builder_name |
模型构建名称。 |
Thirdparty Model Version Register 算子¶
Thirdparty Model Version Register 算子用于通过在第三方自定义的系统上将模型打包成为 Docker 镜像文件,上架模型版本。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
input_data |
必需 |
String |
模型版本参数输入,参见 input_data 示例。 |
version_rule |
必需 |
String |
模型版本名称规则,默认为time,根据当前时间戳进行版本命名。 |
annotation |
可选 |
String |
模型版本描述信息。 |
architecture |
必需 |
String |
运行模型版本的基础硬件,可选:x86 或 arm。 |
coprocessor |
可选 |
String |
选择运行模型版本的协处理器,可选:GPU、TPV、VPU 或 None。 |
env_param |
可选 |
List |
环境参数,参见 env_param 示例。 |
framework |
必需 |
String |
运行模型版本的计算框架,可选:sklearn、tensorflow、pytorch、h2o、spark、或 other。 |
language |
必需 |
String |
开发模型版本的语言,可选:python3 或 java8。 |
model_reference |
必需 |
String |
模型版本所属模型的名称,来自 Model 算子的输出的 |
publisher |
必需 |
String |
模型版本创建人名称。 |
thirdparty_url |
可选 |
String |
加载模型版本文件的地址。 |
输出参数说明¶
参数 |
说明 |
---|---|
create_model_revision |
模型版本是否构建成功。 |
model_revision_name |
已上架模型版本名称。 |
model_builder_name |
模型构建名称。 |
Model Test 算子¶
模型测试算子,用于对已上架的模型版本进行测试。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
input_data |
必需 |
String |
输入JSON格式的模型测试数据。 |
model_builder |
必需 |
String |
模型构建人,来自任一 Model Version Register 算子输出的 |
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
create_model_test |
String |
模型测试名称。 |
model_test_output |
String |
JSON格式的模型测试返回结果。 |
Single Model Deployment 算子¶
模型部署算子,用于将单个模型版本部署上线。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
model_revision |
必需 |
String |
待部署的模型版本名称,来自任一 Model Version Register 算子输出的 |
instance_name |
必需 |
String |
部署实例名称,来自 Model Instance 算子输出的 |
request_cpu |
必需 |
Number |
部署模型版本所需CPU请求值。 |
request_memory |
必需 |
Number |
部署模型版本所需内存请求值。 |
limit_cpu |
必需 |
Number |
部署模型版本所需CPU上限值。 |
limit_memory |
必需 |
Number |
部署模型版本所需内存上限值。 |
timeout |
必需 |
Number |
超时设置。 |
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
create_model_deployment |
String |
部署的模型版本名称。 |
Model Instance 算子¶
部署实例算子,用于创建模型部署实例。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
name |
必需 |
String |
部署实例名称。 |
resource_pool |
必需 |
String |
资源池名称,来自通过 资源管理 申请的资源名称。 |
model_name |
必需 |
String |
模型名称,来自 Model 算子输出的 |
labels |
可选 |
List |
标签列表。 |
description |
可选 |
String |
部署实例描述。 |
deploy_mode |
必需 |
String |
部署模式,仅支持ONLINE(即当前环境部署)。 |
error_on_exist |
必需 |
String |
指定在模型名称存在时,是否跳过不报错。当选为 |
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
instance_name_output |
String |
部署实例名称。 |
Service Prediction 算子¶
实现基于模型部署服务的预测功能。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
model |
必需 |
String |
模型名称。 |
instance |
必需 |
String |
部署实例名称。 |
namespace |
必需 |
String |
资源池名称,来自通过 资源管理 申请的资源名称。 |
data_type |
必需 |
String |
数据类型,可选 csv 或 json。 |
data |
必需 |
File |
输入数据。 |
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
predictions |
File |
输出预测结果。 |
External Mlflow Prediction 算子¶
实现基于外部环境通过 Mlflow 记录的模型文件进行预测的功能。外部环境是指非 EAP 智能实验室里的 Jupyter Lab 环境。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
model_path |
必需 |
Directory |
模型文件路径,可来自 Git Directory 算子的输出。 |
data_type |
必需 |
String |
数据类型,可选 csv 或 json。 |
data |
必需 |
File |
输入数据,支持 json 和 csv 两种格式。 |
requirements |
可选 |
List |
requirements.txt 文件的内容,以List格式输出,如: |
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
predictions |
File |
输出预测结果。 |
Internal Mlflow Prediction 算子¶
实现基于内部环境通过 Mlflow 记录的模型文件进行预测的功能。内部环境是指 EAP 智能实验室里的 Jupyter Lab 环境。
输入参数说明¶
名称 |
必需/可选 |
类型 |
描述 |
---|---|---|---|
minio_paths |
必需 |
List |
模型文件路径,为 minio 上模型文件的路径。 |
data_type |
必需 |
String |
数据类型,可选 csv 或 json。 |
data |
必需 |
File |
输入数据,支持 json 和 csv 两种格式。 |
requirements |
可选 |
List |
requirements.txt 文件的内容,以List格式输出,如: |
输出参数说明¶
名称 |
类型 |
描述 |
---|---|---|
predictions |
File |
输出预测结果。 |