ARM技术论坛
直播中

lalajie

8年用户 1231经验值
擅长:模拟技术 存储技术
私信 关注
[经验]

分享一种用于神经网络处理的新8位浮点交换格式

启用安全且无处不在的人工智能 (AI) 是 Arm 架构的关键优先事项。人工智能和机器学习 (ML) 的潜力是显而易见的,几乎每天都会出现新的用例和好处——但与此同时,人工智能的计算需求一直在以指数速度增长,需要新的硬件和软件创新来继续平衡内存,计算效率和带宽。神经网络 (NN) 的训练对于 AI 能力的持续提升至关重要,今天标志着这一演变的激动人心的一步,Arm、英特尔和 NVIDIA 联合发布了一份关于新的 8 位浮点规范“FP8”的白皮书.

FP8 是一种可让软件生态系统轻松共享 NN 模型的交换格式,而 Arm、英特尔和 NVIDIA 之间为支持这一标准而开展的合作意义重大。这意味着在一个平台上开发的模型可以在其他平台上运行,而无需在格式之间转换大量模型数据的开销,同时将任务损失降至最低。FP8 最大限度地减少了与现有 IEEE 浮动格式的偏差,允许开发人员利用现有实施、加速跨平台采用并提高他们的生产力。

采用降低精度的浮点格式带来了许多好处。直到几年前,神经网络的训练主要是使用 IEEE 标准的 32 位浮点数来计算的。发现具有越来越多层的大型网络在 NN 任务中越来越成功,但在某些应用程序中,这种成功伴随着内存占用、功耗和计算资源最终无法控制的增加。将数据元素(激活、权重、梯度)的大小从 32 位减小变得势在必行,因此业界开始使用 16 位格式,例如 Bfloat16 和 IEEE FP16。随着需要更高精度的各种应用程序数量的增加,神经网络再次面临内存占用、功耗和计算资源方面的挑战。因此,

大量实验表明,FP8 显示出与使用 16 位和 32 位精度的基于转换器的 AI 模型以及计算机视觉和生成对抗网络 (GAN) 模型相当的模型性能。虽然 FP8 由于只有少量的指数位,因此动态范围有些有限,但这可以通过软件专有的每张量比例因子来补偿,这些比例因子调整可表示的范围,以便更好地匹配值(权重、激活,渐变等)被处理,而不是仅仅依赖于 FP8 格式。此外,模型可以在与 FP8 相同的格式下进行训练和部署,而定点格式,特别是 int8,需要在部署阶段根据统计数据仔细推导估计,以保持准确性,

在 Arm,我们计划在 2023 年将 FP8 支持添加到 Armv9 ISA,作为 Armv9.5-A 的一部分,并探索将这种支持集成到我们所有 ML 平台的最佳方式。我们坚信行业围绕一种 8 位浮点格式合并的好处,使开发人员能够专注于真正重要的创新和差异化。我们很高兴看到 FP8 在未来如何推动 AI 开发。

原作者:尼尔·伯吉斯、Sangwon Ha

更多回帖

发帖
×
20
完善资料,
赚取积分