向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

破解华为达芬奇架构的密码

时间:2019-08-30 作者:顾正书 阅读:
达芬奇架构依然基于Arm架构,是在Arm架构基础之上研发的AI硬件处理单元,它不是替代Arm处理器,而是与之配合,为通用处理器添加AI加速器功能。华为的麒麟810芯片采用的是达芬奇NPU,也就是传统的Arm核+AI加速器的模式。当然,这个AI加速器是达芬奇NPU的核心,它把MAC按照不同的计算组成不同的方式,搭配标准的数据缓存,进行AI运算时按照cube三维立方模式组织的MAC群支持相关运算。

全场景全栈AI战略

华为最近正式发布了Ascend-max系列AI芯片昇腾910,以及全场景AI框架MindSpore,进一步明确了其全场景全栈AI战略。基于华为原生全场景(all-scenario native)的AI全栈解决方案包括Ascend、CANN、MindSpore、应用使能四个层次。uPPEETC-电子工程专辑

• Ascend(昇腾)是基于统一、可扩展的达芬奇架构的系列化AI IP和芯片,包括Max、Mini、Lite、Tiny和Nano五个系列。uPPEETC-电子工程专辑
• CANN是芯片算子库和高度自动化算子开发工具,目标是兼具最优开发效率和算子性能,以应对学术研究和行业应用的蓬勃发展。CANN 是神经网络计算架构( Compute Architecture for Neural Networks)的缩写,提供了高性能的CCE算子库,其关键组件是高度自动化算子开发工具Tensor Engine。uPPEETC-电子工程专辑
• MindSpore为支持端、边、云独立和协同的统一训练和推理框架,明年将对外开源。它包括模型库、图计算和调优工具包等核心子系统,具备ML/ DL/RL的统一分布式架构,灵活的程序界面,并支持多种语言。MindSpore可以很小,也可以很大,以适应不同的环境。uPPEETC-电子工程专辑
• 应用使能层是一个机器学习PaaS,提供全流程服务、分层分级API以及预集成方案,目标是满足不同开发者的独特需求,使AI的采用更加容易。ModelArts就是这种完整的全流程服务,可将模型生产所需的所有服务一站式提供,从获取数据到模型训练,直到适应变化。uPPEETC-电子工程专辑

揭开达芬奇神秘面纱

Ascend(昇腾)IP和芯片是华为全场景全栈AI战略的基石,所采用的是华为自研的达芬奇AI内核架构。这个以中世纪文艺复兴时期科学和艺术奇才达芬奇(Da Vinci)命名的AI内核架构究竟有多神奇呢?在2019 Hot Chips大会上华为揭开了达芬奇架构的神秘面纱。uPPEETC-电子工程专辑

华为海思首席科学家、昇腾总架构师廖恒博士通过视频(因为美国政府限制而无法去硅谷)在今年的Hot Chips大会上介绍了华为基于达芬奇架构的AI加速器芯片、软件和系统。Ascend 910芯片主要面向数据中心的云端AI训练,在很多方面似乎已经超越英特尔和发布历史上面积最大芯片的AI芯片初创公司Cerebras,其半精度 (FP16)算力达到256 Tera-FLOPS,整数精度 (INT8) 算力达到512 Tera-OPS,达到规格算力所需功耗仅310W,低于原来的设计规格350W。华为已经把昇腾910用于实际AI训练任务。比如,在典型的ResNet50 网络的训练中,昇腾910与MindSpore配合,与现有主流训练单卡配合TensorFlow相比,显示出接近2倍的性能提升。uPPEETC-电子工程专辑

Huawei-Ascend-910-AI-Training-Chip-Block-Diagram.jpguPPEETC-电子工程专辑
uPPEETC-电子工程专辑
图1:Ascend 910包含32个达芬奇内核 (来源:华为)uPPEETC-电子工程专辑

Huawei-Ascend-910-AI-Training-Server.jpguPPEETC-电子工程专辑
uPPEETC-电子工程专辑
图2:由Ascend 910驱动的AI服务器集成8颗达芬奇芯片和2颗X86 Xeon CPU(来源:华为)
uPPEETC-电子工程专辑

Ascend Cluster可能是当今世界上最大的分布式训练系统,把1024个最高计算密度的Ascend 910芯片连接到一个计算群集中,提供256 PetaFLOPS超高计算能力,能以前所未有的速度进行模型训练,使在几分钟或几秒钟内实现训练目标成为可能,同时结合32TB HBM,如果需要,可以更容易地开发比以前更大的新模型。uPPEETC-电子工程专辑

Huawei-Ascend-910-AI-Training-Cluster.jpguPPEETC-电子工程专辑
图3:Ascend 910服务器集群性能高达512 Peta Flops(来源:华为)uPPEETC-电子工程专辑

去年发布的昇腾310属于Ascend-mini系列,是华为已经投入商用的第一颗AI SoC芯片。在最大功耗仅8W的情况下,其整数精度(INT8)算力达到16Tops,半精度(FD16)算力达 到8Tops。同时,该芯片中还集成了16通道全高清视频解码器,是面向边缘计算场景最强算力的AI SoC。基于昇腾310芯片的产品和云服务已获得广泛应用。其中,基于昇腾310的MDC和很多国内外主流车企在园区巴士、新能源车、自动驾驶等场景已经深入合作。基于昇腾310的Atlas系列板卡、服务器,已经与数十家合作伙伴在智慧交通、智慧电力等数十个行业落地行业解决方案。uPPEETC-电子工程专辑
Huawei-Ascend-910-and-Ascend-910-Overview.jpguPPEETC-电子工程专辑
图4:Ascend 310和910之性能对比(来源:华为)uPPEETC-电子工程专辑

规划中的Ascend系列还包括面向PC和笔记本电脑的Lite、面向移动手机设备的Tiny,以及针对可穿戴智能设备的Nano系列IP和芯片。uPPEETC-电子工程专辑

破解达芬奇密码

华为为何选择统一架构来开发Ascend芯片?原因如下:uPPEETC-电子工程专辑

• 统一架构的好处很明显:只需一次算子开发,然后可在任何场景下使用;跨场景一致开发和调试体验;更重要的是,一旦完成某个芯片的算法开发,就可顺利将其迁移到面向其它场景的其它IP或芯片上。uPPEETC-电子工程专辑
• 达芬奇架构设计的核心理念:以最小的计算代价增加矩阵乘的算力,实现更高的AI能效。达芬奇架构采用3D Cube针对矩阵运算做加速,大幅提升单位功耗下的AI算力,每个AI Core可以在一个时钟周期内实现4096个MAC操作,相比传统的CPU和GPU实现数量级的提升。uPPEETC-电子工程专辑
• 它具有可扩展计算、可扩展内存和可扩展互连等三大独特关键技术,使得统一架构成为可能。uPPEETC-电子工程专辑
Huawei-Davinci-Core-HC31.jpguPPEETC-电子工程专辑
图5:达芬奇内核模块示意图 (来源:华为)
uPPEETC-电子工程专辑

为实现可扩展的计算能力,达芬奇架构采用了一个可扩展的Cube作为超高速矩阵计算单元,在其最大配置(16x16x16)下,一个Cube可在一个时钟周期内完成4096个FP16 MACs 运算。鉴于需要支持的巨大动态范围,16x16x16 Cube是性能和功耗的最佳平衡点。以16x16x16为中心,具有Cube Scale in功能和高效的多核堆叠功能,这样就可以使用一种架构来支持所有场景。对于那些计算能力较低的应用场景,Cube可以逐步缩小到16x16x1,这意味着在一个周期内完成256个MACs运算。这种灵活性与一套指令集结合,成功提供了计算能力和功耗的平衡。通过支持多种精度,可以最有效地执行每项任务。uPPEETC-电子工程专辑

鉴于极高的计算密度,当电路全速运行时,电源的完整性变得至关重要,皮秒级电流控制技术有效地满足了这一极其关键的要求。与此同时,达芬奇Core还集成了超高位矢量处理器单元和标量处理器单元。这一多种计算设计使得达芬奇架构不仅支持矩阵以外的计算,而且可以适应未来神经网络计算类型的潜在变化。uPPEETC-电子工程专辑

Huawei-Davinci-Building-Blocks-HC31.jpg.jpguPPEETC-电子工程专辑

图6:3D Cube矩阵单元具有很高的计算密度 (来源:华为)uPPEETC-电子工程专辑

为实现可扩展内存,每个达芬奇Core都配备专用SRAM,其功能固定,容量可变,适应不同的计算能力场景。所有这些存储器都设计为对低层软件显性,因此可以通过Auto-Tiling plan配合实现数据多路复用的精细控制,最终达到最佳性能和功耗平衡,以适应不同场景。uPPEETC-电子工程专辑

针对数据中心应用,片上超高带宽Mesh网络将多个达芬奇Core连接在一起,保证Core之间以及Core与其它IP之间的极低延迟通信。借助带宽高达4TByte/s的 L2 Buffer和1.2TByte/s HBM,高密度计算Core的性能得到充分利用。通过使用2.5D封装工艺,Ascend 910芯片集成了8个裸片,包括计算、HBM和IO。uPPEETC-电子工程专辑
Huawei-Ascend-910-AI-Training-Die-Shot-1.jpguPPEETC-电子工程专辑
图7:Ascend 910裸片布局和整体尺寸 (来源:华为)uPPEETC-电子工程专辑

Huawei-Ascend-910-AI-Training-NOC.jpguPPEETC-电子工程专辑
图8:Ascend 910 NoC拓扑结构(来源:华为)
uPPEETC-电子工程专辑

达芬奇与Arm架构之区别

华为自研的达芬奇架构与处理器通用架构Arm有什么区别?简单地说,其实就是二维图与三维图的区别。uPPEETC-电子工程专辑

达芬奇架构依然基于Arm架构,是在Arm架构基础之上研发的AI硬件处理单元,它不是替代Arm处理器,而是与之配合,为通用处理器添加AI加速器功能。华为的麒麟810芯片采用的是达芬奇NPU,也就是传统的Arm核+AI加速器的模式。当然,这个AI加速器是达芬奇NPU的核心,它把MAC按照不同的计算组成不同的方式,搭配标准的数据缓存,进行AI运算时按照cube三维立方模式组织的MAC群支持相关运算。uPPEETC-电子工程专辑

虽然是基于Arm核心,但是达芬奇仍然是华为的自研架构,华为已经购买了ARMv8永久的架构授权,华为会持续在ARMv8架构基础上进行研发,对该架构独立完成升级工作,自研的达芬奇架构也会逐渐形成独立的体系,支持自家的Ascend系列芯片,甚至授权给AI芯片设计公司以针对特定应用开发相应的芯片方案。uPPEETC-电子工程专辑
Huawei-Ascend-910-310-and-Kunpeng-920.jpguPPEETC-电子工程专辑
图9:Ascend 310、910与Kunpeng 920的尺寸对比 (来源:华为)uPPEETC-电子工程专辑

此外,华为基于Arm架构开发的鲲鹏920服务器芯片已经在其泰山服务器中投入商用,用于华为自己的数据中心和其它企业级数据中心。笔者认为,华为无意跟Arm、Intel或英伟达竞争去单独销售芯片,更多的是将其芯片作为客户定制的系统方案的有机组成部分而销售。uPPEETC-电子工程专辑

达芬奇与RISC-V架构

在中美贸易摩擦和科技冷战的大背景下,RISC-V开源架构得到了国内从政府、高校、企业到投资机构的高度重视,俨然成了中国发展自主半导体产业的助力器。最近,阿里平头哥和兆易创新等中国IC设计公司纷纷推出基于RISC-V的AI芯片或通用MCU处理器,更是加速了RISC-V在国内的发展势头。虽然华为海思还没有发布基于RISC-V的芯片,但笔者相信他们一定是在研发中,如何权衡RISC-V、Arm及其自己的达芬奇架构以便系统地开发完整的AI加速器和处理器方案,这或许是华为海思的工程师们在思考的问题。uPPEETC-电子工程专辑

结语

华为基于Arm架构,根据AI战略的需要而开发出独特的达芬奇架构,这种既可满足未来需求又兼容当前主流标准的研发策略将助力华为在一个统一的架构下,推出一系列内核IP、芯片、AI加速卡、AI服务器及集群,提供从IoT设备、便携式移动终端、边缘计算设备到云端服务器在内的完整解决方案,从而为其全场景全栈AI战略奠定坚实的基础。uPPEETC-电子工程专辑

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
顾正书
电子工程专辑(EETimes China)主分析师。以深圳为坐标原点,扫描全球电子和半导体行业。专注于China Fabless和SoC设计细分市场的分析和学习,欢迎交流。
您可能感兴趣的文章
  • RISC-V今年的动态都在这里了 本期“轻专辑”为读者回顾今年RISC-V领域的报道,涵盖三个部分:RISC-V行业观察、RISC-V玩家动态、RISC-V设计共16篇文章。文末还设有工程师福利,RISC-V书籍10本免费试读。
  • 除了史上最大芯片,Hot Chips还有哪些看点? 今年的Hot Chips,Cerebras搞了个大新闻,各种媒体刷屏。那么,除了史上最大芯片之外,Hot Chips还有哪些值得关注的内容?我就和大家一起浏览一下。
  • 兆易创新全球首发RISC-V通用MCU,对中国意味着什么? 在这样一个对中国而言相对特别的历史时期,RISC-V在中国似乎有着更加广泛的群众基础。其实质是在(1)IoT市场前景看好RISC-V的基础上,(2)对中国而言RISC-V具备更加“自主可控”的特点。但我们聊到RISC-V时,除了说他的优势特性,一个绕不开的话题就是“生态”问题:相较Arm、x86这类生态已经十分成熟的商业架构,生态问题是否会制约RISC-V的发展?
  • 到底什么是架构革命?在AI芯片内部再多加一层AI! “我们作为人类,刚出生的时候都差不多。为什么20-30年后,每个人都变得不一样?因为我们在学习,我们接受教育。教育和学习让我们有了个性,那么能不能让芯片通过接受教育和学习,跟别人变得不一样?如果能做到这一点,芯片会越用越聪明,越用越离不开。”
  • 商业ISA浮浮沉沉,谁是RISC-V的“定盘星” 2010年,RISC-V项目创始人David Patterson、Andrew Waterman、Yunsup Lee和Krste Asanovic开始思考,既然在互联网、操作系统、数据库、编译器、图像等行业都有开放的标准、免费及开放的实现方式和私有化的实现方式,那么有没有可能在处理器IC领域也打造一个真正开源的、免许可、免授权费用指令集架构?未来,能否用模块化IC或者是用软件定义硬件的理念,辅之以社区的方式,去设计和维护相关标准?在这一背景下,RISC-V项目应运而生。
  • AMD领先英特尔发布全球首款7nm服务器芯片 AMD正式发布了代号Rome(罗马)的第二代EPYC霄龙处理器,拥有7nm工艺、Zen 2架构、最多64核心128线程、最多256MB三级缓存、八通道DDR4-3200内存(单路最大4TB)、128条PCIe 4.0总线等一系列先进特性,而且得到了更广泛的软硬件生态支持,令人瞩目。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告