The AetherFloat Family: Block-Scale-Free Quad-Radix Floating-Point Architectures for AI Accelerators

本文提出了专为 AI 加速器设计的 AetherFloat 系列浮点架构,通过采用四基(Base-4)缩放、显式尾数及无块缩放(Block-Scale-Free)特性,在消除动态缩放硬件开销的同时,显著降低了 MAC 单元的芯片面积、功耗和延迟,并实现了更优的动态范围与梯度稳定性。

Keita Morisaki

发布于 Wed, 11 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一种名为 AetherFloat(以太浮点) 的新型数字格式,它是专门为人工智能(AI)芯片设计的。

为了让你更容易理解,我们可以把传统的 AI 计算比作在拥挤的旧式高速公路上开车,而 AetherFloat 则是一条专为赛车设计的新型赛道

以下是用通俗语言和比喻对这篇论文核心内容的解读:

1. 旧问题:为什么现在的 AI 芯片“堵车”了?

目前的 AI 芯片(如 NPU)主要使用一种叫 IEEE 754 的老式数字标准(就像几十年前的交通规则)。虽然它很通用,但在处理海量 AI 数据时,它有三个主要缺点:

  • 隐藏位(Hidden Bit)的麻烦:就像开车时,你必须先检查后视镜(隐藏位)才能决定怎么变道。这在芯片里意味着需要额外的电路来“解码”,浪费空间和时间。
  • 对齐困难(Alignment):当两个数字相乘时,如果它们的大小不一样,芯片需要把它们“对齐”。这就像两辆不同长度的卡车并排,需要复杂的机械臂去调整位置,非常耗电且慢。
  • 大数字的“溢出”危机:现在的 AI 大模型(LLM)经常产生一些特别大或特别小的数字(异常值)。传统的 8 位数字格式(如 FP8)装不下这些大数字,就像小卡车装不下大象。为了防止数据溢出,工程师必须给每辆车都配一个动态伸缩的保险杠(Block-Scaling/AMAX)。这个保险杠非常笨重,占用了大量芯片空间,还让计算变慢。

2. 新方案:AetherFloat 是怎么解决的?

AetherFloat 家族(特别是 AF8 版本)通过三个“魔法”重新设计了数字规则:

魔法一:把“负数”变成“正数”看(字典序补码)

  • 传统做法:在旧标准里,负数排序很乱,计算机需要专门的逻辑去判断谁大谁小,就像在混乱的停车场找车。
  • AetherFloat:它把负数“翻转”了一下(使用反码),让所有数字(无论正负)都能像普通整数一样直接排序。
  • 比喻:以前你要找“最重的箱子”,得先分清是“正箱子”还是“负箱子”,再分别称重。现在,AetherFloat 把所有箱子都贴上了统一的标签,直接按标签大小排好队。这样,芯片里的“比较器”(比如判断 ReLU 激活函数)可以直接用简单的整数逻辑,零延迟完成,不需要额外的电路。

魔法二:四进制(Base-4)加速(Quad-Radix)

  • 传统做法:旧标准是二进制(Base-2),每次调整数字大小只能“进位”一次(×2)。
  • AetherFloat:它改用四进制(Base-4),每次调整是“进位”两次(×4)。
  • 比喻:想象你在爬楼梯。旧标准是一级一级爬,每层都要停下来调整呼吸(对齐电路)。AetherFloat 是一次跨两级台阶,虽然偶尔会踩空一点点(精度有微小波动),但在 AI 训练中,这种微小的波动反而像是一种“随机抖动”,能帮助模型跳出局部最优解(类似正则化),而且不需要那些复杂的对齐机械臂了

魔法三:显式小数(Explicit Mantissa)与“去隐藏位”

  • 传统做法:为了省空间,旧标准会“隐藏”小数点前的那个"1"(就像大家都默认穿白衬衫,就不印在衣服上了)。但这导致芯片必须预留空间去“猜”这个 1 在哪,乘法器必须做得很大(4x4)。
  • AetherFloat:它明明白白地把那个"1"印在衣服上(显式存储)。
  • 比喻:虽然多印了一个字(少了一位精度),但省去了“猜谜”的环节。这让芯片里的乘法阵列从 4x4 缩小到了 3x3
  • 结果:芯片面积减少了 33%,功耗降低了 22%,速度也更快了。

3. 核心亮点:Block-Scale-Free(无需动态伸缩)

这是 AF8 最厉害的地方。

  • 现状:现在的 8 位 AI 芯片为了处理大数字,必须配备一个“动态伸缩保险杠”(AMAX 逻辑),每算一次都要停下来检查最大值,非常慢。
  • AetherFloat:因为它用了四进制,动态范围(能装下的数字大小)比传统格式大得多(从 448 扩大到了 57,344 甚至更高)。
  • 比喻:以前的车只能装 400 公斤,遇到大象(大数字)就得停下来换个大箱子(AMAX)。AetherFloat 的车本身就是一个巨型集装箱,大象直接就能装进去,完全不需要停下来换箱子
  • 代价:为了拥有这个“巨型集装箱”,你需要在训练阶段就精心调整货物摆放(量化感知训练 QAT),不能像以前那样随便把旧模型搬过来就用(后训练量化 PTQ)。

4. 实验结果:真的好用吗?

  • 硬件层面:在芯片设计上,它确实省了面积,省电,速度快。
  • 软件层面
    • AF16(16 位版):几乎可以完美替代现有的 bfloat16,精度损失微乎其微。
    • AF8(8 位版)
      • 如果直接拿来用(后训练量化),效果不如 FP8,因为它没有那个“动态保险杠”来救急。
      • 但是,如果经过专门训练(QAT),它不仅能处理大数字,还能在训练过程中通过一种“随机舍入”技术(像给模型加点随机噪音防止死板),保持很好的收敛性。
      • 在测试中,AF8 在训练后期的稳定性甚至优于传统的 FP8。

总结

AetherFloat 就像是为 AI 芯片量身定做的一套“新交通规则”:

  1. 去掉了繁琐的“隐藏位”和“对齐机械臂”,让芯片更小巧、更省电。
  2. 把数字范围做得更大,让 AI 模型不再需要笨重的“动态伸缩保险杠”来防止溢出。
  3. 代价是:它要求开发者在训练模型时更用心(QAT),不能直接“拿来主义”。

一句话概括:AetherFloat 通过牺牲一点点数学上的“完美隐藏”,换来了硬件上的巨大效率提升更宽的动态范围,是未来 AI 芯片加速的一个极具潜力的新方向。