创建与删除模型

本文介绍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

模型名称

  • 大小写不敏感,不能有特殊字符,只能包含a~z、A~Z、数字和下划线(_)。建议以字母开头,名称的长度不超过256字节。

  • 同一个project/schema下模型名不能重复。

version_name

模型版本名称

  • 大小写不敏感,不能有特殊字符,只能包含a~z、A~Z、数字和下划线(_)。建议以字母开头,名称的长度不超过256字节,不支持版本名指定为default_version。

  • 第一次创建模型及模型版本时,该版本会被作为模型的默认版本(DEFAULT_VERSION)。

input_col_name

模型版本的输入列名

列名大小写不敏感,不能有特殊字符,只能包含a~z、A~Z、数字、下划线(_)或中文。建议以字母开头,名称的长度不超过128字节,否则报错。

注意:当模型来源类型为导入模型时,必填。

input_date_type

模型版本的输入列的数据类型

支持BIGINT、DOUBLE、STRING、BINARY等多种数据类型,详情请参见数据类型版本说明

注意:当模型来源类型为导入模型时,必填。

model_source_type

模型来源类型

对同一个模型,创建后不允许修改,当前支持取值:

  • IMPOR:导入模型。

  • REMOTE:远程模型。

model_type

模型类型

对同一个模型,创建后不允许修改,不同模型来源支持的取值不同。

当模型来源为导入模型时,支持取值:

  • BOOSTED_TREE_REGRESSOR:XGBoost回归模型。

  • BOOSTED_TREE_CLASSIFIER:XGBoost分类模型。

当模型来源为远端模型时,支持取值:

  • LLM:大语言模型。

  • MLLM:多模态大语言模型。

comment

模型注释信息

注释内容为长度不超过1024字节的有效字符串,否则报错。

说明

创建模型时,指定的模型注释会同时作为模型的第一个版本注释。

导入模型参数

参数

是否必填

说明

备注

location

模型文件的OSS路径

指定要导入的模型文件在OSS对象存储的路径信息。仅支持OSS内网地址,例如 LOCATION = 'oss://oss-cn-shanghai-internal.aliyuncs.com/test-mode-bucket/'

rolearn

OSS访问认证角色

指定访问存储模型文件的OSS路径的RAM角色认证信息,例如 ROLEARN = 'acs:ram::139******728:role/aliyunodpsdefaultrole'

使用前,请确保已将OSS的数据相关权限赋予MaxCompute的访问账号。

远程模型参数

参数

是否必填

说明

备注

tasks

任务类型

支持取值如下:

  • text-generation

  • chat

  • sentence-embedding

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 EASQwen2.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';
说明

模型创建完成后,支持通过SHOW语句及DESC语句查看对应的模型列表模型详情

删除模型

注意事项

  • MaxCompute公共模型归属于MaxCompute系统账号下的公共项目,不支持用户手动执行删除操作。

  • 删除模型,会同时删除模型下的全部版本。

  • 模型删除后无法恢复,请谨慎操作,确保模型当前所有版本均未进行任何推理调用任务,再执行删除操作。

命令格式

DROP model [IF EXISTS] <model_name>;

参数说明

参数

是否必填

说明

IF EXISTS

如果不指定IF EXISTS且模型不存在,则返回异常。如果指定IF EXISTS,无论模型是否存在,均返回成功。

model_name

待删除的模型名称。公共模型不支持删除。

使用示例

DROP model PAI_EAS_Qwen25_Omni_3B;