INT4 量化崩溃:FP32 收敛后的量化失效机制¶
概述¶
"When Flat Minima Fail"(arXiv: 2604.15167)研究了 LLM 训练后 INT4 量化严重退化的根本原因。该研究发现,FP32 收敛后的持续训练会导致 INT4 量化误差从 ~10% 飙升至 517%,而 INT8 误差始终保持在 <1%。这对端侧 LLM 部署(通常依赖 INT4 量化)具有重要警示意义。
核心发现¶
三阶段发散结构¶
INT4 鲁棒性并非单调退化,而是呈现清晰的三阶段模式:
| 阶段 | 训练步数 | INT4 困惑度差距 | 特征 |
|---|---|---|---|
| Phase 1 | ~70,000 步 | 10-12% | 元稳定平台期 |
| Phase 2 | 过渡阶段 | 快速上升 | FP32 开始停止改善 |
| Phase 3 | 后续训练 | 517% | 爆炸性发散 |
关键机制¶
-
FP32 收敛是触发器:发散始于 FP32 困惑度停止改善的时刻——而非学习率跨越某个阈值。继续的权重更新(post-convergence)是直接原因
-
比特宽度特异性:INT8 在全部 143,000 步训练中保持 <1% 差距,而 INT4 达到 517%。这 500 倍的差异将机制限定在量化网格分辨率层面
-
峰度排除离群值积累:权重超额峰度在相变处达到峰值后下降,与 INT4 差距呈负相关(r=-0.26)。这直接反驳了离群值累积假说
-
振幅决定正负效应:
- SGDR 热重启(全振幅):统一恶化 INT4 鲁棒性(0/9 次优于基线)
- OLI(校准扰动 + 结构化冷阶段):减少差距
实验设置¶
- 模型:Pythia-160M 模型套件(154 个公开训练 checkpoint)
- 量化方法:无校准的逐组 INT4 探针(避免 GPTQ/AWQ 等后处理优化)
- 关键设计:故意不使用后处理量化优化方法,以研究原生 INT4 鲁棒性
对端侧部署的影响¶
风险警示¶
- 训练后 INT4 量化可能失效:持续训练的模型即使 FP32 性能不变,INT4 量化效果可能严重退化
- 平坦最小值假说不充分:SAM 等追求平坦最小值的方法不能保证 INT4 量化鲁棒性
- 端侧部署需谨慎选择 checkpoint:应选择 FP32 尚未完全收敛的 checkpoint 进行量化
实用建议¶
| 策略 | 效果 | 适用场景 |
|---|---|---|
| 选择 FP32 未收敛 checkpoint | ✅ 有效 | 训练中部署 |
| LAWA 权重平均 | ✅ 有效 | 已有训练 checkpoint |
| SGDR 重启 | ❌ 恶化 | 不推荐 |
| OLI 扰动 | ✅ 部分有效 | 特定场景 |
| INT8 替代 | ✅ 鲁棒 | 内存允许时 |
与端侧推理优化的关系¶
- MNN、llama.cpp 等框架常用 INT4(如 GGUF Q4_K_M)—— 本研究提示需关注源模型训练阶段
- KV-Cache 量化也受此影响 —— 注意力层的持续变化可能放大 INT4 退化
- 后处理量化工具(GPTQ/AWQ)可部分修复问题,但存在计算开销
来源¶
- 论文:arXiv:2604.15167
- 发布日期:2026-04-16
- 模型:Pythia-160M(154 checkpoints,143,000 训练步数)