2020-08-14 14:41:45

【新智元导读】如今,AI已经进入了全面落地的阶段,但未来想要让AI真正像水和电一样无处不在,还面临着巨大的鸿沟。为了解决算力成本高、模型开发效率低的问题,华为专门设计了异构计算架构CANN 3.0。

最近,火遍全球的GPT3,有1750亿个参数,解锁各项技能,和人类对话,无所不能。GPT-3正是AI崛起,突飞猛进的最佳例证。

但在众人惊叹之时,却不知道,训练他Open AI可是花费了460万美元。如果不是以API的方式开放给普通用户使用,这个NLP神器可不是大家都能玩的起的。

AI训练的高成本、算力的昂贵,导致了这种意义上的开发只是科技大佬们展示技术实力的专利,在大众心中,AI仿佛只是看上去很美。

如今,AI已经进入了全面落地的阶段,未来想要让AI真正像水和电一样无处不在,还面临着重大的鸿沟。除了高成本,从模型开发到商用也还有很大的距离,各场景下的AI算法已经比较成熟,但是模型迁移适配要耗费的人力物力太多。

华为昇腾计算业务总裁许映童表示,目前的AI应用普遍存在一个问题,训练侧和推理侧的设备相互独立,业务流程分割,很多环节需要人为干预,开发成本的提升,几乎抵消掉了AI带来的便利。

而且场景多种多样,设备各异,导致AI融入实际应用的门槛很高,比如说用终端开发的AI应用在云端就有可能不兼容。那有没有通用的方法可以实现全场景的高效开发?

  • 华为的野望:异构计算架构CANN 3.0,全场景AI走起

为了解决算力成本高、模型开发效率低的问题,昇腾专门设计了异构计算架构CANN 3.0。

早在2018年10月10日,华为在全联接大会上发布AI战略时,就发布了异构计算架构CANN 1.0,CANN 3.0已经是第三个版本了,目前已经统一了编程架构,做到了端边云全场景协同。

CANN 1.0注重边缘侧的推理,让终端应用的推理速度更快。

CANN 2.0打通了数据中心和训练端,提高了训练的效率。

CANN 3.0全场景都具备极强的伸缩性和可适应性,让开发者不用再纠结终端是手机、摄像头还是机器人,也不用关心硬件使用了哪种操作系统,Linux、Android、鸿蒙OS都没有问题。

目前CANN 3.0已经覆盖10+操作系统和14+智能终端设备,一次编写代码,就能实现端边云全场景复用,极大提升了开发效率。

那CANN 3.0相比之前的两个版本,有哪些优势呢?

软硬件解耦,一套代码通全关

高性能的AI开发一定是软硬协同设计的,像谷歌的TensorFlow在自家的TPU上性能是要好于英伟达GPU的,这种软硬件高度耦合的模式虽然效率高,也有缺点,某个TPU上表现优异的模型换个硬件可能就「哑火」了。

而CANN 3.0的代码是普适的,对端、边、云全场景下的训练、推理硬件没有特定依赖,它为用户提供了丰富的算子库和难易结合的编程方法,开发一套代码,就能在各种终端硬件上复用,性能还可以发挥到最好。

指令级算子开发满足高手的性能控制欲

说到算子开发,CANN 3.0为了满足不同水平的AI开发者需求,支持普通和专业两种算子开发模式。

对普通开发者,建议使用TBE-DSL。DSL可自动实现数据切分和调度,覆盖了70%的算子,开发者只需关注计算如何实现,调用已有的算子即可,将算子开发时间降低70%。

而对性能有极致追求的高级开发者,可以通过TBE-TIK实现指令级编程和调优过程,可覆盖全部算子,如果开发者对底层原理比较熟悉,这种方式可以进一步挖掘硬件的计算潜力。

不论升级到哪个版本,CANN 3.0都可以继续使用

花很大精力对算子进行了优化,突然有一天CANN升级到4.0了,代码是不是就失效了?

CANN 3.0充分考虑了软件的生命周期。在顶层提供了昇腾统一编程接口AscendCL,将API进行了归一化,即使CANN升级到4.0、5.0版本,基于CANN 3.0开发的代码依旧可以使用。

许映童表示,CANN升级后,老版本代码最多需要重新编译下,而无需修改,简直是开发人员的福音。

后向兼容,对CANN的研发人员是极大的挑战。CANN 3.0做了后向兼容,让用户享受到最新的性能提升的同时,还可节省开发成本,保证了软件的持久生命力。「把复杂留给自己,把简单留给客户」也是昇腾一直坚持的产品理念。

  • 如何释放算力狂魔?指挥官CANN 3.0还可以「上下兼容」

除了高效开发,CANN还打通了AI算法和计算优化的「任督二脉」。

TensorFlow的开放性以及完善的社区建设,以及对多种不同硬件平台的支持,让谷歌在AI模型开发框架上占据了相当大的优势。

除了TensorFlow,PyTorch、Caffe、Mxnet等开发框架也有很多厂商在用,尤其PyTorch,大有超越TensorFlow的趋势,学术界很多先进的模型都是使用PyTorch开发。

这样就有个问题,不同框架开发的模型,在不同的系统、不同的设备上不能通用,需要二次开发,ONNX类似的工具虽然可以支持不同框架的模型,但这些非原生工具会遇到各种各样的bug,还无法溯源。

在实验室中很多SOTA模型是用PyTorch写的,但是到部署端的架构只支持TensorFlow,就需要重写模型,效率很低。

但每个框架都有自己的优点,TF性能稳定、PyTorch的动态图很灵活、Mxnet有很多成体系的视觉算法库,所以AI算法层面最好能兼容它们。

AI计算平台的核心能力构建包括两方面:上层的AI算法和下层的高性能计算。

CANN 3.0上可以接各种深度学习编程框架的AI算法,下可以加速昇腾全系列AI芯片的训练和推理速度,是昇腾的真核心。那么CANN 3.0是如何实现芯片加速的?

过去几年,英伟达能在AI计算领域大展拳脚,很大程度上得益于CUDA和cuDNN等加速插件库,而CANN就是昇腾系列的「CUDA」。

CANN 3.0通过AscendCL提供 Device 管理、Context 管理、Stream 管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等 C++ API 库供用户开发深度神经网络应用,用户可以用任何第三方框架调用这些API库,而无需关心计算资源优化的问题。

那CANN 3.0如何实现的计算资源智能分配?

神经网络可看作一张张的图,过去大部分图在HostCPU执行,如今昇腾的图编译器,实现了整图下沉,图和算子均可在Device侧执行,减少了芯片与Host CPU的交互时间,从而更充分地发挥昇腾芯片的算力。

像TF搭建的神经网络都是一张张计算图,过去这些图都在HostCPU中执行,资源允许的时候整个图都在HostCPU中执行效率是很高的,但是资源有限的情况就需要Device侧协同处理,也就是昇腾加速卡中,通过把整张图下沉到Device中,可以高效协同CPU完成计算。

根据图的特点和计算资源的分配情况,CANN可以自动进行图的拆分和融合,尽量减少和HostCPU的交互,交互少了,计算资源就能持续保持高强度运转。

数据Pipeline智能优化极大提升了数据资源处理效率,通过人工智能实现数据的自动切分与智能分配流水,以最大化个体计算单元的使用率,从而提高计算效率。

除了图自动编译和图的拆分融合优化,CANN 3.0的1000+算子库让你的神经网络「瞬时」加速。

强如英伟达,cuDNN也只有一百多个算子,CANN 3.0不仅包括了常用的Caffe 及 TF 算子,还独立提供各种加速库,这些加速库可通过 ACL统一编程接口实现,如矩阵乘接口等。

CANN 3.0现在的架构功能十分完善,对外提供适配不同硬件、不同 OS 的驱动,支持GPU+CPU异构通信,对内可实现Stream、内存等底层管理,丰富的加速库支持算子/标量/向量等通用计算,能高效完成图像和视频数据的预处理,执行引擎为深度神经网络计算提供了执行上的保障。

给AI硬件插上翅膀,CANN 3.0打开算力「潘多拉魔盒」

有了CANN 3.0保驾护航,在主流推理场景,昇腾AI推理卡Atlas 300I性能得到大幅提升。

要验证推理性能,多路高清视频分析的场景再合适不过了,高清视频本身流量大,加上多路融合更考验计算平台的并发处理能力,实测表明单张Atlas 300I推理卡可同时处理80路1080p、25FPS的高清视频,是当前市面上同类推理卡路数的2倍。

对交通、安防等场景来说,需要同时处理的视频路数就更多了,少则几百,多则上万,如果单卡能处理更多的任务,规模化应用时成本优势就会扩大,而且硬件数量少了更容易部署。所以很多人工智能厂商,正基于昇腾AI推理卡打造极致性能的高路数视频分析解决方案。

在训练端华为也有高密度「算力狂魔」,实测表明,Atlas 800在多个模型的训练中都优于业界新品训练服务器,平均性能领先业界2.5倍。

可以看到,昇腾的训练卡和推理卡「单兵」作战能力极强,如果把它们集结起来能成为一支算力特种部队吗?

「指挥官」CANN说:可以。

受机器间通信能力的影响,多个机器同时处理一个任务时,如果计算资源分配不好,总体性能会大打折扣。CANN要做的就是分配给「单兵」任务,让它们能高效协同作战,事实也证明经过L2网络与CANN的联合「指挥」优化,昇腾AI集群实现了1+1>2的性能提升,远超友军。

CANN 3.0不仅降低了各个领域使用昇腾芯片开发应用的难度,还提供了很多优秀的中间件和基础库使能各个厂商,但面对谷歌、英伟达、英特尔等国际巨头的强力竞争,想要生存下去,还是要构建一个完整的生态,为学术界和产业界贡献更多算力,为合作伙伴创造更多价值。

  • CANN「不是一个人在战斗」,还有开发者的AK47

CANN并不是单打独斗,光有一个计算架构也建立不了AI计算的生态。

今年3月份,华为开源了MindSpore,这是一款支持端边云全场景的AI框架,可广泛应用于计算机视觉、自然语言处理等AI领域。

使用MindSpore可以显著减少训练时间和成本,用最少的资源实现最高的效能,MindSpore原生支持昇腾AI处理器,让AI模型开发更加简洁高效。

在刚刚过去的HAI大会上,华为昇腾正式发布了昇腾应用使能MindX,它包括了Atlas深度学习平台MindX DL、Atlas智能边缘平台MindX Edge、优选模型库ModelZoo和各种行业SDK。

MindX DL通过数据中心设备与计算资源统一管理与调度,可以在计算集群上快速搭建起商用深度学习系统,许映童说,有需求的用户以此为基础,进行简单二次开发就可以满足业务需求,快速上线。

MindX Edge是面向推理端的平台,可以实现轻量化部署,支持摄像头、无人机等多种形态的推理硬件。

ModelZoo和行业SDK包含大量的主流的模型,能帮助开发人员迅速构建多场景下的AI应用。

这么多的平台和工具,从模型到算子到行业SDK,如果每个环节都要自己搭建开发环境,CANN、MindSpore、MindX的开发优势将荡然无存,所以华为推出了一个全流程工具链MindStudio 2.0,有了它,所有的开发工作都能在一个环境下完成并且支持一键部署。

正如华为昇腾计算业务CTO周斌所说,「MindStudio才是开发者的AK47」!你的盒子枪可以扔了。

根据中国《新一代人工智能发展规划》,到2030年,将带动人工智能相关产业规模超过10万亿元。如此大的产业规模,所需的算力会远远超过1750亿参数的GPT-3,而昇腾AI计算平台会填补这个「算力真空」,赋能千行百业,为AI提供无处不在的算力,昇腾AI未来可期!

华为AI再进化,CANN 3.0释放「算力狂魔」相关推荐

  1. cuda linux 算力_华为AI再进化,CANN 3.0释放算力狂魔

      新智元报道   编辑:白峰.梦佳 [新智元导读]如今,AI已经进入了全面落地的阶段,但未来想要让AI真正像水和电一样无处不在,还面临着巨大的鸿沟.为了解决算力成本高.模型开发效率低的问题,华为专门 ...

  2. 不要妄图一夜实现「智能」,这里有AI工业落地几乎必遇的「深坑」

    2020-03-30 17:08:50 作者:寓扬 疫情前,丰融出差去了趟重庆,跟一个客户谈工业大脑的方案.但项目还没来得及落地,疫情已经到来. 丰融是阿里云工业大脑首席解决方案架构师.春节期间,客户 ...

  3. 将AI落地到福州、贵阳的「幕后推手」,到底在想些什么?

    2020-07-10 15:48:51 乾明 金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 从抗击新冠肺炎的冲锋陷阵,到日常生活中的效率提升- 依图科技,正在用一次次行动,一座座城市,展 ...

  4. 鸿蒙手机发布失败,华为:没有推出鸿蒙手机计划,「自拍」会让人觉得你孤独和失败...

    大家好,今天是 8 月 23 日,科技圈未雨绸缪.先计后战的一天.以下是今天的科技大新闻,听听有什么新鲜大事吧. 华为:没有推出鸿蒙手机的计划 外媒的报道,华为虽然大力宣传 Harmony OS 的强 ...

  5. vue office在线编辑_多人协同、AI 协作……未来的 Office 有这些「黑科技」

    最近几个月里,「远程办公」成为了很多人的新选择.远程办公中,在线文档对于大多数公司来说都是必需品.多人协作.自动保存.无需下载客户端-- 这些优势让在线文档逐渐受到人们的青睐. 面对这样一个潜力巨大的 ...

  6. Walker智慧农业物联网云平台(Version:3.0.1)「源码」

    一.简介 Walker智能农业物联网云平台,从(设备端-APP端-平台端-管理端)全业务场景包含设备采集系统.监控控制系统.溯源系统.专家系统.仓库系统,大屏系统,开源版本毫无保留给个人及企业免费使用 ...

  7. 吴恩达:AI是时候从大数据转向「小数据」了

    丰色 编译整理 量子位 | 公众号 QbitAI AI大牛吴恩达不久前刚被检测出新冠阳性,许多网友都向他表达了早日康复的祝愿. 如今,他的工作重心放在了他的Landing AI公司上. 这是一家专门面 ...

  8. AI视频抠图换背景,无需「绿幕」,也可达到影视级效果

    相信很多小伙伴在平时拍摄剪辑视频的时候,都会遇到视频背景杂乱的情况吧,这个时候都会想到像抠图一样,将视频中的人像抠出来换一个背景!那么具体应该怎么操作呢? 其实这个问题很简单,利用AI智能视频抠图,无 ...

  9. CANN 5.0硬核技术抢先看

    摘要:2021年12月,CANN5.0版本也将与大家正式见面,通过软硬件协同优化,该版本将会实现训练性能再翻倍,凭实力展现AI领域的「中国速度」! 本文分享自华为云社区<CANN 5.0硬核技术 ...

最新文章

  1. connect() failed (111: Connection refused) while connecting to upstream, cli
  2. 邮箱自动转发攻击邮件服务器
  3. 如何编码和解码base64字符串?
  4. vue:vue页面刷新vuex数据消失问题
  5. jvm(13)-线程安全与锁优化
  6. 在实践中总结出的几条 CodeReview 实用经验
  7. java 实现复制_在java中如何实现复制,粘贴,剪切
  8. 品高打造西科大教育云,带你看懂高教云建设之路
  9. Ubuntu开启nfs并连接开发板
  10. 听韩顺平聊PHP初学者如何变身大牛(一)?
  11. 考研-数学经验贴(总结)
  12. 经方的魅力第二版》读书摘录
  13. 苹果开发者证书申请流程
  14. 苹果在中国失掉 iPad 商标
  15. 0011 绝对值函数
  16. Android 之6.0 双向通话自动录音
  17. 怎么把单个的pdf文件合并在一起?怎么把几个单独的pdf文件合并为一个?
  18. Android文件目录及文件访问权限等详解
  19. 什么是ARPU与ARPPU ?
  20. Winform像菜单一样弹出自定义内容实现示例

热门文章

  1. java反射的性能_java反射的性能问题
  2. Linux学习(五)---开机、重启和用户登录注销
  3. Process finished with exit code -1073741819 (0xC0000005)
  4. 《智源社区周刊:预训练模型》第2期:Facebook用“预微调”改进预训练性能、再议GPT-3中的东方主义偏见...
  5. 万字干货 | 一文揭秘Presto在腾讯资讯业务中的应用
  6. 官宣:图灵的 _____ ,只送不卖?
  7. t-SNE 原理及Python实例
  8. 生成对抗网络(GAN)应用于图像分类
  9. openSUSE中文输入的安装和设置
  10. 打造交叉复合型数据人才的高地:清华大学大数据能力提升项目宣讲会成功举行!...