购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 华为云AI平台ModelArts

华为云是华为的云服务品牌,致力于为全球客户提供领先的公有云服务。ModelArts是华为云推出的、面向AI开发者的一站式开发平台,通过AI开发全流程管理可以智能、高效地创建AI模型并一键部署模型到云、边、端。在ModelArts平台上可以很方便地搭建MindSpore框架,为MindSpore提供基于昇腾硬件平台的运行环境,并提供AI 应用的全周期工作流支持,包括标注数据、训练模型、测试模型和部署模型等。MindSpore框架支持的硬件平台包括CPU、GPU和昇腾(Ascend),为了便于读者学习,本书内容主要基于CPU和GPU环境。在一些案例中,也介绍了在华为云ModelArts上使用昇腾计算卡训练MindSpore 框架的方法。本节主要介绍ModelArts平台的基本功能和使用方法。

1.4.1 功能概述

ModelArts 平台提供了自动学习、数据管理、模型开发、模型管理、部署上线和资源池6个功能。

1.自动学习

自动学习是将机器学习应用于现实问题的自动化任务的过程,包含从原始数据集到构建可以用于部署的机器学习模型的每一个阶段。面对不断增长的应用机器学习的挑战,自动学习是基于人工智能的解决方案。其目的在于即使不是专家也可以使用机器学习模型和技术。

ModelArts自动学习是实现AI应用的低门槛、高灵活、零代码的定制化模型开发工具。自动学习功能根据标注数据自动设计模型、自动调参、自动训练、自动压缩和部署模型。开发者只需上传数据,通过自动学习界面引导和简单操作即可完成模型训练和部署。

目前,自动学习支持快速创建图像分类、物体检测、预测分析、声音分类和文本分类模型的定制化开发。可广泛应用在工业、零售安防等领域。自动学习的具体应用如下。

① 图像分类:识别图片中物体的类别。

② 物体检测:识别图片中每个物体的位置和类别。

③ 预测分析:对结构化数据做出分类或数值预测。

④ 声音分类:对环境中不同声音进行分类识别。

⑤ 文本分类:识别一段文本的类别。

ModelArts自动学习开发AI模型在使用时无须编写代码,只需上传数据、创建项目、数据标注、模型训练,然后将训练的模型部署上线即可。ModelArts 自动学习开发AI模型的流程如图1-18所示。

图1-18 ModelArts自动学习开发AI模型的流程

2.数据管理

ModelArts 数据框架包含数据采集、数据筛选、数据标注、数据集版本管理功能,支持自动化和半自动化的数据筛选功能,支持自动化的数据预标注及辅助自动化标注工具。ModelArts数据管理的主流程如图1-19所示。

图1-19 ModelArts数据管理的主流程

ModelArts数据管理的具体方法将在3.8节中详细介绍。

3.模型开发

ModelArts 提供模型训练的功能,可以方便地查看训练情况并不断调整模型参数;还可以基于不同的数据,选择不同规格的资源池用于模型训练。用户不仅可以自己开发模型,还可以从AI Gallery订阅算法,通过调整算法的参数得到满意的模型。

ModelArts模型开发的流程如图1-20所示。

图1-20 ModelArts模型开发的流程

4.模型管理

ModelArts可以对AI应用进行统一管理,将从训练作业中得到的模型、本地开发的模型部署为AI应用。为了方便将模型部署在不同的设备上,ModelArts还提供了模型转换能力。ModelArts模型管理的具体方法将在第5章介绍。

5.部署上线

ModelArts为个人开发者、企业和设备生产厂商提供了一整套安全可靠的一站式部署方式,使用ModelArts可以将训练好的模型一键部署到端、边、云的各种设备和各种场景上。

6.资源池

使用ModelArts进行AI开发时,需要使用一些CPU、GPU或昇腾资源进行训练或推理。为满足不同开发业务,ModelArts 提供了按需付费的公共资源池和无须排队的专属资源池。通常,默认使用公共资源池即可。

1.4.2 ModelArts平台对昇腾生态的支持

作为华为云AI平台,ModelArts对昇腾芯片及其开发生态提供了全面支持,包括提供多款支持昇腾系列的预置神经网络算法。

1.对Ascend 310的支持

Ascend 310是一款华为自研的云端AI芯片,具有低功耗和高算力的特性,ModelArts支持使用Ascend 310芯片提供高性能推理的能力。

在 ModelArts 提供的典型样例中,包含使用 Ascend 310 推理的样例。该样例以“ResNet_v1_50”算法为例,指导用户如何从AI Gallery订阅算法,然后使用订阅算法创建训练模型,并将所得的模型部署为在线服务(使用Ascend 310推理)。针对支持Ascend 310 推理的算法,如 ResNet_v1_101、MobileNet_v1 等,均可参考此样例操作进行训练和推理操作。

2.对Ascend 910的支持

Ascend 910是一款华为自研的云端AI芯片。Ascend 910具有算力强、体积小等特性。

第7章将介绍使用Ascend 910训练+Ascend 310推理的实例。该实例以“图像分类ResNet50”算法为例,指导用户如何从AI Gallery订阅算法,然后使用订阅算法创建训练模型,并将所得的模型部署为在线服务。针对支持Ascend 910训练和Ascend 310推理的算法,可参考此样例操作进行训练和推理操作。

3.对MindSpore的支持

ModelArts 平台为多款深度学习框架提供了昇腾运行环境。除了 TensorFlow、PyTorch,在ModelArts的训练、开发环境功能中,支持选用MindSpore框架构建模型,还提供了基于MindSpore框架的预置图像分类算法ResNet50。第5章将介绍在ModelArts平台中基于ResNet50算法的训练和推理过程。

1.4.3 ModelArts开发工具

作为云平台,ModelArts的开发工具需要做到云上、云下协同开发和调试。ModelArts集成了开源的Jupyter Notebook和JupyterLab,可提供在线的交互式开发调试工具,具体说明如下。

① Jupyter Notebook:是基于网页的用于交互计算的应用程序,可应用于开发、文档编写、代码运行和结果展示。Jupyter Notebook的基本架构如图1-21所示。

图1-21 Jupyter Notebook的基本架构

② JupyterLab:是Jupyter Notebook的下一代产品,可以使用它实现编写Notebook、操作终端、打开交互模式、查看csv文件及图片等功能。

9.2节将会结合具体案例介绍Jupyter Notebook的使用方法。

1.4.4 使用ModelArts平台的基本方法

华为云的登录页面,如图1-22所示。使用ModelArts平台前,需要先注册一个华为云账号。

图1-22 华为云的登录页面

单击“注册”超链接,打开“注册华为云账号”的页面,根据提示完成注册。拥有华为账号后,登录华为云平台,打开华为云个人主页,如图1-23所示。在页面顶部的搜索框中,输入mo,然后在提示下拉菜单中选择“AI开发平台ModelArts”,打开ModelArts主页,如图1-24所示。

图1-23 华为云个人主页

图1-24 ModelArts主页

ModelArts主页中有一个适合新手入门的样例“找云宝”。云宝是华为云的吉祥物,这个样例的目标是:向训练好的智能体传入一张图片,智能体可以判断图中是否有云宝,若有会将识别出的云宝框起来。

完成“找云宝”样例需要经过以下6个步骤。

① 准备数据。

② 创建物体检测项目。

③ 数据标注。

④ 自动训练,生成模型。

⑤ 将模型部署上线为在线服务。

⑥ 测试服务。

1.准备数据

在“准备数据”步骤中,需要完成以下工作。

① 创建OBS(对象存储服务)桶和文件夹,用于存储训练数据集。

② 下载数据集,并解压缩。

③ 将下载的数据集中的训练图片上传至OBS桶。

(1)创建OBS桶和文件夹

在控制台搜索OBS,打开OBS管理页面,具体如图1-25所示。

图1-25 OBS管理页面

单击“创建桶”按钮,打开创建桶页面,如图1-26所示。假定创建一个名为modelartsfind-yunbao的桶,注意选择ModelArts所在的区域,例如“华北−北京四”。这样ModelArts就可以访问桶find_yunbao存储数据了。单击页面右下方的“立即创建”按钮,完成创建桶。

图1-26 创建桶页面

在桶列表页单击新建的modelarts-find-yunbao,打开基本信息页。然后在基本信息页左侧导航菜单中单击“对象”菜单项,打开桶对象管理页面。在桶中新建一个文件夹find_yunbao。打开该文件夹,然后在其中新建一个train文件夹。创建OBS桶和文件夹的操作方法如果发生变化,请查阅华为云的在线文档。

操作完成后返回ModelArts主页,在“准备工作”框内单击“我已准备完成”按钮,如图1-27所示。然后“我已准备完成”按钮变成绿色的“已完成”按钮,同时点亮“获取数据”框内的“我已准备完成”按钮。

图1-27 在“准备工作”框内单击“我已准备完成”按钮

(2)下载数据集,并解压缩

在“获取数据”框内单击“数据集下载链接”超链接,下载得到 Yunbao-DataCustom.zip,在本地将其解压,得到以下2个文件夹。

① train文件夹:存储用于模型训练的数据。

② eval文件夹:存储用于模型预测的数据。

(3)将下载的数据集中的训练图片上传至OBS桶

再次打开OBS管理页面,进入前面创建的OBS桶modelarts-find-yunbao的train文件夹,然后单击“上传对象”按钮,选择并上传解压缩得到的train文件夹中的所有图片。

2.创建物体检测项目

打开ModelArts主页,在左侧导航中选择“自动学习”,打开“自动学习”页面,如图1-28所示。

图1-28 “自动学习”页面

如果之前没有做过授权操作,则页面中会提示“由于ModelArts的数据存储、模型导入以及部署上线等功能依赖OBS、SWR、IEF等服务,需要获取依赖服务的授权后,才能正常使用ModelArts的相关功能。请单击此处获取依赖服务的授权”。单击其中的“此处”超链接,根据提示完成授权(新建授权委托)操作。

然后返回“自动学习”页面。此时5项任务下面的“创建项目”按钮都已经被激活。单击“物体检测”下面的“创建项目”按钮,打开“创建物体检测项目”页面,参照图 1-29所示填写项目信息。数据集输入位置选择前面创建的train文件夹,数据集输出位置可以在此处创建一个output文件夹。配置完成后,单击页面下方的“创建项目”按钮。

图1-29 创建物体检测项目页面

3.数据标注

创建物体检测项目后,在“自动学习”页面中会看到创建的项目。单击项目名打开项目运行记录页面,如图1-30所示;选中“数据标注”节点,单击“实例详情”按钮打开“实例详情”页面,如图1-31所示;在“添加数据”下拉框中选择“添加数据”,打开“导入”弹出层。

图1-30 项目运行记录页面

图1-31 “实例详情”页面

在“导入”弹出层中,选择OBS中的find_yunbao目录,然后单击“确定”按钮,如图1-32所示。

图1-32 “导入”弹出层

导入数据后,在实例详情页面中单击“同步新数据”按钮,可以将前面上传到train文件夹的图片同步到项目中。图片按“已标注”和“未标注”分类展示。单击“未标注”选项卡,可以看到60张包含云宝的图片,如图1-33所示。

图1-33 查看项目中的未标注图片

单击一张图片,可以对图片进行标注。选中图片上方的 图标,然后将鼠标移至图中,鼠标指针位置会出现横线和竖线。单击鼠标左键开始画框,再单击鼠标左键结束画框,单击鼠标右键取消画框。将图中的云宝用方框标注,并输入标注名,单击“确定”按钮后,做好的标注会出现在右侧的栏目中,再单击“保存”按钮,保存标注,如图1-34所示。依次对60张图片做标注。

图1-34 标注图片中的云宝

4.自动训练,生成模型

所有图片都标注完成后,返回图1-30所示的项目运行记录页面。选中“数据标注”节点,单击“继续运行”按钮,开始自动训练。训练会持续一段时间,请耐心等待。在这个过程中可以选中后面的节点,了解训练进度。完成的节点会变成绿色。

5.将模型部署上线为在线服务

训练完成后,选中“服务部署”节点,然后单击“继续运行”按钮,如图1-35所示。

图1-35 选中“服务部署”节点,然后单击“继续运行”按钮

确认后开始将模型部署上线为在线服务。

6.测试服务

服务部署成功后,在 ModelArts 页面的左侧导航栏中依次选择“部署上线”—“在线服务”菜单项,打开“在线服务”页面,可以看到部署好的服务,如图1-36所示。

图1-36 “在线服务”页面

单击在线服务记录后面的“预测”按钮,打开测试服务页面。在测试服务页面中,单击“上传”按钮,选择一张包含云宝的图片上传。然后单击“预测”按钮,智能体会对图片中的云宝进行识别并标识,结果如图1-37所示。

图1-37 测试服务页面

本实例虽然并没有涉及算法问题,但是通过图形界面直观地演示了深度学习模型训练的整个过程,既体现了华为云ModelArts平台的强大功能,也为读者阅读本书后面的内容奠定了基础。

本书将在后文介绍使用ModelArts平台实现基于MindSpore的训练和推理的方法。 MwCSMVQhhi3uP+OTlnYZZYREYmqsEe38djT7P8IQDHTtwuJz2HgYVl4HBJYD109L

点击中间区域
呼出菜单
上一章
目录
下一章
×