UE8M0 是 DeepSeekV3.1 中提到的,在 FP8 训练中采用的一种参数精度配置:
E和M分别代表指数(Exponent)和尾数(Mantissa)的位数。
UE8M0的M=0并非字面意义的“0位尾数”,而是指动态尾数策略:
通过隐式归一化(如IEEE 754的隐藏位)或动态调整尾数精度(如Block-wise量化)实现灵活性。
实际实现中可能采用动态尾数分配(如根据指数范围动态调整尾数有效位)
根据IEEE754标准,浮点数在存储时分为三部分,符号位(通常1位)、指数位和尾数位。这样一来,浮点数的计算为 $(-1)^S *2^(E-127) *M$(下面的图)。打个比方,浮点数3.1就可以表示为01000000010001100110011001100110。所以对于UE8M0(论文https://arxiv.org/pdf/2506.08027 有提到(下方图中)),U 代表 unsigned 表示无符号位,E8 表示用8位表示指数位,M0 表示不存储尾数。那么他的表示范围是多少呢?我们来根据上面的式子计算。符号位S不存在,为0。指数位有8位,范围是0到255。尾数不存在,默认1。这样一来UE8M0 的表示范围为 2^{-127} to2^{127}(但只能表示2的指数幂)。
UE8M0 的核心优势主要是计算效率提升,减低部署成本。
FP8 相比 FP16/FP32 减少 50%-75% 的显存占用,支持更大 batch size 或更长上下文(128K tokens)
在 NVIDIA H800 GPU 上,FP8 矩阵乘法速度比 FP16 快 2-3 倍
但与 OAI 开源的 gpt-oss 采用的FP4 还是有些差距。
希望在国产GPU上能拉进距离。
补充一些信息:
3.1做了外扩训练,增加了840B 的tokens。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |