MOSS: 用微缩放和自动缩放实现无损 FP8 训练,OLMo-7B 加速 34%
ArXiv ID: 2511.05811
作者: Yu Zhang, Hui-Ling Zhen, Mingxuan Yuan, Bei Yu
机构: The Chinese University of Hong Kong, Huawei Noah’s Ark Lab
发布日期: 2025-11-08
FP8 训练的理想与现实
FP8 训练的潜力
1 | FP8 vs BF16 理论对比: |
现实挑战
问题 1:动态范围不足
1 | FP8 数值范围对比: |
问题 2:量化开销
1 | 现有方案的性能损失: |
MOSS 核心创新
创新 1:两级微缩放策略
1 | MOSS 两级缩放架构: |
Power-of-Two 的关键优势:
1 | # 传统缩放:需要乘法反量化 |
两级缩放实现
1 | import torch |
GEMM Kernel 优化
1 | MOSS GEMM 执行流程: |
创新 2:权重自动缩放
1 | class WeightAutoScaling: |
实验结果
训练加速
| 框架 | 精度 | 相对 BF16 加速 | 模型质量 |
|---|---|---|---|
| BF16 基线 | BF16 | - | 基准 |
| NVIDIA TE | FP8 | ~15% | 轻微下降 |
| COAT | FP8 | ~20% | 无损 |
| MOSS | FP8 | 34% | 无损 |
关键:MOSS 相比 COAT 快12.3%
训练稳定性
1 | 训练 Loss 曲线对比: |
下游任务评估
| 任务 | BF16 | MOSS | 差异 |
|---|---|---|---|
| MMLU | 35.2% | 35.1% | -0.1% |
| HellaSwag | 62.5% | 62.3% | -0.2% |
| GSM8K | 12.3% | 12.1% | -0.2% |
| HumanEval | 18.5% | 18.3% | -0.2% |
结论:无统计显著差异
技术对比
| 特性 | NVIDIA TE | COAT | MOSS |
|---|---|---|---|
| 激活量化 | Per-tensor | Per-group | 两级微缩放 |
| 权重量化 | Per-tensor | Per-tensor | 自动缩放 |
| GEMM 反量化位置 | Epilogue | Main Loop | Epilogue |
| Runtime 缩放计算 | 需要 | 需要 | 不需要(权重) |
| 加速(vs BF16) | ~15% | ~20% | 34% |
| 精度损失 | 有 | 无 | 无 |
总结
MOSS 通过两级微缩放和自动缩放,同时优化了 FP8 训练的精度和效率:
核心贡献:
- 两级微缩放实现接近 per-group 精度
- Power-of-two 缩放实现零开销反量化
- 权重自动缩放消除 runtime max 计算
实际价值:
- 34% 训练加速
- 无损模型质量
- 适用于大规模预训练
评分: 4.0/5.0 ⭐⭐⭐⭐
推荐度: 推荐。FP8 训练的高效解决方案。