AI芯片是智能计算的核心基础设施,对于大模型和其他人工智能技术的发展起着至关重要的作用。

​ AI计算是一种计算机器学习算法的数学密集型流程,通过加速系统和软件,从大量数据集中提取新的见解并在此过程中学习新能力。

​ AI计算的三个主要过程包括:

  • 提取/转换/加载数据(ETL):数据科学家需要整理和准备数据集。
  • 选择或设计AI模型:数据科学家选择或设计最适合其应用的AI模型,一些公司会从一开始就设计并训练自己的模型,另一些公司可能采用预训练模型并根据需求进行自定义。
  • AI推理:企业通过模型对数据进行筛选,AI在此过程中提供可行的洞察与见解。

算力及AI算力主要芯片的分类

​ 算力通常是指计算机处理信息的能力,特别是在进行数学运算、数据处理和执行程序时的速度和效率。根据使用设备和提供算力强度的不同,算力可分为:基础算力、智能算力、超算算力。智能算力即AI算力,是面向AI应用,提供AI算法模型训练与模型运行服务的计算机系统能力,其算力芯片通常包括GPU、ASIC、FPGA、NPU等各类专用芯片。

  • 基础算力:由基于CPU芯片的服务器所提供的算力,主要用于基础通用计算,如移动计算和物联网等。日常提到的云计算、边缘计算等均属于基础算力。
  • 智能算力:基于GPU(图像处理器)、FPGA(现场可编程逻辑门阵列)、ASIC(专用集成电路)等AI芯片的加速计算平台提供的算力,主要用于AI的训练和推理计算,比如语音、图像和视频的处理。
  • 超算算力:由超级计算机等高性能计算集群所提供的算力,主要用于尖端科学领域的计算,比如行星模拟、药物分子设计、基因分析等。

算力的常见单位

​ 在计算机领域,常用算力的衡量指标包括FLOPS (每秒浮点运算次数)、OPS (每秒运算次数)。FLOPS特别适用于评估超级计算机、高性能计算服务器和GPU等设备的计算性能。

​ 在计算性能的度量中,常见单位包括Kilo/Mega/Giga/Tera/Peta/Exa,算力通常以 PetaFlOPS(每秒千万亿次浮点运算)单位来衡量。

​ AI 算力常见单位分为TOPS和TFLOPS。推理算力,即通常用设备处理实时任务的能力,通常以TOPS(每秒万亿次操作)为单位来衡量。而训练算力,即设备的学习能力和数据处理能力,常用TFLOPS(每秒万亿次浮点操作)来衡量。TFLOPS数值越高,反映了模型在训练时的效率越高。

不同场景对应算力精度表示不同

​ 算力精度作为可以衡量算力水平的一种方式,可分为浮点计算和整型计算。其中浮点计算可细分为半精度(2Bytes,FP16)、单精度(4Bytes,FP32)和双精度(8Bytes,FP64)浮点计算,加上整型精度(1Byte,INT8)

​ 不同场景对应算力精度表示不同。FP64主要用于对精度要求很高的科学计算,如制造产品设计、机械模拟和Ansys应用中的流体动力学,AI训练场景下支持FP32和FP16,模型推理阶段支持FP16和INT8。

稀疏算力和稠密算力

​ 稀疏算力和稠密算力用于描述计算资源的利用程度。在实际场景中,稀疏算力和稠密算力存在互补关系与转换关系。

稠密算力:指的是在计算过程中,数据点之间的管理都较高,需要处理大量连续的数据。通常用于需要密集型计算的任务,如图像处理、视频编码、大规模数值模拟等

稀疏算力:指在计算过程中,数据点之间的关联度较低,数据分布稀疏。这种算力常用于处理稀疏矩阵或者稀疏数据集,如社交网络分析、推荐系统、基因序列分析等。

AI芯片架构与参数

AI芯片通常采用GPU与ASIC架构

​ 目前通用的CPU、GPU、FPGA等都能执行AI算法,只是执行效率差异较大。但狭义上讲一般将AI芯片定义为“专门针对AI算法做了特殊加速设计的芯片”。AI芯片可以分为GPU、FPGA和ASIC架构,根据场景可以分为云端和端侧。和其他芯片相比,AI芯片重点增强了运行AI算法的能力。

​ 目前主流AI芯片为GPU和ASIC。国际上,Nvidia的H200 Tensor Core GPU以其卓越的计算性能和能效比领先市场,而Google的第六代TPU Trillium ASIC芯片则以其专为机器学习优化的设计提供高速数据处理。在国内,寒武纪的思元370芯片(ASIC)凭借其先进的计算处理能力在智能计算领域占据重要地位,已与主流互联网厂商开展深入适配; 海光信息的DCU系列基于GPGPU架构,以其类“CUDA”通用并行计算架构较好地适配、适应国际主流商业计算软件和AI软件。

Tensor Core是增强AI计算的核心,能更好的处理矩阵乘运算

​ Tensor Core是用于加速深度学习计算的关键技术,其主要功能是执行深度神经网络中的矩阵乘法和卷积计算。

​ 与传统CUDA Core相比,Tensor Core在每个时钟周期能执行多达4x4x4的GEMM运算,相当于同时进行64个浮点乘法累加(FMA)运算。

​ 其计算原理是采用半精度(FP16)作为输入和输出(矩阵Ax矩阵B),并利用全精度(矩阵C)进行存储中间结果计算,以确保计算精度的同时最大限度地提高计算效率。

AI芯片的硬件重点性能指标

计算能力、显存、功耗、卡间互联、显存带宽

​ 图片处理器GPU又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像运算工作的微处理器,是显卡或GPU卡的“心脏”。

​ CPU和GPU在架构组成上都包括3个部分:运算单元(ALU)、控制单元(Control)、缓存单元(Cache)。从结构上看,在CPU中,缓存单元占50%,控制单元占25%,运算单元占25%;然而在GPU中,运算单元占90%比重,缓存、控制各占5%;由此可见,CPU运算能力更加均衡,GPU更适合做大量运算。

​ GPU通过将复杂的数学任务拆解成简单的小任务,并利用其多流处理器来并行处理,从而高效地执行图形渲染、数值分析和AI推理。

GPU核心分类及CUDA Core结构特点

​ 通常GPU核心可分为三种:CUDA Core、Tensor Core、RT Core。

​ 每个CUDA核心含有一个ALU(整数单元)和一个浮点单元,并且提供了对于单精度和双精度浮点数的FMA指令。

ASIC-AI芯片TPU架构基础

​ TPU的运算资源包括

  • 矩阵乘法单元(MXU):65536个8位乘法和加法单元,运行矩阵计算。

  • 统一缓冲(UB): 作为寄存器工作的24MB容量 SRAM。

  • 激活单元(AU): 硬件连接的激活函数。

​ TPU(张量处理单元)属于ASIC的一种,是谷歌专门为加速深层神经网络运算能力而研发的一款芯片,为机器学习领域而定制。

​ TPUv1依赖于通过PCle(高速串行总线)接口与主机进行通信;它还可以直接访问自己的DDR3存储。

​ 矩阵乘法单元:256 x 256大小的矩阵乘法单元,顶部输入256个权重值,左侧是256个input值。

​ DDR3 DRAM/Weight FIFO:权重存储通过DDR3-2133接口连接到TPUv1的DDR3 RAM芯片中,权重通过PCle从主机的内存预加载,然后传输到权重FIFO存储器中,供矩阵乘法单元使用。

​ 统一缓存区/脉动数据设置:应用激活函数的结果存储在统一缓冲区存储器中,然后作为输入反馈矩阵乘法单元,以计算下一层所需的值。

​ TPU的设计封装了神经网络计算的本质,可以针对各种神经网络模型进行编程。此外,Google创建了编译器和软件栈,可以将来自TensorFlow的图像的API调用转换成TPU指令。

​ 与传统CPU、GPU架构不同,TPU的MXU设计采用了脉动阵列(systolic array)架构,数据流动呈现出周期性的脉冲模式,类似于心脏跳动的供血方式。

​ CPU与GPU在每次运算中需要从多个寄存器中进行存取;而TPU的脉动阵列将多个运算逻辑单元(ALU)串联在一起,复用从一个寄存器中读取的结果。