资讯详情

【华为Atlas人工智能计算平台概述】

文章目录

  • AI芯片分类
  • AI芯片的现状
  • 升腾芯片硬件架构
    • 升腾处理器逻辑架构
    • 昇腾AI计算引擎-达芬奇架构
    • 达芬奇架构(AI Core)— 计算单元
    • 达芬奇架构(AI Core)— 存储系统
    • 升腾芯片的软件架构,
    • 昇腾AI神经网络软件流处理器
  • Atlas全景人工智能计算平台[插入图片描述](https://img-blog.csdnimg.cn/2505711b84764fe1ad52a62962bc81b3.png)


也被称为AI加速器是专门用于处理人工智能应用中大量计算任务的功能模块。

AI芯片分类

从技术结构上看,大致分为四类:CPU、GPU、ASIC、FPGA。之前的博客都提到过,这里就不介绍了。

培训环节通常需要通过大量的数据输入或非监督学习方法来培养复杂的深度神经网络模型。在培训过程中,它涉及大量的培训数据和复杂的深度神经网络结构。计算量巨大,计算规模大,对处理器的计算能力、精度和可扩展性要求高,常用的例如:英伟达GPU集群、Google的TPU(张量处理单元)等。

推理链接是指利用训练模型,使用新数据推理各种结论,如视频监控设备通过背景深度神经网络模型,判断捕捉面是否属于特定目标,虽然推理计算比训练链接少得多,但仍会设计很多操作,在推理链接中,GPU、FPGA和ASIC都有很多的应用价值。

因此,对于人工智能,对计算能力的要求很高。

AI芯片的现状

随着摩尔定律的逐年稳步提高,早期算机性能;后来,摩尔定律失败,通过增加核数来提高性能,但功耗和成本会增加;后来,通过修改架构来改进AI性能,如在复杂的指令集架构中添加AVX512等指令,在ALU加入矢量运算模块的计算模块(FMA),或添加精简指令集架构Cortex A等待指令集并计算持续升级;然后通过提高频率来提高性能,但改进空间有限,高主频会导致芯片功耗过大和过热。

它在矩阵计算和并行计算方面具有突出的性能,是异构计算的主力军,早期被用作深度学习的加速芯片AI而且,生态成熟(最早是为了游戏)

英伟达沿用GPU的架构,在这个基础上,在蛇毒学习的两个方向上发力,一个方向是丰富生态,在这个方向上推出了cuDNN对于神经网络的优化库,提高易用性和优化性GPU底层架构;另一个方向是提高定制性,增加多数据类型的支持,而不仅仅是坚持float32,还增加了int还增加了深度学习增加了深度学习专用模块,(例如,张量核的改进的改进架构,V100的TensorCore)

对于GPU目前存在的主要问题是成本高、能耗低、延迟高。

(Tensor Processing Unit)

自2006年以来,谷歌一直致力于ASIC设计理念应用于神经网络领域,发布了支持深度学习的开源框架TensorFlow人工智能定制芯片TPU(Tensor Processing Unit)。

脉动阵列可用于优化矩阵乘法和卷积运算,提供更高的计算能力和更低的能耗。

采用HDL可编程,灵活性高,可重构,可深度定制。

可通过多片FPGA联合将DNN模型加载到片上进行低延迟计算,计算性能优于GPU,但由于需要考虑不断擦写的过程,性能达不到最佳(冗余晶体管和连接,相同的功能逻辑电路占芯片面积更大)。

由于供应风险和研发风险较低,成本取决于购买量,相对自由。

解耦流片工艺,开发周期长(通常半年),门槛高。

(Neural-Network Processing Unit,神经网络处理器):在电路层模拟人类神经元和突触,用深度学习指令集直接处理大规模神经元和突触,用一个指令处理一组神经元。

NPU华为升腾的典型代表AI芯片(Ascend)、寒武纪芯片,IBM的TrueNorth。

对华为公司的升腾AI主要有两种芯片:升腾310和升腾910.

对于昇腾310来说,主要用于推理应用,昇腾910主要用于训练,二者的功耗也有一定的差异,如下图所示

在这里插入图片描述

升腾芯片硬件架构

升腾芯片硬件架构AI处理器逻辑架构和达芬奇架构。

升腾处理器逻辑架构

昇腾AI处理器的主要结构组成:

1.芯片系统控制CPU

2.AI计算引擎(包括AI Core和AI CPU)

3.多层次的片上系统缓存(Cache)或缓冲区(Buffer)

4.数字数据预处理模块(Digital Vision Pre-Processing,DVPP)等

如下图所示,升腾AI处理器的逻辑架构

昇腾AI计算引擎-达芬奇架构

昇腾AI处理器的四大主要结构之一是AI计算引擎,AI包括计算引擎AI core 和AI CPU。因此,达芬奇架构是专门的AI计算能力提升开发的架构 也就是昇腾AI计算引擎和AI处理器的核心。

达芬奇架构的主要部分:

1.计算单元: 包括矩阵计算单元、向量计算单元、标量计算单元三种基本计算资源

传统的计算单元CPU和GPU它包含三种基本计算资源,将不同类型的数据放入不同的计算资源中,最大限度地提高计算强度。

  1. 存储系统: AI Core存储系统由存储单元和相应的数据通道组成。

  2. 控制单元:指令控制相当于整个计算过程AI Core司令部负责整个AI Core的运行。

达芬奇架构(AI Core)— 计算单元

计算单元包括三种基本计算资源:Cube Unit、Vector Unit和Scalar Unit,三种常见的计算模式对应矩阵、向量和标量。

  1. 矩阵计算单元:矩阵计算单元和累加器主要完成矩阵相关运输 算。一拍完成一个fp16的 16x16与16x16矩阵乘(4096); 如果是int一拍完成输入 1632 与 3216 矩阵乘 (8192);如图像数据。

2.向量计算单元:实现向量与标量或双向量之间的计算 它可以覆盖各种基本的计算类型和许多定制的计算类型,主要包 括FP16/FP32/Int32/Int计算8等数据类型; 如一维。

  1. 标量计算单元:相当于微型CPU,控制整个AI Core的运 可以完成整个程序的循环控制和分支判断 Cube/Vector提供数据地址和相关参数的计算,以及基本的 算术操作,如个位数字。

达芬奇架构(AI Core)— 存储系统

1.存储系统由存储单元和相应的数据通道组成AICore的存储系统 2.存储单元由存储控制单元、缓冲区和寄存器组成

  1. 数据通道:指AICore数据在完成计算任务时AICore中间的流通路径。

达芬奇架构数据通路的特点是多进单出,主要考虑到神经网络在计算过程中输入的数据种类繁多,数量巨大, 并行输入可以提高数据流入的效率。相反,在处理各种输入数据后,通常只生成输出特征矩阵, 数据类型相对单一,单输出数据通道可以节省芯片硬件资源。

升腾芯片的软件架构,

升腾芯片的软件架构包括:升腾芯片AI处理器软件的逻辑架构和升腾AI 处理器神经网络软件流。

昇腾AI处理器软件的逻辑架构可分为四层,即L3应用使能层, L2执行框架层, L芯片使能层和 L如下图所示,0计算资源层,

为各个领域提供计算和 合理的引擎可以直接使用下一层L2执行框架提供的框架调度能力通过通用框架产生相应的神经网络 实现具体的引擎功能。 ( 通用发动机:提供用的神经网络推理能力; 计算机视觉引擎:提供视频或图像处理的算法封装; 语言文字引擎:提供语音、文本等数据的基础处理算法封装)

L3层将应用算法开发完并封装成引 擎后,L2层会根据相关算法的特点进行合适深度学习框架的调用(如Caffe或TensorFlow),来得到 相应功能的神经网络,再通过框架管理器生成离线模型。L2层将神经网络的原始模型转化成可在 昇腾AI芯片上运行的离线模型后,离线模型执行器将离线模型传送给L1芯片使能层进行任务分配。

针对不同的计算任务,L1层通过加速库 (Library)给离线模型计算提供加速功能。L1层是最接近底层计算资源的一层,负责给硬件输出算 子层面的任务。

昇腾AI处理器神经网络软件流

昇腾AI处理器神经网络软件流,是深度学习框架到昇腾AI芯片之间的一座桥梁,完成 一个神经网络应用的实现和执行,并聚集了如下几个功能模块。 1.流程编排器:负责完成神经网络在昇腾AI芯片上的落地与实现,统筹了整个神经网络生 效的过程,控制离线模型的加载和执行过程; 2. 数字视觉预处理模块:在输入之前进行一次数据处理和修饰,来满足计算的格式需求; 3. 张量加速引擎:作为神经网络算子兵工厂,为神经网络模型源源不断提供功能强大的 计算算子; 4. 框架管理器:专门将原始神经网络模型打造成昇腾AI芯片支持的形态,并且将塑造后的 模型与昇腾AI芯片相融合,引导神经网络运行并高效发挥出性能; 5. 运行管理器:为神经网络的任务下发和分配提供了各种资源管理通道;

6.任务调度器:作为一个硬件执行的任务驱动者,为昇腾AI芯片提供具体的目标任务;运 行管理器和任务调度器联合互动,共同组成了神经网络任务流通向硬件资源的大坝系统, 实时监控和有效分发不同类型的执行任务。

它们之间的逻辑关系如下图所示

数字通过数字视觉预处理模块进入到框架管理器,框架管理器将塑造好的魔心和芯片融合,接着通过运行管理器来下发人物,分配一些资源管理通道,进入任务调度器,任务调度器分发不同类型的执行任务,最后交给昇腾AI处理器。

昇腾AI处理器数据流程图的一个典型应用就是人脸识别推理应用,

首先是Camera数据采集和处理 ,从摄像头传入压缩视频流,,通过PCIE存储值DDR内存中。 DVPP将压缩视频流读入缓存。 DVPP经过预处理,将解压缩的帧写入DDR内存。

接着对数据进行推理,通过 任务调度器(TS)向直接存储访问引擎(DMA)发送指令,将AI资源从DDR预加载到片上缓冲区。 任务调度器(TS) 配置AI Core以执行任务。 AI Core工作时,它将读取特征图和权重并将结果写入DDR或片上缓冲区。

最后 进行人脸识别结果输出 , AI Core完成处理后,发送信号给任务调度器(TS),任务调度器检查结果,如果需要会分配另一个任务, 并返回之前的步骤 。 当最后一个AI任务完成,任务调度器(TS)会将结果报告给Host。

Atlas人工智能计算平台全景

芯片和硬件是最底层的部分,像芯片,和一些其他的部件。

CANN:基于昇腾AI处理器的芯片算子库和高度自动化算子开发工具,兼具最优开发效率和算子最佳匹配昇腾芯片性能。

框架:各种开发框架,需要被使用,华为的开发框架是MindDpore

应用使能:主要是智能边缘平台、深度学习的平台,还包含了一些集群的管理等。

对于Atals加速AI推理模块方面,华为推出了以下几款基于昇腾310AI处理器的产品,

Atlas 200DK和Atlas 200是比较初级的设备,用于一些小型的推理应用,可以在一台笔记本上搭建开发环境,本地独立环境成本比较低,对于一些研究者,可以进行一些本地开发和云端训练,对于创业者来说,可以提供一些代码级Demo,可以基于一些参考架构,完成算法的功能,对于一些商品产品进行无缝迁移;Atlas 300是业界最高密度的64路的视频推理加速卡,可应用的场景非常多,比如高清视频实时分析,语音识别,医疗影像分析;Atlas 500 是智能小站,可以完成一些实时的数据流的处理,Atlas 800是基于鲲鹏处理器的超强算例的AI推理平台。

对于Atals加速AI训练模块方面,华为推出了以下几款基于昇腾910AI处理器的产品,

Atlas 900 AI集群是全球最快的AI训练集群,算力是业界领先,拥有极致散热系统。

Atlas深度学习系统加速AI模型训练,构建丰富应用,端边云协同,打造极致开发、使用体验。

标签: 900晶体管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台