AI 要规模化走进各行各业,必须要降低AI模型开发难度和门槛。当前仅少数算法工程 师和研究员掌握AI的开发和调优能力,并且大多数算法工程师仅掌握算法原型开发能 力,缺少相关的原型到真正产品化、工程化的能力。而对于大多数业务开发者来说,
更是不具备AI算法的开发和参数调优能力。这导致大多数企业都不具备AI开发能力。
ModelArts通过机器学习的方式帮助不具备算法开发能力的业务开发者实现算法的开 发,基于迁移学习、自动神经网络架构搜索实现模型自动生成,通过算法实现模型训 练的参数自动化选择和模型自动调优的自动学习功能,让零AI基础的业务开发者可快 速完成模型的训练和部署。依据开发者提供的标注数据及选择的场景,无需任何代码 开发,自动生成满足用户精度要求的模型。可支持图片分类、物体检测、预测分析、
声音分类场景。可根据最终部署环境和开发者需求的推理速度,自动调优并生成满足 要求的模型。
图4-5 自动学习流程
ModelArts 的自动学习不止为入门级开发者使用设计,还提供了“自动学习白盒化”
的能力,开放模型参数,实现模板化开发。很多资深的开发者说,希望有一款工具,
可以自动生成模型,然后在这个基础上修改,这很像普通软件的模板化开发,在一个 半成品的基础上调优,重新训练模型,提高开发效率。
自动学习的关键技术主要是基于信息熵上限近似模型的树搜索最优特征变换和基于信 息熵上限近似模型的贝叶斯优化自动调参。通过这些关键技术,可以从企业关系型
(结构化)数据中,自动学习数据特征和规律,智能寻优特征&ML模型及参数,准确 性达到甚至专家开发者的调优水平。自动深度学习的关键技术主要是迁移学习(只通 过少量数据生成高质量的模型),多维度下的模型架构自动设计(神经网络搜索和自 适应模型调优),和更快、更准的训练参数自动调优自动训练。
5 ModelArts 支持的 AI 框架
ModelArts的开发环境、训练作业、模型推理(即AI应用管理和部署上线)支持的AI框 架及其版本,不同模块的呈现方式存在细微差异,各模块支持的AI框架请参见如下描 述。
开发环境
开发环境的Notebook,根据不同的工作环境(即不同Python版本),对应支持的AI引 擎和版本有所不同。 线Jupyter Lab访 问
pytorch1.4-cuda10.1-cudnn7-ubuntu18.04 CPU、GPU通用算 法开发和训练基础 镜像,预置AI引擎 PyTorch1.4
CPU/G
PU 是 是
pytorch1.8-cuda10.2-cudnn7-ubuntu18.04 CPU、GPU通用算 法开发和训练基础 镜像,预置AI引擎 PyTorch1.8
CPU/G
PU 是 是
tensorflow2.1-cuda10.1-cudnn7-ubuntu18.04 CPU、GPU通用算 法开发和训练基础 镜像,预置AI引擎 TensorFlow2.1
CPU/G
PU 是 是
tensorflow1.13-cuda10.0-cudnn7-ubuntu18.04 GPU通用算法开发 和训练基础镜像,
预置AI引擎 TensorFlow1.13.1
GPU 是 是
镜像名称 镜像描述 适配芯 线Jupyter Lab访 问
tensorflow1.15- mindspore1.5.1-cann5.0.3-euler2.8-aarch64
Ascend+ARM算法 开发和训练基础镜 像,预置AI引擎 TensorFlow和 MindSpore
Ascend
910 是 是
mindspore1.2.0-openmpi2.1.1-ubuntu18.04 CPU算法开发和训 练基础镜像,预置 AI引擎MindSpore-CPU
CPU 是 是
mindspore1.2.0-cuda10.1-cudnn7-ubuntu18.04 GPU算法开发和训 练基础镜像,预置 AI引擎MindSpore-GPU
GPU 是 是
mlstudio-pyspark2.3.2-ubuntu16.04 CPU算法开发和训 练基础镜像,包含 可以图形化机器学 习算法开发和调测 MLStudio工具,并 预置PySpark2.3.2
CPU 否 是
mlstudio-pyspark2.4.5-ubuntu18.04 CPU算法开发和训 练基础镜像,包含 可以图形化机器学 习算法开发和调测 MLStudio工具,并 预置PySpark2.4.5
CPU 否 是
mindstudio3.0.2-ascend910- cann5.0.2.1-ubuntu18.04-aarch64
Ascend算子开发基 础镜像,预置专业 级算子开发工具 MindStudio,仅支 持SSH连接
Ascend
910 是 否
modelbox1.1.2.1- tensorrt7.1.3-pytorch1.9.1- cuda10.2-cudnn8-euler2.8-aarch64
AI应用开发基础镜 像,预置AI应用编 排引擎ModelBox、
AI引擎PyTorch、
TensorRT和 TensorFlow,仅支 持SSH连接
GPU 是 否
rlstudio1.0.0-ray1.3.0-cuda10.1-ubuntu18.04 CPU、GPU强化学 习算法开发和训练 基础镜像,预置AI 引擎
CPU/G
PU 是 是
镜像名称 镜像描述 适配芯 线Jupyter Lab访 问
cylp0.91.4-cbcpy2.10- ortools9.0-cplex20.1.0-ubuntu18.04
CPU运筹优化求解 器开发基础镜像,
预置cylp,cbcpy,
ortools及cplex
CPU 是 是
mindquantum0.3.1-mindspore1.3.0-ubuntu18.04 MindSpore1.3.0 andMindQuantum0.3.1
CPU 是 是
表5-2 旧版开发环境支持的 AI 引擎
工作环境名称 预置的AI引擎及版本 适配芯片
Multi-Engine 1.0 (python3
Recommended)
MXNet-1.2.1 CPU/GPU PySpark-2.3.2 CPU Pytorch-1.0.0 GPU TensorFlow-1.13.1 CPU/GPU TensorFlow-1.8 CPU/GPU XGBoost-Sklearn CPU Multi-Engine 1.0
(python2) Caffe-1.0.0 CPU/GPU MXNet-1.2.1 CPU/GPU PySpark-2.3.2 CPU PyTorch1.0.0 GPU TensorFlow-1.13.1 CPU/GPU TensorFlow-1.8 CPU/GPU XGBoost-Sklearn CPU Multi-Engine 2.0
(python3) Pytorch-1.4.0 GPU R-3.6.1 CPU/GPU TensorFlow-2.1.0 CPU/GPU Ascend-Powered-Engine
1.0 (python3) MindSpore-1.1.1 Ascend 910 TensorFlow-1.15.0 Ascend 910
训练作业
当前ModelArts同时存在新版训练和旧版训练。新版训练和旧版训练的预置训练引擎存 在差异。ModelArts推荐您使用新版训练创建训练作业。在创建训练作业时,优先使用 新版的预置引擎,如果您需要的引擎仅在旧版支持,也支持您在新版训练中使用旧版 预置引擎。
新版预置引擎命名格式如下:
<训练引擎名称_版本号>-[cpu | <cuda_版本号 | cann_版本号 >]--<py_版本号><操作系统名称_版本号>-<
x86_64 | aarch64>
表5-3 新版训练作业支持的 AI 引擎 工作环境 适配芯片 系统
架构
系统版本 AI引擎与版本 支持的
cuda或 Ascend版 本
TensorFlo
w CPU/GPU x86_6
4 Ubuntu18.0
4 tensorflow_2.1.0- cuda_10.1-py_3.7- ubuntu_18.04-x86_64
cuda10.1
PyTorch CPU/GPU x86_6
4 Ubuntu18.0
4 pytorch_1.8.0- cuda_10.2-py_3.7- ubuntu_18.04-x86_64
cuda10.2
Ascend- Powered-Engine
Ascend91
0 aarch
64 Euler2.8 mindspore_1.3.0- cann_5.0.2-py_3.7-euler_2.8.3-aarch64
cann_5.0.2
mindspore_1.5.1- cann_5.0.3-py_3.7-euler_2.8.3-aarch64
cann_5.0.3
tensorflow_1.15- cann_5.0.2-py_3.7-euler_2.8.3-aarch64
cann_5.0.2
tensorflow_1.15- cann_5.0.3-py_3.7-euler_2.8.3-aarch64
cann_5.0.3
MPI CPU/GPU x86_6
4 Ubuntu18.0
4 mindspore_1.3.0- cuda_10.1-py_3.7- ubuntu_1804-x86_64
cuda_10.1
Horovod GPU x86_6
4 ubuntu_18.
04 horovod_0.20.0- tensorflow_2.1.0- cuda_10.1-py_3.7- ubuntu_18.04-x86_64
cuda_10.1
工作环境 适配芯片 系统 架构
系统版本 AI引擎与版本 支持的
cuda或 Ascend版 本
horovod_0.22.1- pytorch_1.8.0- cuda_10.2-py_3.7- ubuntu_18.04-x86_64
cuda_10.2
表5-4 旧版训练作业支持的 AI 引擎 工作环境 适配芯片 系统架
构
系统版本 AI引擎与版本 支持的
cuda或 Ascend 版本 TensorFlow CPU/GP
U x86_64 Ubuntu16.
04 TF-1.8.0-python3.6 cuda9.0 TF-1.13.1-python3.6 cuda10.
0 TF-2.1.0-python3.6 cuda10.
1 MXNet CPU/GP
U x86_64 Ubuntu16.
04
MXNet-1.2.1-python3.6 cuda9.0 Spark_MLli
b CPU x86_64 Ubuntu16.
04
Spark-2.3.2-python2.7 -
Spark-2.3.2-python3.6 -Ray CPU/GP
U x86_64 Ubuntu16.
04 RAY-0.7.4-python3.6 cuda10.
0
XGBoost-Sklearn CPU x86_64 Ubuntu16.
04 XGBoost-0.80- Sklearn-0.18.1-python2.7
-PyTorch CPU/GP
U x86_64 Ubuntu16.
04
PyTorch-1.0.0-python3.6 cuda9.0
PyTorch-1.3.0-python3.6 cuda10.
0
PyTorch-1.4.0-python3.6 cuda10.
1
Ascend- Powered-Engine
Ascend9
10 aarch6
4 Euler2.8 MindSpore-1.3- can5.0.2-python3.7-euleros2.8-aarch64
21.0.0
工作环境 适配芯片 系统架 构
系统版本 AI引擎与版本 支持的
cuda或 Ascend 版本
TF-1.15-can5.0.2-
python3.7-euleros2.8-aarch64
21.0.0
MindSpore-GPU CPU/GP
U x86_64 Ubuntu18.
04 MindSpore-1.1.0-python3.7
MindSpore-1.2.0-python3.7
cuda10.
1
Caffe CPU/GP
U x86_64 Ubuntu16.
04
Caffe-1.0.0-python2.7 cuda8.0
说明
● Ascend-Powered-Engine仅在“华北-北京四”区域支持。
模型推理
针对导入的模型,创建为AI应用,并在ModelArts完成AI应用推理的。支持如下常用引 擎及版本。
表5-5 支持的常用引擎及其 Runtime 模型使用的引擎
类型
支持的运行环境
(Runtime) 注意事项 TensorFlow python3.6
python2.7
tf1.13-python2.7-gpu tf1.13-python2.7-cpu tf1.13-python3.6-gpu tf1.13-python3.6-cpu tf1.13-python3.7-cpu tf1.13-python3.7-gpu tf2.1-python3.7
● python2.7、python3.6的运行环境 搭载的TensorFlow版本为1.8.0。
● python3.6、python2.7、tf2.1-python3.7,表示该模型可同时在 CPU或GPU运行。其他Runtime的 值,如果后缀带cpu或gpu,表示该 模型仅支持在CPU或GPU中运行。
● 默认使用的Runtime为python2.7。
MXNet python3.7 python3.6 python2.7
● python2.7、python3.6、python3.7 的运行环境搭载的MXNet版本为 1.2.1。
● python2.7、python3.6、
python3.7,表示该模型可同时在 CPU或GPU运行。
● 默认使用的Runtime为python2.7。
模型使用的引擎 类型
支持的运行环境
(Runtime) 注意事项 Caffe python2.7
python3.6 python3.7 python2.7-gpu python3.6-gpu python3.7-gpu python2.7-cpu python3.6-cpu python3.7-cpu
● python2.7、python3.6、
python3.7、python2.7-gpu、
python3.6-gpu、python3.7-gpu、
python2.7-cpu、python3.6-cpu、
python3.7-cpu的运行环境搭载的 Caffe版本为1.0.0。
● python2.7、python3.6、python3.7 只能用于运行适用于CPU的模型。其 他Runtime的值,如果后缀带cpu或 gpu,表示该模型仅支持在CPU或 GPU中运行。推荐使用python2.7- gpu、python3.6-gpu、python3.7- gpu、python2.7-cpu、python3.6-cpu、python3.7-cpu的Runtime。
● 默认使用的Runtime为python2.7。
Spark_MLlib python2.7 python3.6
● python2.7以及python3.6的运行环 境搭载的Spark_MLlib版本为2.3.2。
● 默认使用的Runtime为python2.7。
● python2.7、python3.6只能用于运 行适用于CPU的模型。
Scikit_Learn python2.7 python3.6
● python2.7以及python3.6的运行环 境搭载的Scikit_Learn版本为 0.18.1。
● 默认使用的Runtime为python2.7。
● python2.7、python3.6只能用于运 行适用于CPU的模型。
XGBoost python2.7 python3.6
● python2.7以及python3.6的运行环 境搭载的XGBoost版本为0.80。
● 默认使用的Runtime为python2.7。
● python2.7、python3.6只能用于运 行适用于CPU的模型。
PyTorch python2.7 python3.6 python3.7
pytorch1.4-python3.7
● python2.7、python3.6、python3.7 的运行环境搭载的PyTorch版本为 1.0。
● python2.7、python3.6、
python3.7、pytorch1.4-python3.7,表示该模型可同时在 CPU或GPU运行。
● 默认使用的Runtime为python2.7。
6 与其他服务的关系
与统一身份认证服务的关系
ModelArts使用统一身份认证服务(Identity and Access Management,简称IAM)实 现认证功能。IAM的更多信息请参见《统一身份认证服务用户指南》。
与对象存储服务的关系
ModelArts使用对象存储服务(Object Storage Service,简称OBS)存储数据和模 型,实现安全、高可靠和低成本的存储需求。OBS的更多信息请参见《对象存储服务 控制台指南》。
表6-1 ModelArts 各环节与 OBS 的关系
功能 子任务 ModelArts与OBS的关系
自动学习 数据标注 ModelArts标注的数据存储在OBS中。
自动训练 训练作业结束后,其生成的模型存储在OBS中。
部署上线 ModelArts将存储在OBS中的模型部署上线为在 线服务。
AI全流程开发 数据管理 ● 数据集存储在OBS中。
● 数据集的标注信息存储在OBS中。
● 支持从OBS中导入数据。
开发环境 Notebook实例中的数据或代码文件存储在OBS 中。
训练模型 ● 训练作业使用的数据集存储在OBS中。
● 训练作业的运行脚本存储在OBS中。
● 训练作业输出的模型存储在指定的OBS中。
● 训练作业的过程日志存储在指定的OBS中。
AI应用管
理 训练作业结束后,其生成的模型存储在OBS中,
创建AI应用时,从OBS中导入已有的模型文件。
功能 子任务 ModelArts与OBS的关系
部署上线 将存储在OBS中的模型部署上线。
全局配置 - 获取访问授权(使用委托或访问密钥授权),以
便ModelArts可以使用OBS存储数据、创建 Notebook等操作。
与云硬盘的关系
ModelArts使用云硬盘服务(Elastic Volume Service,简称EVS)存储创建的 Notebook实例。EVS的更多信息请参见《云硬盘用户指南》。
与云容器引擎的关系
ModelArts使用云容器引擎(Cloud Container Engine,简称CCE)部署模型为在线服 务,支持服务的高并发和弹性伸缩需求。CCE的更多信息请参见《云容器引擎用户指 南》。
与容器镜像服务的关系
当使用ModelArts不支持的AI框架构建模型时,可通过构建的自定义镜像导入 ModelArts进行训练或推理。您可以通过容器镜像服务(Software Repository for Container,简称SWR)制作并上传自定义镜像,然后再通过容器镜像服务导入 ModelArts。SWR的更多信息请参见《容器镜像服务用户指南》。
与智能边缘平台的关系
ModelArts可将模型部署至智能边缘平台(Intelligent EdgeFabric,简称IEF)纳管的 边缘节点。IEF的更多信息请参见《智能边缘平台用户指南》。
与云监控的关系
ModelArts使用云监控服务(Cloud Eye Service, 简称CES)监控在线服务和对应模型 负载,执行自动实时监控、告警和通知操作。CES的更多信息请参见《云监控服务用户
ModelArts使用云监控服务(Cloud Eye Service, 简称CES)监控在线服务和对应模型 负载,执行自动实时监控、告警和通知操作。CES的更多信息请参见《云监控服务用户