Recipes for Pre-training LLMs with MXFP8
文章标题: 使用 MXFP8 预训练大语言模型的秘诀
作者/机构: Asit Mishra, Dusan Stosic, Simon Layton, Paulius Micikevicius (NVIDIA)
通讯作者: asitm@nvidia.com, dstosic@nvidia.com
A1 主要贡献
本文旨在为使用 NVIDIA Blackwell GPU 中引入的微缩放(Microscaling, MX)格式,特别是 MXFP8,进行大语言模型(LLM)预训练提供有效方法。研究的核心问题是在降低数值表示位数以提升计算和内存效率的同时,如何保持模型精度不下降。研究目标是找到一套参数选择和转换算法,使得 MXFP8 预训练的效果能够与 BF16 基线相匹配。
本文的主要贡献和创新点如下:
1. 确定了适用于所有张量的最佳 MXFP8 数据类型:研究证明,MXFP8-E4M3 数据类型应被用于所有类型的张量,包括权重、激活值以及之前通常使用更高动态范围格式的激活梯度。这一发现简化了格式选择,并提高了精度。
2. 提出了一种优化的数值转换算法:本文指出,将高精度格式转换为 MXFP8 时,需要一个与 OCP v1.0 规范建议不同的舍入算法。该算法通过对缩放因子向上舍入(round-up)而非向下舍入,有效避免了数值溢出,减少了量化噪声,从而消除了训练中的不稳定性。
3. 通过大规模实验验证了方法的有效性:本文通过在高达 80 亿参数的模型上,使用高达 15 万亿 tokens 的高质量数据集进行训练,证明了所提出的 MXFP8 秘诀(使用 E4M3 和新的转换算法)能够在验证困惑度和下游任务(如 MMLU 和 9 项推理任务)上完全匹配 BF16 的精度。
A3 背景知识/关键Observation/设计原则
微缩放(MX)格式背景:一个 MX 格式由块大小 K、每个块共享的缩放因子 X 以及块内元素的数据类型共同定义。所有 MX 类型的块大小 K 均为 32。X 的数据类型是 UE8M0,它可以编码 NaN 或在 $2^{-127}$ 到 $2^{127}$ 范围内的任何 2 的幂次方值。给定一个块中 K 个源格式(通常是 FP32)的输入元素 $V_i$($1 \le i \le K$),转换为 MX 格式的过程包括计算 X 和 $Q_i$,使得 $Q_i \times X$ 是对应于 $V_i$ 的解码值。存储在内存中的是 X 和 $Q_i$ 而不是 $V_i$。因此,X 作为解码缩放因子,用于将量化值解码回其高精度对应值。
MX 格式的硬件处理:一个源格式的张量被细分为 K 个元素的块,并转换为 MX 格式,以便存储在内存中和/或由硬件中的数学单元处理。Blackwell 中的 Tensor Cores 使用 X 和 $Q_i$ 来计算两个 MX 格式块的点积。如果 Tensor Cores 中点积运算的累加输出是 FP32,那么如果后续操作需要该输出为 MX 格式,这个输出随后会被量化为 MX 格式。转换过程为:$Q_i = \text{Quantize\_to\_fp8}(V_i/X)$。第 3 节将描述转换细节。细粒度的缩放有助于每个 MX 块在量化前独立地对齐到所需的输入值范围。
Blackwell 支持的 MX 格式:下表展示了 Blackwell 中支持的 MX 格式。数据类型列使用 ExMy 约定,表示浮点数的 x 位指数和 y 位尾数。对于固定的位宽,浮点数在指数宽度和尾数宽度之间进行权衡。因此,MXFP8 E4M3 是一个 8 位数据类型,包含 1 个符号位、4 位浮点指数和 3 位尾数。类似地,E5M2 是一个 8 位类型,有 5 位指数和 2 位尾数。与 E4M3 相比,E5M2 可以表示更大的动态范围,但精度较低。E5M2 遵循 IEEE 754 约定【索引6,IEEE standard for floating-point arithmetic. IEEE Std 754-2008, pages 1–70, 2008. doi: 10.1109/IEEESTD.2008.4610935.】来表示特殊值,而其余数据类型通过不表示无穷大和 NaN 来扩展动态范围(E4M3 只有一个位模式表示 NaN【索引7,FP8 formats for deep learning, 2022, https://arxiv.org/abs/2209.05433】)。指数域中更多的位意味着更大的范围,而尾数域中更多的位意味着在给定范围内的更高精度。每种浮点类型都有其可表示的动态范围——我们用 binades 来表示这个范围,即该格式可表示的最大有限值与最小有限值的 log2 比率。
A2 方法细节
3.2 MXFP8 训练秘诀
该秘诀由两个选择定义:哪些张量需要量化到 MXFP8,以及为不同张量使用哪种 FP8 二进制编码。
3.2.1 需要量化的张量
量化范围和操作:本文在 MXFP8 中执行与权重相关的通用矩阵乘法(GEMM),即注意力机制中的 QKV 和 Proj 以及前馈网络(FFN)中的 GEMM,如图 3 所示。因此,这些 GEMM 的激活(activation)、权重(weight)以及激活梯度(activation gradient)输入张量都被转换为 MXFP8。自注意力层中的批处理矩阵乘法(BMM1,即 query-key 点积;BMM2,即 attention score-value 乘积)以及像 Softmax、激活函数和残差连接等操作则保持高精度。输入嵌入层和最终的输出投影层也使用 BF16 或 FP16。将这些操作的精度降低留作未来工作。
与 FP8 的对比:与 FP8 的每张量【索引9,Nemotron-h: A family of accurate and efficient hybrid mamba-transformer models, 2025, https://arxiv.org/abs/2504.03624】或每行量化【索引20,The llama 3 herd of models, 2024, https://arxiv.org/abs/2407.21783】不同(在这些方法中,一些 transformer 层被保留为 BF16),本文提出的方法将模型所有 transformer 块中的上述张量都量化为 MXFP8。因此,MXFP8 因其细粒度的缩放因子,能够加速 LLM 中更多的层。
训练中的张量存储:在训练过程中,使用 MXFP 量化时,训练框架会为每个张量保留两个副本,每个副本都沿着点积缩减的轴(行和列)进行量化。图 3 展示了在训练循环中,每个张量如何用于前向传播(FPROP)、权重梯度(WGRAD)和激活梯度(DGRAD)的计算。由于每个张量都以非转置和转置形式使用,因此需要在两个独立的轴(行和列)上进行量化。
3.2.2 FP8 编码选择
统一使用 E4M3 编码:我们的 MXFP8 秘诀对所有张量类型——权重、激活值和激活梯度——都使用 E4M3 编码。这与粒度更粗的 FP8 训练方法【索引9,Nemotron-h: A family of accurate and efficient hybrid mamba-transformer models, 2025, https://arxiv.org/abs/2504.03624;索引7,FP8 formats for deep learning, 2022, https://arxiv.org/abs/2209.05433;索引21,8-bit numerical formats for deep neural networks, 2022, https://arxiv.org/abs/2206.02915;索引22,Deepseek-v3 technical report, 2025, https://arxiv.org/abs/2412.19437】形成对比,后者通常为权重和激活值使用 E4M3,但为梯度使用 E5M2。通过 MXFP8 的细粒度缩放,在 32 个元素的块大小下,E4M3 类型的 17.8 binades 动态范围足以满足需求。一旦范围需求得到满足,精度(或采样)就变得至关重要。
实验验证:我们通过在 8.43 亿和 80 亿参数模型上的实证研究来证明这一选择。图 4a 显示,对于权重和激活值,E4M3 是首选,因为对这些张量类型使用 E5M2(分别为蓝色和紫色曲线)会导致更差的困惑度。对于 8.43 亿参数模型,E5M2 或 E4M3 编码对于梯度的影响相当;然而,在图 4b 中我们可以看到,更大的 80 亿参数模型需要 E4M3 为激活梯度提供更高的精度(橙色曲线),因为使用 E5M2 的梯度(黄色曲线)会导致困惑度显著恶化。
3.3 从 FP32 到 MXFP8 的转换
转换过程概述:通常,一个块内原始的高精度值(例如 FP32 或 BF16)会超出目标 MX 格式的可表示范围,既会下溢最小可表示幅度,也会上溢最大可表示幅度。为了解决这个问题,在转换之前,所有值都会乘以一个缩放因子,以确保没有值溢出 MX 格式的范围,同时最小化被刷新为 0 的情况。共享的每块缩放因子 X 是根据 32 个高精度输入值中的最大绝对值(amax)计算的,即 $amax = \max \|V_i\|; 1 \le i \le 32$。目标是将输入格式中的这个 amax 映射为目标 MX 格式中可表示的最大值。一旦 X 计算出来,就用 $V_i$ 除以 X,然后使用“四舍五入到最近且偶数优先”(Round-to-nearest-ties-to-even, RN)的舍入方式将结果量化为 FP8 可表示的数。此外,使用饱和转换模式(如 OCP FP8 规范【索引23,Ocp 8-bit floating point specification (ofp8). URL https://www.opencompute.org/documents/ ocp-8-bit-floating-point-specification-ofp8-revision-1-0-2023-12-01-pdf-1.】所述),即超过 FP8 最大值的幅度会被钳位到量化格式中各自的最大可表示幅度。如果输入中部分或全部元素是无穷大和/或非数值(NaN),则需要特殊处理。
关键的缩放因子舍入方法:算法 1 概述了 3.1 节中训练会话所使用的缩放因子计算方法。第 3 步是关键部分,即在将 X 转换为 2 的幂次方值时,将缩放因子向正无穷方向向上舍入(rounding-up)。这与 OCP v1 规范建议的方案不同,后者实际上是向下舍入(rounds down)缩放因子。由于在量化到 MXFP 时,高精度值会除以 X,向上舍入 X 可以确保缩放后的 $V/X$ 值不会超过目标格式可表示的最大幅度。相反,像 OCP v1 建议那样向下舍入,将导致缩放后的值溢出可表示范围,从而引入更多的量化噪声。
新方法的优越性:我们假设,使用 OCP v1 转换方案时,正是这个方面导致了 MXFP8 训练出现问题,如图 5 所示。从图中可以看出,当使用我们在算法 1 中提出的方法时,这些问题被消除了。附录 A.1 节提供了更详细的转换工作流描述。
A4 实验环境
- 数据集:
- 主要实验使用高达 15 万亿(15T) tokens 的高质量数据集。
- 消融实验使用了 1 万亿(1T)和 3000 亿(300B) tokens 的数据集,这些是 17T 数据集【索引35,Nemotron-4 340b technical report, 2024, https://arxiv.org/abs/2406.11704】的子集。
- 训练采用分阶段数据混合方法:第一阶段使用促进数据多样性的混合数据,在训练进度的 60% 时切换到第二阶段,使用高质量数据集(如维基百科)。
- 模型架构:
- 主要模型为 80 亿(8B)参数的 LLM【索引8,Nemotron-4 15b technical report, 2024, https://arxiv.org/abs/2402.16819】,基于 Transformer 架构。
- 关键参数:32 个 transformer 块,32 个注意力头,隐藏层大小 4096,GQA 组大小 8,KV 通道数 128,序列长度 8192。
- 消融实验使用了 8.43 亿(843M)参数模型。
- 附录中还测试了一个 160 亿总参数、约 25 亿激活参数的 MoE 模型。
- 学习率:初始学习率为 6e-4,余弦衰减至 6e-6。
- 硬件配置:
- GPU: 3072 块 NVIDIA Hopper GPU。
- 软件配置:
- 代码实现: 使用 Megatron-LM 软件【索引10,Megatron-lm: Training multi-billion parameter language models using model parallelism, 2020, https://arxiv.org/abs/1909.08053】进行训练。
- 模拟: MX 操作是通过在 GEMM 操作之前将 BF16 输入转换为 MXFP8 再转回 BF16 来模拟的。
- 实现库: 所提出的 MXFP8 预训练秘诀已在 Transformer Engine【索引32,Nvidia. Transformer engine. https://github.com/NVIDIA/TransformerEngine/】中实现,转换数值计算在 cuDNN 和 cuBLAS 库中实现。
A4 实验结果
本文通过一系列实验,证明了所提出的 MXFP8 训练秘诀在精度上与 BF16 相当,同时具备更高的效率。
-
8B 模型在 15T tokens 上的预训练
- 实验内容: 将一个 80 亿参数的模型在 15 万亿 tokens 上进行预训练,对比使用本文提出的 MXFP8 秘诀和使用 BF16 的训练效果。
- 实验结果:
- 验证困惑度(Validation Perplexity): MXFP8 的验证困惑度曲线与 BF16 的曲线完全匹配(图 2 顶部)。在整个预训练过程中,两者之间的差异小于 0.50%。
- 下游任务评估: MXFP8 和 BF16 训练出的模型在下游任务上的评估分数也相匹配(图 2 底部)。评估任务包括 MMLU 上的 5-shot 得分,以及在 9 个通用推理基准(ARC-Challenge and ARC-Easy, Race, PIQA, Winogrande, Hellaswag, OpenBookQA, Social IQA, Commonsense QA)上的平均 1-shot 得分。
- 分析结论: 实验结果确立了 MXFP8 和 BF16 在模型精度上的等价性。对于较小的模型或数据集,也观察到了相同的等价性,这使得 MXFP8 成为高效训练 LLM 的首选方案。
图2:在15T tokens上预训练一个8B LLM。顶部:BF16与MXFP8的训练行为对比。底部:比较BF16、FP8和MXFP8在MMLU和一组9个推理任务上的下游任务得分。MXFP8数值计算使用我们提出的舍入方法和E4M3用于所有量化张量。
-
性能与易用性分析
- 实验内容: 比较 MXFP8 与 BF16 及 FP8 的性能和易用性。
- 实验结果:
- 吞吐量: 在 Blackwell GPU 系统上,MXFP8 的吞吐量是 BF16 的 2 倍,使得端到端的 MXFP8 预训练比 BF16 预训练更快。
- 易用性: 与 FP8 相比,MXFP8 的秘诀更简单易用。所有层都可以被量化,且缩放由硬件处理,而 FP8 可能需要将某些层保持在高精度。
- 分析结论: MXFP8 在提供与 FP8 相当或更好的吞吐量的同时,简化了训练流程,数值鲁棒性更强。
-
FP8 编码选择消融实验
- 实验内容: 在 8.43 亿和 80 亿参数模型上,比较不同张量(权重 W、激活 A、梯度 G)使用 E4M3 和 E5M2 编码的训练效果。
- 实验结果: 如图 4 所示,对于权重和激活值,使用 E4M3 优于 E5M2。对于激活梯度,在 80 亿参数的大模型上,E4M3 的高精度至关重要,使用 E5M2 会导致困惑度显著恶化。
- 分析结论: 统一对所有张量(包括梯度)使用 E4M3 是实现最佳精度的关键。
-
转换算法舍入模式消融实验
- 实验内容: 在 8.43 亿参数模型上,对比本文提出的向上舍入(round-up)缩放因子方法与 OCP v1 规范建议的向下舍入(round-down)方法。
- 实验结果: 如图 5 所示,使用 OCP v1 的方法会导致训练不稳定和困惑度上升,而本文提出的方法则能保持训练稳定,困惑度与 BF16 基线持平。
- 分析结论: 缩放因子的向上舍入是避免量化噪声和训练不稳定的关键。
-
MoE 模型预训练
- 实验内容: 在一个 160 亿总参数、约 25 亿激活参数的 MoE 模型上,使用 1 万亿 tokens 进行预训练,对比 MXFP8 和 BF16。
- 实验结果: 如图 6 所示,MXFP8 的预训练损失曲线与 BF16 匹配,最终损失差异在 0.1% 以内。
- 分析结论: 本文提出的 MXFP8 秘诀同样适用于 MoE 模型架构。
A5 结论
本文系统地研究了 MXFP8 格式在预训练模型中的多个方面,包括缩放因子计算、特定张量的数据格式选择、量化中的数值问题,以及哪些模型层可以被量化以最大化训练吞吐量。基于这些研究,本文提出了一套使用 MXFP8 格式预训练 LLM 的有效秘诀。该秘诀的核心是:1)对所有张量(包括权重、激活和梯度)统一使用 E4M3 编码;2)在从高精度格式转换时,对缩放因子采用向上舍入的计算方法。实验证明,该秘诀能够使 MXFP8 训练的模型在精度上与 BF16 完全匹配,同时在 Blackwell GPU 上实现 2 倍的吞吐量提升。这套方法已在 Transformer Engine、cuDNN 和 cuBLAS 库中实现。
未来的工作计划包括:
1. 将研究扩展到后训练阶段,如基于强化学习(RL)的策略优化(及其变体)和监督微调(SFT)阶段。
2. 从硬件系统性能角度出发,研究能够降低存储开销的缩放方法,以解决当前 MX 格式需要为每个张量存储两个量化副本(沿行和列)的问题。
A6 附录
A.1 UE8M0 舍入
简化的计算与实际实现:算法 1 中描述的计算是一个简化版本。这种简化源于将 log2(float x)
的输出存储在 FP32 中。设备上的 log2
函数内部会对结果执行“四舍五入到最近”,因此,如果 log2
的输出没有存储在足够大的数据类型中,ceil(log2(x))
的结果可能会不同。因此,为了模拟,我们直接处理 amax
和 destmax
之比的位表示。接下来描述计算流程。
背景回顾:回顾一下,从 32 个高精度值 $V_i$ 量化为量化值 $Q_i$($1 \le i \le 32$)的过程由公式 $Q_i = \text{Quantize\_to\_fp8}(V_i/X)$ 给出。X 是缩放因子;X 的指数存储在内存中的一个 8 位整数容器中,硬件会(经过偏置校正后)将其解释为 2 的该指数次幂。这个缩放因子用于将 $Q_i$ 解码回 $V_i$(带有量化损失)。
缩放因子计算与舍入:缩放因子 X 的值为 float_to_8bits(amax/destmax)
,其中 amax
是输入/源块(32 个元素)中的绝对值最大值,destmax
是目标(MX)数值系统中的最大正数。float_to_8bits
将一个浮点数转换为一个 2 的幂次方数。一个浮点数(FP32)可以用 IEEE 约定表示为 $2^E \times 1.\text{mantissa}$(规格化数)或 $2^{-126} \times 0.\text{mantissa}$(非规格化数)。E 的范围可以在 -127 到 127 之间(或带指数偏置的 0 到 254),并且可以用 8 位容器表示缩放因子。-126(或带指数偏置的 1)也可以用 8 位容器表示。尾数(mantissa)在 [0,1) 之间。所以问题是:为了创建一个 2 的幂次方数,尾数位应该向上舍入、向下舍入、四舍五入到最近,还是丢弃等?我们发现,对于使用 MX 格式的预训练,向上舍入是最佳选择。
推荐的舍入计算顺序: 对于 float_to_8bits()
,推荐的计算顺序是:
1. 计算解码缩放比例:decode_scale = block_amax/destmax
。
2. 如果 decode_scale
低于 $2^{-127}$,则将其设置为 $2^{-127}$(这是 UE8M0 中可表示的最小值)。
3. 对于所有其他不是 2 的幂次方的值,向上舍入到最接近的可表示的 UE8M0 值。
根据构造,对于 FP8、FP6 或 FP4 格式,amax/destmax
永远不会超过 $2^{127}$(这是 UE8M0 中可表示的最大值)。上述计算在模拟中是在位空间(bit-space)中完成的。
A.2 MX 格式转换
从 FP32 到 MX 类型的量化:第 2 节依赖于【索引3,Microscaling data formats for deep learning, 2023, https://arxiv.org/abs/2310.10537】中定义的标准 MX 格式转换算法,但为了完整性,这里在给定一个如 3.3 节计算出的共享缩放指数 X 的情况下展示该算法。在计算出 X 之后,计算 $V_i/X$,然后使用“四舍五入到最近且偶数优先”(RN)的舍入方式将结果值量化为 FP8 可表示的数(Quantize_to_fp8()
)。转换过程是饱和的,即如果舍入后的结果值超过 FP8 的最大值或小于 FP8 的最小值,则结果将被钳位到各自的最大或最小值。量化操作会增加计算开销——Blackwell 具有硬件支持,可以(使用我们提出的方法)对缩放因子进行舍入并量化数值,以降低此开销。
A.3 为什么 MX 格式需要专门的硬件?
硬件加速的必要性:计算两个张量的矩阵乘积涉及在这两个张量的子向量之间执行点积。因此,缩放因子需要在每组共享该缩放因子的值处理一次。由于 MX 格式具有细粒度的缩放,缩放因子在每个块的点积计算完成后都要处理一次,因此在整个张量范围的点积中要处理很多次。这在软件中执行成本高昂,所以需要硬件增加支持来加速涉及 MX 格式的张量操作(例如 Blackwell)。
A.4 混合专家(MoE)模型的 MXFP8 预训练
MoE 模型上的实验结果:第 3.1 节讨论的经验数据表明,MXFP8 在精度上(包括训练损失和下游任务准确率)与 BF16 相当。基于 Transformer 的混合专家(MoE)模型在文献中很流行。图 6 显示,对于我们实验的一个 MoE 设置,MXFP8 预训练同样能够匹配 BF16 的预训练损失曲线。该 MoE 模型共有 160 亿总参数和约 25 亿激活参数,我们在 1 万亿个 token 上训练该模型。我们遵循第 3.2 节中讨论的相同指南来预训练 MoE 模型。预训练阶段使用 WSD【索引34,Understanding warmup-stable-decay learning rates: A river valley loss landscape perspective, 2024, https://arxiv.org/abs/2410.05192】学习率调度。使用 MXFP8 训练的 MoE 模型的最终损失与 BF16 训练的差异在 0.1% 以内。
A.5 模型配置
实验模型详情:我们在 Nemotron-4【索引8,Nemotron-4 15b technical report, 2024, https://arxiv.org/abs/2402.16819】模型的变体上进行了 LLM 预训练的数值实验。训练和模型的详细信息如下所述。1T 和 300B tokens 的数据集是【索引35,Nemotron-4 340b technical report, 2024, https://arxiv.org/abs/2406.11704】中讨论的 17T 数据集的一个子集。表 2 详细说明了所用各种模型的参数。
引用文献汇总
编号 | 引用位置 | 文献信息 | 引用内容描述 |
---|---|---|---|
[1] | 引言 | Bita Darvish Rouhani, et al. Ocp microscaling (mx) specification. Open Compute Project, 2023. | 描述微缩放(MX)格式是由 OCP 工作组提出的规范。 |
[2] | 引言、背景知识 | Nvidia Blackwell Architecture Technical Brief. URL https://resources.nvidia.com/ en-us-blackwell-architecture. | 指出 NVIDIA Blackwell GPU 架构增加了对 MX 数据类型的原生支持。 |
[3] | 引言、附录 | Bita Darvish Rouhani, et al. Microscaling data formats for deep learning, 2023. URL https://arxiv.org/abs/2310.10537. | 引用其作为证明细粒度缩放是一种有效策略的研究工作,并说明附录中的转换算法遵循此文献。 |
[4] | 引言 | Bita Rouhani, et al. With shared microexponents, a little shifting goes a long way, 2023. URL https://arxiv.org/abs/2302.08007. | 引用其作为证明细粒度缩放是一种有效策略的研究工作。 |
[5] | 引言 | Steve Dai, et al. Vs-quant: Per-vector scaled quantization for accurate low-precision neural network inference, 2021. URL https://arxiv.org/abs/2102.04503. | 引用其作为证明细粒度缩放是一种有效策略的研究工作。 |
[6] | 背景知识 | Ieee standard for floating-point arithmetic. IEEE Std 754-2008, 2008. | 说明 E5M2 数据类型遵循 IEEE 754 约定来表示特殊值。 |
[7] | 背景知识、方法细节、相关工作 | Paulius Micikevicius, et al. Fp8 formats for deep learning, 2022. URL https://arxiv.org/abs/2209.05433. | 说明 E4M3 只有一个 NaN 位模式,并作为粗粒度 FP8 训练方法的参考文献,该方法对梯度使用 E5M2。 |
[8] | 实验结果、实验环境、附录 | Jupinder Parmar, et al. Nemotron-4 15b technical report, 2024. URL https://arxiv.org/abs/2402.16819. | 指明实验中使用的 8B 参数模型来自此技术报告。 |
[9] | 实验结果、方法细节、相关工作 | NVIDIA, et al. Nemotron-h: A family of accurate and efficient hybrid mamba-transformer models, 2025. URL https://arxiv.org/abs/2504.03624. | 引用其作为使用分阶段数据混合训练方法和每张量缩放 FP8 的例子,这种方法需要保持部分层为高精度。 |
[10] | 实验结果、实验环境 | Mohammad Shoeybi, et al. Megatron-lm: Training multi-billion parameter language models using model parallelism, 2020. URL https://arxiv.org/abs/1909.08053. | 指明训练软件是 Megatron-LM。 |
[11] | 实验结果 | Dan Hendrycks, et al. Measuring massive multitask language understanding, 2021. URL https: //arxiv.org/abs/2009.03300. | 指明 MMLU 是下游评估任务之一。 |
[12]-[19] | 实验结果 | Peter Clark, et al. (ARC); Guokun Lai, et al. (Race); Yonatan Bisk, et al. (PIQA); Keisuke Sakaguchi, et al. (Winogrande); Rowan Zellers, et al. (Hellaswag); Todor Mihaylov, et al. (OpenBookQA); Maarten Sap, et al. (SocialIQA); Alon Talmor, et al. (CommonsenseQA). | 列举了9个通用推理基准测试作为下游评估任务。 |
[20] | 方法细节 | Aaron Grattafiori et al. The llama 3 herd of models, 2024. URL https://arxiv.org/abs/ 2407.21783. | 引用其作为 FP8 每行量化的例子。 |
[21] | 方法细节 | Badreddine Noune, et al. 8-bit numerical formats for deep neural networks, 2022. URL https://arxiv.org/abs/2206.02915. | 引用其作为粗粒度 FP8 训练方法的参考文献。 |
[22] | 方法细节、相关工作 | DeepSeek-AI, et al. Deepseek-v3 technical report, 2025. URL https://arxiv.org/abs/2412.19437. | 引用其作为粗粒度 FP8 训练方法的参考文献,以及使用块缩放 FP8 的例子。 |
[23] | 方法细节 | Paulius Micikevicius, et al. Ocp 8-bit floating point specification (ofp8). URL ... | 描述转换过程中的饱和转换模式遵循 OCP FP8 规范。 |
[24]-[27] | 相关工作 | Guangxuan Xiao, et al. (Smoothquant); Yujun Lin, et al. (Qserve); Elias Frantar, et al. (GPTQ); Ji Lin, et al. (AWQ). | 引用这些工作作为低精度推理领域的进展。 |
[28] | 相关工作 | Maxim Fishman, et al. Scaling fp8 training to trillion-token llms, 2025. URL https://arxiv.org/abs/2409.12517. | 引用其作为讨论 FP8 预训练挑战并提出模型级修改的工作。 |
[29] | 相关工作 | Meta AI. The llama 4 herd... | 引用 Llama-4 模型家族作为使用 FP8 的例子。 |
[30] | 相关工作 | Albert Tseng, et al. Training llms with mxfp4, 2025. URL https: //arxiv.org/abs/2502.20586. | 引用其作为研究 MXFP4 反向传播量化的相关工作。 |
[31] | 相关工作 | Ruizhe Wang, et al. Optimizing large language model training using fp4 quantization, 2025. URL https://arxiv.org/abs/2501.17116. | 引用其作为研究 MXFP4 权重量化的相关工作。 |
[32] | 结论、实验环境 | Nvidia. Transformer engine. https://github.com/NVIDIA/TransformerEngine/. | 指出本文的 MXFP8 秘诀在 Transformer Engine 库中实现。 |
[33] | 结论 | Zhihong Shao, et al. Deepseekmath... 2024. URL https://arxiv.org/abs/ 2402.03300. | 引用其作为 RL 策略优化变体的一个例子,是未来工作的方向。 |
[34] | 附录 | Kaiyue Wen, et al. Understanding warmup-stable-decay learning rates... 2024. URL https://arxiv.org/abs/2410.05192. | 指出 MoE 模型训练中使用了 WSD 学习率调度。 |
[35] | 附录、实验环境 | Nvidia, et al. Nemotron-4 340b technical report, 2024. URL https://arxiv.org/abs/2406.11704. | 指出实验中使用的数据集是此报告中 17T 数据集的子集。 |
💬 评论讨论
欢迎在这里分享您的想法和见解!