@ArkadiiBessonov: LLM预训练中使用FP8的三种主要方法——区别主要在于scale的附加方式。per-tens…
摘要
解释了LLM预训练中FP8缩放的三种主要方法——per-tensor、blockwise和MXFP8——重点关注scale的附加方式,并根据scale必须在matmul的收缩维度上保持恒定这一约束,推导出tile几何形状。
查看缓存全文
缓存时间: 2026/06/28 18:13
大语言模型预训练中使用 FP8 的三种主要方法——它们主要在一个方面有所不同:如何附加缩放因子。
per-tensor vs blockwise vs MXFP8.
为什么预训练在这里有如此多的结构:前向+反向传播包含 3 个矩阵乘法(Fprop、Dgrad、Wgrad),涉及 3 种张量角色(权重、激活、梯度)。每种角色都希望有自己的缩放布局——这就是所有复杂性所在。
这三种方案在缩放因子的附加方式上有所不同——粒度、数据类型、布局:
— Per-tensor:整个张量一个缩放因子。最简单,对异常值最不鲁棒。 — Blockwise:1×128 / 128×128 分块,FP32 缩放因子。DeepSeek-V3 风格。 — MXFP8:1×32 块 + E8M0 缩放因子。Blackwell 原生支持。
一条规则将所有内容联系在一起:沿矩阵乘法的收缩维度,缩放因子必须保持不变。这一单一约束推导出了上述所有分块几何形状——这里没有任何任意之处。
我绘制了每种方案和每个矩阵乘法的每种布局,使几何形状具体化而非模糊不清。
完整讲解请参见我的博客文章(评论中的链接)!
完整阐述——每种方案、每个矩阵乘法,均已绘制:
相似文章
@eisokant:来自@ArkadiiBessonov关于我们预训练团队的一篇精彩博客文章!
一条推文分享了一篇博客文章,讨论了LLM预训练中FP8的三种方法:per-tensor、blockwise和MXFP8,重点介绍了缩放因子的附加方式。
重新思考LLM FP4预训练中的收缩偏差:几何起源、系统性影响与UFP4方案
本文识别了LLM预训练中非均匀FP4量化格式的一个根本限制(收缩偏差),并提出了UFP4,一种优于现有基于E2M1方法的统一4位训练方案。
@zcbenz: nvfp4与mxfp4不仅仅是块大小和缩放格式的不同选择,nvfp4还使用了额外的张量级缩放因子…
对nvfp4和mxfp4格式的技术比较,强调nvfp4使用额外的张量级缩放因子来克服fp4的范围限制,从而可以在块级缩放因子上获得更高的精度。
LLM持续预训练中最佳超参数的可预测缩放规律
本文发现了LLM持续预训练中最佳超参数(学习率、批量大小)的可预测缩放规律,提出了一个两阶段框架,可将超参数搜索开销降低高达90%,同时保持性能。
ScaleSweep:通过块缩放初始化实现LLM的NVFP4训练后量化精度提升
ScaleSweep提出了一种针对LLM的NVFP4训练后量化的新型块缩放初始化方法,通过遍历可行的块缩放候选值来提高精度。在Llama和Qwen模型上的实验表明,在激进量化下,该方法保留了超过93%的全精度性能。