FlexBlock:支持多模式块浮点的灵活 DNN 训练加速器
机器学习
2022-03-15 v1 人工智能
硬件体系结构
摘要
训练深度神经网络(DNNs)是一项计算昂贵的任务,即便使用高性能 GPU 也可能需要数周或数月。作为应对,学界已开始探索在训练过程中使用更高效的数据表示,例如块浮点(BFP)。然而,先前基于 BFP 的 DNN 加速器依赖于特定的 BFP 表示,通用性不足。本文基于一项算法观察:可利用多种 BFP 精度加速训练而不损害最终精度。受此算法机会支撑,我们开发了灵活的 DNN 训练加速器 FlexBlock,其支持三种不同的 BFP 精度模式,且激活、权重与梯度张量间可各不相同。尽管若干先前工作提出了此类 DNN 加速器的多精度支持,但它们不仅仅关注推理,且在考虑训练时,其核心利用率在固定精度与特定层类型下欠佳。相反,FlexBlock 的设计通过分层方式将数据映射至计算单元,可对 i) 各类层类型及 ii) 三种 BFP 精度实现高核心利用率。我们使用 CIFAR、ImageNet 和 WMT14 数据集上的知名 DNN 评估 FlexBlock 架构的有效性。结果显示,相较于其他训练加速器,FlexBlock 训练速度显著提升 1.5~5.3 倍,能效平均提升 2.4~7.0 倍,且相比全精度训练仅有微小精度损失。
引用
@article{arxiv.2203.06673,
title = {FlexBlock: A Flexible DNN Training Accelerator with Multi-Mode Block Floating Point Support},
author = {Seock-Hwan Noh and Jahyun Koo and Seunghyun Lee and Jongse Park and Jaeha Kung},
journal= {arXiv preprint arXiv:2203.06673},
year = {2022}
}