Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Creator 面对面 | 昇腾异构计算架构 CANN 的技术进展和未来展望

在 2021 年的最后一个季度, CANN 5.0 版本正式发布。昇腾 CANN 作为平台级的异构计算架构,已经经过了 3 年多的优化,迭代了 4 个大版本,CANN 5.0 在性能方面,AI 模型训练/推理性能大幅提升,用时更短;在功能方面:推理引擎 ATC Suite1.0 首次发布,AI 模型推理性能更高、功能更全面;在便捷性方面:代码开发和调试进一步简化,包括支持混合编程等,使用门槛更低。在性能上,无论是训练规模大小、场景类型,还是推理效率,均有较大提升。实验数据显示,原本需要 6.25 分训练的 BERT 模型,在 CANN 5.0 的加持下缩短了一倍多,只需2.69分钟就能完成训练;至于在 3.0 版本上需要 28 秒训练的 ResNet ,5.0 版本则是“再进化”到 16 秒。

2022 年 1 月,华为昇腾 CANN 的首席架构师闫长江老师做客机器之心「2021-2022 年度 AI 技术趋势洞察」的「工程专场」直播间时,为我们带来了主题为「昇腾异构计算架构CANN的技术进展和未来展望」的相关报告。

图片

闫长江老师的分享内容主要分为以下三部分:

  • 对AI趋势发展的看法

  • 昇腾异构计算架构的最新进展

  • 昇腾生态的一些策略和进展 


AI 作为现在一种新的技术会对未来的社会产生巨大的影响

在对 AI 趋势发展的看法上,闫长江老师谈到 AI 作为现在一种新的技术会对未来的社会产生巨大的影响,我们甚至可以把 AI 技术跟历史上几次伟大的革命相对比,包括过去的蒸汽时代、电力时代,以及现在的信息化互联网时代。近期人工智能的发展主要有两个大方向,第一个方向是:从大模型走向超大模型。像 GPT 从一开始的 15 亿参数发展到现在 GTP 3 有 1000 多亿参数,华为盘古有 2000 亿参数,以及未来可能有这个 Switch Transformer 可能到万亿的参数。事实上这是一个必然,要想掌握海量数据里面的知识提取,就需要更大的模型来表达。另一个方向是:从单模态到多模态。以前 AI 的发展主要是专注于单个领域,比如语音、图像这些单个领域。而将来可能逐渐地走向多模态这个领域的发展,同时可以处理语音、图像、文本来解决更多的问题。

图片

人工智能要成为一项广泛应用的技术,要解决怎么能让大量的企业用得上用得好,而当前还有很多问题要解决

接着闫长江老师向我们介绍昇腾异构计算架构的最新进展。闫老师指出人工智能将来要成为一项广泛应用的技术,要解决怎么能让大量的企业用得上用得好,当前还有很多问题要解决。主要面临以下三个问题:

  • 算力昂贵

  • 人才稀缺

  • 开发难度大

图片

针对这些难点,华为昇腾异构计算架构主要也是为了解决基础算力这一问题。目前 AI 在算力上面临的新挑战、新趋势以及新问题主要存在于四个方面:计算新范式、异构计算、大集群、推理部署。

图片

CANN 是昇腾 AI 全栈的核心,发挥承上启下的关键作用

针对以上的问题,昇腾的核心 CANN 对上适配多框架,对下适配多异构芯片,针对多样化应用场景,提供高效易用的编程方式,是突破 AI 产业平台的关键。

图片

CANN 的架构从内部核心来看包含:计算执行引擎、张量编译器、算子库。从外部来看,最重要的是提供了几个编程接口。第一个是算子开发接口,该编程接口能够让开发者在昇腾芯片的基础上定义基础算子。另一个是模型编程接口,也就是构图接口,可以让开发者定义自己的模型。再来运行应用部署可以调用 HL 应用开发接口来把定义好的模型加载到系统上去运行调试。

图片

CANN 异构计算架构在 2021 年取得了一些重大的进展和突破。这里闫老师跟我们分享了取得突破的四项关键优化技术:

  • 自动流水

  • 算子深度融合

  • 自适应梯度切分

  • 智能计算调优

图片

第一项是自动流水技术。AI 的计算里面,在一个芯片内也是有多引擎、编解码的单元、随机数发生器的单元,有 CPU 单元,也有矩阵计算单元 (Cube Unit) 、向量计算单元 (Vector Unit) ,把 host 、 device 这些异构的计算单元,通过计算的并行让它能够流水起来。这样在单个芯片内和 host 的协作完成一次流水。在大规模集群里面,也采用类似的一些流水技术去优化整体性能。所以第一项关键技术就是把能够流水并行的进行流水并行。

第二项优化是算子的深度融合。采用算子深度融合可以实现在 AI Core 内部直接进行计算,性能得到大幅提升,并且融合自动化还支持融合规则灵活定制。

第三项是自适应梯度切分。在大规模集群训练中,因为需要梯度更新,如果每次把每一层的梯度都直接进行同步,这样产生拖尾比较大,中间相当于没有流水。采用自适应梯度切分是通过分析网络的每一个计算耗时,通过分析梯度数据量,还有通讯的带宽等数据自动地去决定在什么时刻同步梯度,就把前前前后后几层梯度融到一起去进行同步。这样到最后拖尾就会变得很小,这样使得整个通讯同步基本上能接近于理论性能的 90% 以上。

最后是内部使用了大量的智能计算调优。在 CANN 异构计算架构中有个 AOE 模块用于完成各种调优。这里的调优实际上是包括算子本身的调优,自适应梯度调优等,通过调优工具来自动地完成很多优化的选择,这样使得整个模型的性能大大的提升。


华为 ModelZoo 在业内主流 Model 数量上有一个巨大的提升,助力开发者实现高性能推理应用

闫长江老师谈到在助力开发者实现高性能推理应用上,华为 ModelZoo 中在业内主流 Model 的数量上有一个巨大的提升,针对各个框架提供的 Model ,在 ModelZoo 中都已帮助调试优化。当用户要应用的 Model 在 ModelZoo 中,ModelZoo 内的模型都是经过迁移的,下载即可在昇腾平台使用。同时昇腾还专门为推理提供了一套工具包。这个工具包包括几个功能,一个是编译器,比如提供 Tensorflow 的图,这个编译器可以自动帮你编译成生成高性能计算的模型。另外还提供了一个量化工具,推理的很多情况是为了追求高性能,需要做一个量化。这样这个完整的工具包能够帮助开发者快速地把一些推理应用编译部署到系统上。

图片

2021 CANN 在社区建设的各项指标中取得三倍的增长

最后,闫长江老师向介绍了昇腾生态的一些策略和进展。2021 年昇腾达到了差不多 60 万的开发者,期望 2022 年能进一步发展到百万开发者以上。昇腾生态主要考虑有这么几个方面:一个是 CANN 社区的建设。在 2021 年各项指标有了 CANN 社区各项数据都有了三倍的一个增长。另外还和各个科研院校有很多合作关系来一起改进昇腾技术。同时也有一些众智成果,来把更多的模型迁移到昇腾的生态上。

图片


图片

入门
暂无评论
暂无评论~