看点:开发小白和高阶程序媛都爱用,这份华为云一站式 AI 开发平台指南,你查收了吗?
2019 年,热门的人工智能(AI)继续在产业中快速奔跑,越来越多的行业开始搭上智能化升级的大潮。然而,长时间、高成本、高投入、复杂繁琐的 AI 开发流程,正阻碍着 AI 产业的规模化发展,许多传统企业不能轻松快速地构建 AI 能力。
喝一杯水要几步? 对于普通人来说,这是一件毫不费脑的事。那么 AI 开发需要几步呢?对于开发小白和 AI 专业开发者来说,答案截然不同。
1 月底,华为云 EI(企业智能)一站式 AI 开发平台 ModelArts 正式商用上线,不仅让许多 AI 小白拆除 AI 开发的门槛,同时也让诸多 AI 开发者享受到更为高效便捷的开发体验。
这一被称为“开发者的福音”的 AI 平台,究竟是怎样的利器?它又在如何在各个传统行业发挥作用呢?对此,我们分析了 ModelArts 加速 AI 开发的四大亮点,详解 ModelArts 平台使用步骤,并亲身体验了 ModelArts 的极简操作流程,过了一把 AI 开发瘾。
ModelArts 四大亮点,加速 AI 开发流程
简单的说,ModelArts 平台就是一个让小白轻松学会训练 AI 模型、让 AI 老手节省时间脑力的开发神器,让各行各业关于 AI 的创意都能快速实现。
这里,我们先从四大亮点分析 ModelArts 如何帮助有经验的开发者加快 AI 模型开发和部署,然后复原小白轻松上手 AI 开发的全过程。
1、提供开源数据集,部分场景实现数据自动标注
对于饱受数据标注困扰的开发者而言,ModelArts 是可以简化数据标注流程的优质平台。
ModelArts 通过对数据进行采样、筛选、预标注,可以将大部分数据进行自动标注和筛选,而人工只需在自动数据标注后做筛选确认,这将极大地降低开发者的工作量。
目前,ModelArts 机器数据标注已广泛应用于“自动驾驶学习”场景,后续 ModelArts 还将持续更新,以服务更多新兴业务场景。
ModelArts 还有一个亮点功能——市场。“市场”是一个共享平台,为开发者提供多种开源数据集和一些预置模型,开发者也可以上传自己的数据集合模型。后续可能还会有交易模式,让一些 AI 开发者在提供 AI 模型后,可以实现知识价值变现。
2、自动学习+自动训练模型并调参,简化工作量
对于算法工程师来说,在训练中会有很多调参,由于不同的调参会影响最后模型的收敛速度及精度,这一部分通常会给算法工程师制造大量的工作量。
ModelArts 提供自动化调参服务,采用 momentum、batch size 等动态超参策略,将模型收敛所需 epoch 个数降到最低,不仅可以简化算法工程师调参的工作量,还能帮助算法工程师找到尽可能最优的参数,在满足精度的前提下让模型快速收敛。
3、大规模分布式训练,加快训练速度
ModelArts 平台的高效不止体现在简化步骤和数据标注上。它是一个端到端从硬件到软件协同的平台,华为在其中做了很多深层次的优化和高性能调优,包括对分布式调度、网络通信和硬件特性等做整体优化,以提供加速训练的能力。
在深度学习模型训练过程中,华为云将分布式加速层抽象出来,自研了一套分布式通用加速框架 MoXing,在 TensorFlow、MXNet、PyTorch、Keras 等框架上实现再优化,使得这些计算引擎分布式性能更高,训练时间更短。
开发者可以通过几个接口直接调用 MoXing 框架,将本地单机的业务变成分布式业务,仅用一串代码就实现单机和分布式部署。开发者无需关心下层分布式相关 API,只需聚焦在业务模型中,根据实际需求输入数据、模型和相应优化器。
ModelArts 在衡量分布式深度学习框架加速性能主要考虑的吞吐量、收敛时间等关键指标上都做了精心处理。通过提供 MoXing 分布式框架和千级 GPU 集群规模训练加速,ModelArts 可为用户带来极高性能的 AI 开发体验。
4、模型一键式部署,适配到端边云
通常情况下,模型部署非常复杂,需要写代码集成到应用系统,维护和更新。ModelArts 可以一键将模型部署到云、端、边缘的设备上,根据端边云不同的特点,帮助开发者做模型压缩和模型加速。该平台还支持在线和批量推理,满足多种场景需求。
根据开发者制定的策略,ModelArts 平台可以自动调整云服务器的计算资源,在业务需求下降时将减少云服务器,高效节省资源和成本;在业务需求增多时增加云服务器,保证业务平稳健康运行。
ModelArts 用法拆解之开发小白篇 ——五个步骤让小白玩转 AI
在 ModelArts 超高配置的加持下,即便是不具备任何 AI 开发算法能力的小白,也可以零负担地来构建 AI 模型。这就要提到 ModelArts 非常强大的功能——自动学习。
如果你是 AI 小白,或者是不想在模型训练上花费时间和精力的开发者,在 ModelArts 上,只需掌握如下五个步骤,就能完成整个算法从开发到最后部署上线的全过程。
目前华为云 ModelArts 提供物体检测、图像分类、预测分析和声音分类四类开发项目,为了将用户使用门槛降到最低,华为云 EI 企业智能不仅提供内容详细的新手入门和用户指南,还为前三类项目分别录制了视频教程。
这里,我们以图像分类项目为例,在不写一行代码的情况下,训练出一个 AI 模型。
1、准备数据
我们准备了 10 张向日葵和 10 张玫瑰的照片作为训练模型的数据集。不过,如果开发者只是想简单练习如何做 AI 开发,可以直接在市场中下载预置数据集,导入至自己的数据集中。
2、创建项目
在准备好数据后,开发者可点击左侧导航栏的“自动学习”,创建一个“图像分类”项目,创建时会有弹窗让开发者选择训练数据集存放位置,这需要开发者预先创建一个华为云 OBS 桶。
3、数据标注
项目创建完毕后就进入数据标注页面,点击添加图片一次性上传全部照片。随后,点击每张图片进行标注,每张图片至少有两个标注分类,用于训练的图片至少有 5 张。当然,如果想让模型获得更高的精度,训练图片的数量自然是多多益善。
4、模型训练
接下来就可以开始训练模型了,点击“开始训练”,然后等待约一分钟,模型就训练成功了。
更喜欢 DIY 的用户,还可以在创建训练作业时,自己设定更想要的参数。
5、部署上线
训练完模型的最后一步是模型部署。部署上线后,用户就可以随时用模型来测试某一张图片中的花卉了。
当然,这里只是拿 20 张图片简单地练手,如果想要更精确的模型,用户需要用大量的数据集来训练。
ModelArts 用法拆解之高阶程序媛篇 ——用 ModelArts 玩比赛
说完了小白,再来说一下专业人群。
如果你具备一定的 AI 开发基础和编程能力,已经迫不及待地想用 ModelArts 练练手了,不妨关注一下正在进行中的 2019 数字中国创新大赛。华为云作为大赛出题方之一,提出了“文化传承——汉字书法多场景识别”的赛题,而 ModelArts 正是华为云附送给参赛者们的开发神器。
日前,我们就收到一位程序媛投稿,详细讲述了她如何用 ModelArts 玩比赛。
赛题模型可以由两个部分组成,一个是文字检测,一个是文字识别。
在文字框检测上,可使用EAST模型;在文字识别 OCR 模型上,可使用西安交通大学人工智能实践大赛第一名的方案模型。
本文代码均已开源在代码库GitHub中,可直接下载使用。
1、EAST 文字检测模型
使用 ModelArts 训练 EAST 模型
第一步是数据准备工作,首先下载并解压比赛数据包。
将处理过的数据上传到在 OBS 上创建的路径,如:
同样,下载 EAST 训练代码,并将代码上传到 OBS。
然后就可以创建作业了,选择训练作业中的“创建”。
之后选择数据存储路径、使用的引擎、启动文件等,
再输入使用脚本需要的相应参数,
选择计算资源,并保存作业参数以便下次使用,就可以开始运行了。
点击运行,还可以在日志里看到训练过程。
推理测试
在训练到一定精度后,就可以测试了。同样创建作业,选择 test 数据集,输入必要参数,
之后就可以得到测试集的检测结果了,里面的每行包含测试图片的名字和 4 个 x 和 y 的点。
2、OCR 文字识别模型
创建 OCR 训练作业
与 EAST 模型一样,将处理完后 OCR 模型的数据和 OCR 代码上传到 OBS 相应路径,就可以开始训练。
点击确定开始运行,在日志可以看到,几个 step 之后 loss 在下降了。
推理预测
最后一步,使用 OCR 训练完成的模型文件和 EAST 生成的数据进行推理测试,
最终可以在 OBS 路径上看到 predict.csv 的文件,下载就可以上传到比赛官网参赛了。
本文代码均已开源,且修改成了可以在 ModelArts 训练的格式,可以对比开源的 EAST 和 OCR 代码,查看修改了哪些地方。本文在 OCR 模型上用时 6 个小时,仅训练了 10 个 epoch,就在排行榜 A 榜得到了 0.42 的 F1,目测再训练久一点 F1>0.80 是肯定有的。
本文转载自 华为云产品与解决方案 公众号。
原文链接:https://mp.weixin.qq.com/s/s81jDFkf_1Z9l92EOnpl7A
评论