本文介绍MaxCompute模型的创建和删除相关操作命令。
操作 | 功能 | 角色 | 操作入口 |
创建模型 | 在项目下创建MaxCompute模型对象。 | 具备项目创建模型权限(CreateModel)的用户。 | 本文中的命令您可以在如下工具平台执行: |
删除模型 | 在项目下删除已创建的MaxCompute模型对象。 | 具备删除模型权限(Drop)的用户。 |
创建模型
在项目下创建MaxCompute模型及模型版本对象。关于模型与模型版本的详细介绍请参考模型类型。
注意事项
MaxCompute公共模型,归属于MaxCompute系统账号下的公共项目,不需要用户主动执行创建操作,可直接推理使用,具体公共模型列表和使用方法请参考MaxCompute模型。
MaxCompute内部训练模型,目前仅支持通过MaxFrame执行
to_odps_model创建产生,暂不支持使用SQL创建,具体创建方法请参考to_odps_model。
命令格式
创建导入模型(IMPORT MODEL)
CREATE MODEL [ IF NOT EXISTS ] <model_name> WITH VERSION <version_name>
INPUT(<input_col_name> <input_data_type>, ... ) -- 当 MODEL_SOURCE_TYPE 为 IMPORT时 必填
OPTIONS(
MODEL_SOURCE_TYPE = '<model_source_tpye>', -- 取值为IMPORT时,即为导入模型
MODEL_TYPE = '<model_tpye>', -- 导入模型的MODEL_TYPE取值仅支持 BOOSTED_TREE_CLASSIFIER 与 BOOSTED_TREE_REGRESSOR
LOCATION = '<location>',
ROLEARN = '<rolearn>'
)
[COMMENT <model_comment>]; 创建远程模型((REMOTE MODEL)
CREATE MODEL [ IF NOT EXISTS ] <model_name> WITH VERSION <version_name>
[INPUT(<input_col_name> <input_data_type>, ... )]
OPTIONS(
MODEL_SOURCE_TYPE = '<model_source_tpye>', -- 取值为REMOTE时,即为远程模型
MODEL_TYPE = '<model_tpye>', -- 远程模型的 MODEL_TYPE取值仅支持 LLM 与 MLLM
TASKS = '<tasks>' ,
PAI_EAS_MODEL_NAME = '<pai_eas_model_name>',
PAI_EAS_SERVICE_NAME = '<pai_eas_service_name>',
ENDPOINT= '<endpoint>',
APIKEY = '<apikey>',
PAI_EAS_SYNC_MODE = 'true'
[,PAI_EAS_SYNC_REQUEST_TIMEOUT = '5000']
)
[COMMENT <model_comment>]; 参数说明
通用参数
参数 | 是否必填 | 说明 | 备注 |
model_name | 是 | 模型名称 |
|
version_name | 是 | 模型版本名称 |
|
input_col_name | 否 | 模型版本的输入列名 | 列名大小写不敏感,不能有特殊字符,只能包含a~z、A~Z、数字、下划线(_)或中文。建议以字母开头,名称的长度不超过128字节,否则报错。 注意:当模型来源类型为导入模型时,必填。 |
input_date_type | 否 | 模型版本的输入列的数据类型 | 支持BIGINT、DOUBLE、STRING、BINARY等多种数据类型,详情请参见数据类型版本说明。 注意:当模型来源类型为导入模型时,必填。 |
model_source_type | 是 | 模型来源类型 | 对同一个模型,创建后不允许修改,当前支持取值:
|
model_type | 是 | 模型类型 | 对同一个模型,创建后不允许修改,不同模型来源支持的取值不同。 当模型来源为导入模型时,支持取值:
当模型来源为远端模型时,支持取值:
|
comment | 否 | 模型注释信息 | 注释内容为长度不超过1024字节的有效字符串,否则报错。 说明 创建模型时,指定的模型注释会同时作为模型的第一个版本注释。 |
导入模型参数
参数 | 是否必填 | 说明 | 备注 |
location | 是 | 模型文件的OSS路径 | 指定要导入的模型文件在OSS对象存储的路径信息。仅支持OSS内网地址,例如 |
rolearn | 是 | OSS访问认证角色 | 指定访问存储模型文件的OSS路径的RAM角色认证信息,例如 使用前,请确保已将OSS的数据相关权限赋予MaxCompute的访问账号。
|
远程模型参数
参数 | 是否必填 | 说明 | 备注 |
tasks | 是 | 任务类型 | 支持取值如下:
|
pai_eas_model_name | 是 | PAI EAS部署的模型名称 | 可通过PAI EAS控制台,查看已部署模型及服务名称,并在调用信息页面获取对应方位地址和Token信息 |
pai_eas_service_name | 是 | PAI EAS模型服务名称 | |
endpoint | 是 | PAI EAS 服务的访问地址 | |
apikey | 是 | PAI EAS 服务Token | |
pai_eas_sync_mode | 是 | 控制服务处理请求的模式 | 仅支持true,表示同步模式 |
pai_eas_sync_request_timeout | 否 | 同步请求的超时时间 | 单位为毫秒,默认值为5000,范围5000-1800000。 |
使用示例
示例1:创建远程模型,使用已部署在PAI EAS的Qwen2.5-Omni-3B模型服务,指定模型可接受的INPUT输入参数为BINARY类型图片文件,用于执行图生文任务,完整示例请参考使用MaxCompute远程模型自动生成电商选品描述。
CREATE MODEL PAI_EAS_Qwen25_Omni_3B WITH VERSION v1
INPUT(data BINARY, promt STRING) -- 指定模型可接受的输入参数为BINARY类型图片文件
OPTIONS(
MODEL_SOURCE_TYPE = 'REMOTE',
MODEL_TYPE = 'MLLM',
TASKS = 'text-generation',
PAI_EAS_MODEL_NAME = 'Qwen2.5-Omni-3B',
PAI_EAS_SERVICE_NAME = 'test_remote_model',
ENDPOINT = 'http://11261230********.cn-shanghai.pai-eas.aliyuncs.com/api/predict/test_remote_model',
APIKEY = '<YOUR-API-KEY>',
PAI_EAS_SYNC_MODE = 'true'
)
COMMENT "PAI EAS remote model binary input";示例2:创建导入模型,指定已经完成训练的XGboost分类模型文件并已上传至对应的OSS路径。
CREATE MODEL test_xgboost_classifier WITH VERSION V1
INPUT (f1 int,f2 int,f3 int,f4 int)
OPTIONS(
MODEL_SOURCE_TYPE = 'IMPORT',
MODEL_TYPE = 'BOOSTED_TREE_CLASSIFIER',
LOCATION = 'oss://oss-cn-shanghai-internal.aliyuncs.com/********/xgboost_classifier/',
ROLEARN = 'acs:ram::11261230********:role/aliyunodpsdefaultrole'
)
COMMENT 'Import XGBoost model v1';删除模型
注意事项
MaxCompute公共模型归属于MaxCompute系统账号下的公共项目,不支持用户手动执行删除操作。
删除模型,会同时删除模型下的全部版本。
模型删除后无法恢复,请谨慎操作,确保模型当前所有版本均未进行任何推理调用任务,再执行删除操作。
命令格式
DROP model [IF EXISTS] <model_name>;参数说明
参数 | 是否必填 | 说明 |
IF EXISTS | 否 | 如果不指定IF EXISTS且模型不存在,则返回异常。如果指定IF EXISTS,无论模型是否存在,均返回成功。 |
model_name | 是 | 待删除的模型名称。公共模型不支持删除。 |
使用示例
DROP model PAI_EAS_Qwen25_Omni_3B;