找回密码
 注册
关于网站域名变更的通知
查看: 733|回复: 1
打印 上一主题 下一主题

华为昇腾AI芯片,你了解多少?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-4-25 16:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

3 d' e* R) \8 o# s. ~, Y/ {5 \
  K) w9 B, p$ m) A& D
今天我们来聊一聊华为的昇腾AI处理器。首先我们来简单说一下为什么需要人工智能芯片。那么对于近年来人工智能技术的突破性发展业界普遍认为有三个主要的推动力量,一个是海量数据的产生和累积一个是理论算法的创新还有一个就是计算技术的变革。那么数据算力和算法这三点是相互结合,缺一不可的。如果我们把人工智能技术的发展比作是一个正在起飞的火箭,那么大数据就是它的燃料算法和理论就是用来控制它的飞行轨迹和姿态计算技术则是它持续爆发的引擎。那么为了让这个火箭飞得更高,飞得更远,我们就需要不断的获取更多的数据,并且不断的创造和改进我们的算法模型和理论。来对这些数据进行更有效的处理分析和利用。此外我们还要不断的升级计算的能力,从而在更短的时间处理更多的数据。那么承载这一切发展最重要的基础就是芯片特别是人工智能芯片。
5 A- K/ w  V& }7 X; E# N

* k9 |% @  F% k' F. v2 P
接下来,我们重点看一下人工智能专用芯片,特别是华为的昇腾AI处理器的相关技术内容。聊一聊昇腾系列处理器的一些技术特点,包括硬件架构、软件架构,以及围绕这个昇腾处理器构建的生态系统的一些内容。
2 p2 b) K) W% H- Y- `
  首先我们来看一下昇腾AI芯片的硬件架构。这里说的昇腾AI 处理器其实有两个,一个是2018年发布的昇腾310它主要针对的是推理应用一个是2019年发布的针对训练应用的昇腾910。值得注意的是,作为人工智能专用芯片,它们都是为了特定的领域进行设计和深度优化的。这也是像昇腾这样的专用芯片,区别于CPUGPU这些通用芯片的最主要的方面。那么在AI系统中又继续分成训练和推断这两个过程。
7 t2 _/ D" Z9 H7 D

4 C+ H( z5 c. ^# Q
比如昇腾910主要针对的就是在云端的AI训练应用,所以芯片的性能也就是算力的大小,就是它优化的重点。因此它使用7纳米工艺进行制造。FP16算力可以达到256TFLOPS, INT8算力高达512 TOPS同时支持128通道的全高清视频解码。这些性能呢其实都超过了同时期的GPU,比如英伟达的V100。那么为了实现这么高的算力,它最高的功耗是310瓦和GPU基本处于一个量级。相比之下昇腾310针对的是推理场景,主要是应用在移动端。
  所以这就需要对性能和功耗进行一定的平衡。因为我们基本不可能在部署智能摄像头,无人驾驶车辆,或者是我们的手机或者手表里 放一个有几百瓦功耗的AI芯片,同时对于一些边缘计算的场景,对芯片使用成本的限制,以及芯片本身的实时性、安全性等等也都是重要的考虑因素。所以结合这些需求呢,昇腾310采用的是12纳米工艺进行制造,最大的功耗仅为8瓦。那么在性能方面,它的FP16算力达到了8TFLOPSINT8算力可以达到16 TOPS,同时也集成了16通道的全高清视频解码器。那么这些在边缘计算领域其实已经是很高的算力了。
  现在很多芯片的结构其实都是以片上系统的形式进行设计和开发的。我们拿蛋糕举个例子。也就是在一个盒子里装了很多不同的小蛋糕,而不是直接做一个特别大的蛋糕。比如每个小蛋糕都可以分别做,还可以做不同的口味大小最后呢整合在一起就行了这样既节省了制作的时间,也降低了制作的风险和成本。那么同样的华为昇腾AI芯片,它的本质也是一个片上系统。在芯片上有很多不同的模块,也就是前面说的这些小蛋糕组成的。他们有的负责数据存储,有的负责接口和通信,有的负责任务的调度和控制。当然还有最重要的就是负责AI运算的这些计算核心。
6 J+ H( x2 Y; b5 U, L4 B( l2 M
那么从硬件结构来看昇腾AI芯片,最主要的特点就是它的AI核心采用了华为自研的达芬奇架构包括昇腾910昇腾310。其实都是使用了基于达芬奇架构的AI核心。总体来说,达芬奇架构可以分为三个主要的组成部分,分别对应数据的计算、存储和控制。那么拿这个计算单元来说,它可以执行标量向量和张量三种基础的运算。比如张量运算就是专门用来加速AI应用中的矩阵运算。它也就叫做所谓的3D Cube 单元,它可以用一条指令完成两个1616的矩阵的相乘运算。
$ U- ?# X$ s  K  G- v
那么除了芯片的硬件结构之外,同样非常重要的就是芯片编程的方法和软件架构的设计和实现。英伟达GPU之所以在人工智能领域大放异彩,并且得到非常广泛的应用,GPU芯片的性能提升固然重要。但是更重要的是,它推出了成熟且易用的编程框架CUDA相比之下FPGA的编程难度极大,这也在很大程度上限制了FPGA的广泛使用。那么对于这种AI专用芯片,昇腾AI处理器也提供了一个多层的软件和开发工具链,来帮助开发者更好的使用昇腾。通过软件的多样性,也能在很大程度上弥补专用芯片灵活性不足的劣势。
这个软件可以分为4层,最底下的是处理器的计算资源。比如前面提到的AI核心CPU还有负责数字视觉的计算模块等等再往上是一些标准的加速库,负责给硬件输出算子层面的任务此外还有任务调度器和一些预处理的模块然后再往上就是框架层,顾名思义它就是用来调度和管理深度学习框架,并且生成离线模型用的。值得注意的是昇腾AI处理器不仅支持主流的深度学习框架,还支持华为自研的名叫MinDSPore的深度学习框架。那么通过MindSpore的深度学习框架产生的神经网络模型,可以直接运行在昇腾AI芯片上而无需进行硬件的适配和转换,这就极大的提升了开发效率。这个软件的最后一层就是应用层,它的抽象程度最高,封装集成了很多专用领域的计算引擎,比如针对计算机视觉,还有针对语言文字处理的算法封装等等。用户也可以直接拿过来进行调用。那么除了这几个大的逻辑层次之外呢,昇腾的软件还提供了一个完整的开发工具链MindStudio 包括编译调试、性能分析模型转换等等。

* e/ D* F, w$ q8 h+ y) R/ v) A
介绍了硬件架构和软件,我们还需要最后一个大的环节来完成整个生态的闭环,那就是提供结合软硬件的系统级解决方案。这个其实是一个目前芯片界的发展趋势。那么不管你是CPUGPUFPGA还是像这样的AI专用芯片,其实都是在遵循这个规律进行发展。简单来说呢,就是芯片公司不仅要提供牛逼的芯片,除此之外他们还需要提供好用的软件和开发工具。 就像前面介绍的软件,再然后呢,你最好还要提供完整的参考设计以及软硬件系统,让大家拿过来就能用。同样的腾也提供了一系列的硬件产品。从最小的加速模块到推理或者是训练用的加速卡,再到专用的服务器,甚至是由多个服务器阵列组成的计算集群,这样也构建了一个涵盖终端边缘以及云计算产品的产品组合,使得用户可以根据自身的实际需要选择合适的硬件产品。这个也就是华为所说的全场景覆盖。
" ?7 P. I; A! V: ]/ J0 y' I" y
  最后来总结一下今天的主要内容。我们从硬件、软件和生态三个角度介绍了华为的昇腾AI芯片。我们还深入的探讨了华为自研的达芬奇架构以及MindSpore 深度学习框架的一些技术特点。同时我们也看了一些业界的发展趋势,也就是以硬件为基础,通过软件扩展灵活性和易用性。然后围绕软硬件去打造系统级的解决方案并且由此构建一个完整的生态系统。
5 |1 G0 Q7 m& \+ y5 b6 K1 L
$ q3 K$ D/ x. I% B
8 g$ r, o! {6 a+ y3 T6 h+ K' w
  • TA的每日心情
    慵懒
    2020-8-28 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-4-25 17:54 | 只看该作者
    华为的麒麟
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-18 13:17 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表