其他
AI加速器与机器学习算法:协同设计与进化
作者|Shashank Prasanna
翻译|胡燕君
为什么需要专用AI加速器? ML硬件的分类:CPU、GPU、AI加速器、FPGA和ASIC “硬件感知(Hardware-aware)”的算法和“算法感知(Algorithms-aware)”的硬件 AI加速器与高效ML算法的协同进化 针对推理的AI加速器与高效算法 针对训练的AI加速器与高效算法 AI加速器的未来
1 为什么需要专用AI加速器?
CPU等通用处理器牺牲低能耗换取通用性,AI加速器等专用处理器则牺牲通用性换取低能耗。
2 ML硬件的分类——CPU、GPU、AI加速器、FPGA和ASIC
如上图所示,最具通用性的是CPU,可以运行任意代码。专用芯片可执行的任务,CPU也能执行,如图像处理、语音处理、机器学习等。然而,CPU的性能和能效都比较低。
3 “硬件感知(Hardware-aware)”的算法 和“算法感知(Algorithms-aware)”的硬件
硬件和软件的协同可以带来更好的性能和更高的能效。
4 AI加速器与高效ML算法的协同进化
5 针对推理的AI加速器与高效算法
训练后量化(PTQ):使用一个训练好的、以FP32格式计算的模型,确定比例因子,然后将FP32映射为INT8。确定比例因子的方法是:TensorRT衡量每个神经网络层中激活函数输出的分布,然后找到一个使参考分布(reference distribution)和量化分布(quantized distribution)之间信息损失(KL散度)最小的比例因子。
量化感知训练(QAT):在训练中计算比例因子,使模型可以适应信息损失并将信息损失降到最低。
6 针对训练的AI加速器与高效算法
NVIDIA Volta架构(2017)引入第一代Tensor Core,当时仅支持FP16运算和FP32累积结果。 NVIDIA Turing架构(2018)的Tensor Core支持更低精度的INT8和INT4(主要可以加速推理,而非加速训练)。 NVIDIA Ampere架构(2020)的Tensor Core还支持BF16和TF32,也就是说,它可以执行FP16、BF16和TF32运算,并且用FP32累积结果,以实现混合精度
7 AI加速器的未来
头图源自brookhaven, Pixabay
OneFlow v0.8.0正式发布 深度学习硬件的过去、现在和未来 Groq:从头设计一个张量流式处理器架构 Hugging Face:成为机器学习界的“GitHub” 探索编译软件栈新范式;陈天奇DL系统免费课程 OneEmbedding:单卡训练TB级推荐模型不是梦 大模型训练难?效率超群、易用的“李白”模型库来了