从OBS中导入模型文件创建模型
针对使用常用框架完成模型开发和训练的场景,可以将您的模型导入至ModelArts中,创建为模型,并进行统一管理。
约束与限制
- 针对创建模型的模型,需符合ModelArts的模型包规范,推理代码和配置文件也需遵循ModelArts的要求,详细说明请参见模型包结构介绍、模型配置文件编写说明、模型推理代码编写说明。
- 使用容器化部署,导入的元模型有大小限制,详情请参见导入模型对于镜像大小限制。
前提条件
- 已完成模型开发和训练,使用的AI引擎为ModelArts支持的类型和版本,详细请参见推理支持的AI引擎。
- 已完成训练的模型包,及其对应的推理代码和配置文件,且已上传至OBS目录中。
- 确保您使用的OBS与ModelArts在同一区域。
创建模型操作步骤
- 登录ModelArts管理控制台,在左侧导航栏中选择“模型管理”,进入模型列表页面。
- 单击左上角的“创建模型”,进入“创建模型”页面。
- 在“创建模型”页面,填写相关参数。
- 填写模型基本信息,详细参数说明请参见表1。
表1 模型基本信息参数说明 参数名称
说明
名称
模型名称。支持1~64位可见字符(含中文),名称可以包含字母、中文、数字、中划线、下划线。
版本
设置所创建模型的版本。第一次导入时,默认为0.0.1。
说明:模型创建完成后,可以通过创建新版本,导入不同的元模型进行调优。
描述
模型的简要描述。
- 填写元模型来源及其相关参数。当“元模型来源”选择“从对象存储服务(OBS)中选择”时,其相关的参数配置请参见表2。
针对从OBS导入的元模型,ModelArts要求根据模型包规范,编写推理代码和配置文件,并将推理代码和配置文件放置元模型存储的“model”文件夹下。如果您选择的目录下不符合模型包规范,将无法创建模型。
图1 从OBS中选择元模型
表2 元模型来源参数说明 参数
说明
“元模型来源”
选择“从对象存储服务(OBS)中选择”。
“选择元模型”
选择元模型存储的OBS路径。
OBS路径不能含有空格,否则创建模型会失败。
“AI引擎”
根据您选择的元模型存储路径,将自动关联出元模型使用的“AI引擎”。
“容器调用接口”
当“AI引擎”选择“Custom”时,才会显示该参数。
模型提供的推理接口所使用的协议和端口号,缺省值是HTTPS和8080,端口和协议需要根据模型实际定义的推理接口进行配置。
“健康检查”
用于指定模型的健康检查。使用Custom引擎时,会显示该参数。使用非Custom引擎时,选择了“AI引擎”和“运行环境”后,部分支持健康检查的引擎会显示该参数,请以实际界面显示为准。
当使用Custom引擎时,引擎包需要选择容器镜像,仅当容器镜像中配置了健康检查接口,才能配置“健康检查”,否则会导致模型创建失败。
当前支持以下三种探针:
- 启动探针:用于检测应用实例是否已经启动。如果提供了启动探针(startup probe),则禁用所有其他探针,直到它成功为止。如果启动探针失败,将会重启实例。如果没有提供启动探针,则默认状态为成功Success。
- 就绪探针:用于检测应用实例是否已经准备好接收流量。如果就绪探针失败,即实例未准备好,会从服务负载均衡的池中剔除该实例,不会将流量路由到该实例,直到探测成功。
- 存活探针:用于检测应用实例内应用程序的健康状态。如果存活探针失败,即应用程序不健康,将会自动重启实例。
3种探针的配置参数均为:
- 检查方式:仅支持“HTTP请求检查”。
- 健康检查URL:健康检查的URL固定为“/health”。
- 健康检查周期(秒):填写1-2147483647之前的整数,单位为秒。
- 延迟时间(秒):实例启动后,延迟执行健康检查的时间。填写0-2147483647之间的整数,单位为秒,不能为空。
- 超时时间 (秒): 每次检查的超时时间,填写0-2147483647之间的整数,单位为秒。
- 最大失败次数:填写1-2147483647之间的整数。在服务启动阶段,当健康检查请求连续失败达到所填次数后,服务会进入异常状态;在服务运行阶段,当健康检查请求连续失败达到所填次数后,服务会进入告警状态。
说明:使用Custom引擎时需要符合自定义引擎规范,请参见使用自定义引擎创建模型。
当模型配置了健康检查,部署的服务在收到停止指令后,会延后3分钟才停止。
“动态加载”
用于实现快速部署和快速更新模型。如果勾选“动态加载”,则模型文件和运行时依赖仅在实际部署时拉取。单个模型文件大小超过5GB,需要配置“动态加载”。
“运行时依赖”
罗列选中模型对环境的依赖。例如依赖“tensorflow”,安装方式为“pip”,其版本必须为1.8.0及以上版本。
“模型说明”
为了帮助其他模型开发者更好的理解及使用您的模型,建议您提供模型的说明文档。单击“添加模型说明”,设置“文档名称”及其“URL”。模型说明支持增加3条。
“配置文件”
系统默认关联您存储在OBS中的配置文件。打开开关,您可以直接在当前界面查看或编辑模型配置文件。
说明:该功能即将下线,后续请根据“AI引擎”、“运行时依赖”和“apis定义”修改模型的配置信息。
“部署类型”
选择此模型支持部署服务的类型,部署上线时只支持部署为此处选择的部署类型,例如此处只选择在线服务,那您导入后只能部署为在线服务。当前支持“在线服务”、“批量服务”和“边缘服务”。
“启动命令”
选填参数,指定模型的启动命令,您可以自定义该命令。
如果使用预置的AI引擎,如果启动命令没有填写,会使用默认的启动命令,默认的启动命令见表1。如果填写了启动命令,新填写的启动命令覆盖默认启动命令。
说明:包含字符$,|,>,<,`,!,\n,\,?,-v,--volume,--mount,--tmpfs,--privileged,--cap-add的启动命令,在模型发布时将会置空。
“apis定义”
提供模型对外Restfull api数据定义,用于定义模型的输入、输出格式。apis定义填写规范请参见模型配置文件编写说明中的apis参数说明,示例代码请参见apis参数代码示例。
- 确认信息填写无误,单击“立即创建”,完成模型创建。
在模型列表中,您可以查看刚创建的模型及其对应的版本。当模型状态变更为“正常”时,表示模型创建成功。在此页面,您还可以创建新版本、快速部署服务、发布模型等操作。
- 填写模型基本信息,详细参数说明请参见表1。
后续操作
部署服务:在“模型列表”中,单击模型的操作列的“部署”,在对应版本所在行,单击“操作”列的部署按钮,可以将模型部署上线为创建模型时所选择的部署类型。