元模型来源
解释说明
创建模型时,选择不同来源的元模型,需要配置的参数不同。
- 从训练中选择
如果您在ModelArts中创建训练作业,并完成模型训练。在得到满意的模型后,可以将训练后得到的模型创建为模型,用于部署上线。
- 从容器镜像中选择
针对ModelArts目前不支持的AI引擎,可以通过模型镜像的方式将本地的模型导入ModelArts。通过配置健康检查,支持在线服务进行无损滚动升级。
- 从对象存储服务(OBS)中选择
如果您使用常用引擎在本地完成模型开发和训练,可以将您的模型上传至OBS中,直接用于部署上线。ModelArts预置镜像支持的AI引擎及其Runtime请参见推理支持的AI引擎。
模型来源的区别
| 特征 | 编写配置文件 | 设置模型/镜像存储路径 | 支持非典型AI引擎 |
|---|---|---|---|
| 从训练中选择 | x | x | x |
| 从容器镜像中选择 | x | √ | √ |
| 从对象存储服务(OBS)中选择 | √(可选) | √ | x |
注:“√”表示需要/支持,“x”表示不需要/不支持
常见问题
- 使用从OBS导入元模型时,模型包有哪些规范?
在模型管理创建模型时,如果是从OBS中导入元模型,则需要符合一定的模型包规范。
- 模型包里面必须包含“model”文件夹,“model”文件夹下面放置模型文件、模型配置文件、模型推理代码。
- 模型文件必须要存在。
- 模型配置文件必须存在,文件名固定为“config.json”,有且只有一个,模型配置文件编写请参见模型配置文件编写说明。
- 模型推理代码文件必选,文件名固定为“customize_service.py”,有且只能有一个,模型推理代码编写请参见模型推理代码编写说明。
从OBS导入TensorFlow架构的模型包结构示例
发布该模型时只需要指定到“ocr”目录。
OBS桶/目录名 |── ocr | ├── model 必选: 固定子目录名称,用于放置模型相关文件 | │ ├── <<自定义python包>> 可选:用户自有的Python包,在模型推理代码中可以直接引用 | │ ├── saved_model.pb 必选: protocol buffer格式文件,包含该模型的图描述 | │ ├── variables 对*.pb模型主文件而言必选;固定子目录名称,包含模型的权重偏差等信息 | │ │ ├── variables.index 必选 | │ │ ├── variables.data-00000-of-00001 必选 | │ ├──config.json 必选:模型配置文件,文件名称固定为config.json, 只允许放置一个 | │ ├──customize_service.py 必选:模型推理代码,文件名称固定为customize_service.py, 只允许放置一个,customize_service.py依赖的文件可以直接放model目录下
更多示例可参见模型包示例。
- 使用从容器镜像中导入元模型时,应该如何制作并上传模型镜像?
针对您本地开发的模型,在制作镜像时需满足ModelArts定义的创建模型的自定义镜像规范。
完成镜像制作后,您需要将模型镜像上传至容器镜像服务(SWR)。SWR是一种支持镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能。
操作示例可参考使用自定义镜像创建的模型部署服务。
- 导入的元模型有大小限制吗?
ModelArts部署使用的是容器化部署,容器运行时有空间大小限制,当用户的模型文件或者其他自定义文件,系统文件超过Docker size大小时,会提示镜像内空间不足。
当前公共资源池容器Docker size的大小最大支持10G,专属资源池Docker size的大小最大支持30G。
如果使用的是OBS导入或者训练导入,则包含基础镜像、模型文件、代码、数据文件和下载安装软件包的大小总和。
如果使用的是自定义镜像导入,则包含解压后镜像和镜像下载文件的大小总和。