DT Value|NVIDIA安培GPU:从TOP500走向云智应用( 三 )



DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

GPU芯片两边的6个HBM2芯片是A100外观上最容易与V100(4个)区分的特征之一 。 这两代GPU也都采用多芯片立体封装的工艺 , 但作为核心的GPU仍是一个整体 , 所以制造难度越来越大
Chiplet的一大诉求就是避免制造单个巨大的芯片(Monolithic) , 以保证良率 , 而要读懂A100的核心特性 , 也必须了解良率带来的挑战 。
A100与V100的关键硬件参数对比

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

注:相对于各自的完整实现 , A100的器件损失比例明显高于V100 , 也体现了新制程的难度
从上表中可以看到 , 当前版本的A100 GPU , 离理想状态——也就是完整实现的GA100 GPU——还有一定的距离 。 判断的关键是计算单元(SM)与存储单元(HBM2芯片和内存控制器)的数量 , A100与GA100在这三个参数上都是5:6的关系(而V100与GV100的SM数量之比是相当接近的20:21) 。 也就是说 , 随着制造工艺的完善 , A100的性能指标还有接近五分之一的提升空间 。
个人认为 , 这个看似不算很大的提升空间对于云计算服务提供商颇有价值 , 因为它关系到A100的一个重要特性——MIG 。
AI:少即是多 | 第三代Tensor Core
单从计算和存储单元的的数量来看 , A100相对V100的优势 , 似乎还赶不上晶体管数量的增加;Tensor Core的数量甚至有明显下降 , 但这已经是第三代Tensor Core , 单体战斗力不可同日而语 , 总体输出反而全方位提升 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

根据NVIDIA公布的数据 , FP16/FP32混合精度下 , V100每个SM的TOPS是A100的两倍 , 结合SM数量的增长 , 总TOPS达到2.5倍 , 看起来与晶体管数量的增加相匹配 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

A100支持bfloat16和TensorFloat-32两种新的数据类型
然而“硬”指标只是一方面 , A100的Tensor Core在数据预处理上下了更大的功夫 , 通过减少实际参与运算的数据量来强化中低精度的性能 。 这主要体现在两方面:
首先是支持更多的数据类型 。 A100的Tensor Core支持Google在TensorFlow中引入的bfloat16(BF16)数据类型 , 它相当于直接截取了FP32的前16位 , 所以在存储和运算开销与FP16相当的情况下 , 具有更大的动态范围 , 代价是牺牲了精度 。 A100 Tensor Core的创新之处是引入了TensorFloat-32(TF32)来加速FP32运算 , TF32结合了FP32(等同BF16)的动态范围和FP16的精度(高于BF16) , FP32矩阵相乘之前先转换为TF32格式以加快处理速度 , 据称在HPC的线性动力学场景中可以获得4倍的性能提升 , 并在单精度训练中达到5倍的性能 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

进入Tensor Core的FP32数据被转换为TF32以加速运算 , 外部的存储和运算仍保持FP32格式
再往上到了数据结构层面 , 即支持(细粒度)结构化稀疏 , 适用于加速卷积和矩阵乘操作 , 优化推理性能 。 对细粒度权重稀疏的研究由来已久 , NVIDIA表示A100是第一次将这方面的研究成果转化为生产 。 这个细粒度的结构化稀疏比较规整 , 稀疏度是50%、在连续4个数据元素中按规则选取2个值置0而不存储 , 相当于把矩阵的数据量压缩一半 , 不过元数据索引还有一定比例的开销 。 安培架构Tensor Core通过把稀疏计算转变为稠密计算 , 理论上能够将TOPS再提高一倍 , NVIDIA出示的数据表明:矩阵乘和卷积性能提升大约为1.5~1.85倍 , 端到端推理可以获得30~50%的加速 。


推荐阅读