
系列:AI 论文精读与复现训练营
日期:2026-08-16
适合读者:研究生、LLM 训练入门研究者、有工程背景的 AI 读者
检索日期:2026-08-16
摘要
Efficient Training 不是“把训练做便宜”的工程细节,而是大模型研究里的资源分配问题:同样 token budget、同样硬件和同样评测下,显存、通信、重计算、数值稳定性和最终能力如何交换?LoRA/QLoRA 让大模型微调进入普通实验室;ZeRO、activation checkpointing、FlashAttention、Megatron/FSDP 把训练状态和激活显存拆成可管理模块;MoE 试图把总参数容量和每 token 计算成本解耦;GaLore、Q-GaLore、Muon 等优化器方向则重新讨论 optimizer states、更新子空间和大规模训练稳定性。
本文给出一条论文精读路线:先学会写“训练资源账本”,再按 PEFT、量化微调、稀疏专家、内存并行、优化器五条线读代表论文,最后设计小规模复现实验,验证一种效率方法到底省掉了什么、付出了什么、结论能否站住。
目录
- 为什么这个主题重要
- 核心阅读方法
- 代表论文路线图
- 方法与实验对比表
- 复现建议
- 常见误区
- 适合研究生继续做的选题
- 总结与参考资料
为什么这个主题重要
大模型训练瓶颈不是单一的“GPU 不够”。冻结参数可以减少梯度和优化器状态,但不一定减少激活显存;量化权重能省模型内存,却可能引入数值误差和 kernel 限制;checkpointing 用额外前向重计算换显存;ZeRO/FSDP 把参数、梯度和优化器状态分片,但引入通信;MoE 增加总容量,却带来 router、load balancing、expert parallelism 和稳定性问题;优化器改进可能减少状态或提升收敛,但比较时必须匹配学习率、batch、warmup、训练 token 和硬件。
这类论文对研究生尤其有训练价值。第一,你可以在 1B 以下模型、公开数据和单机环境里做出可解释复现。第二,它迫使你同时报告 peak memory、tokens/sec、wall-clock、loss curve、最终指标和失败率,而不是只挑一个好看的数字。第三,效率方法往往有明确边界条件:某些任务有效、某些规模失效、某些实现很快但不稳定,这些边界就是可发表的研究问题。
2025-2026 年的模型技术报告也说明,训练效率已经进入主线叙事。DeepSeek-V3、Qwen3、Kimi K2、Llama 4 等公开资料都把 MoE、FP8、低秩结构、专家并行、长上下文训练和优化器稳定性写进核心设计;PyTorch、DeepSpeed、Megatron Core 文档也持续更新 activation checkpointing、ZeRO、parallelism 和 MoE 训练能力。读现代 LLM 报告时,如果忽略 efficient training,就很难理解模型到底是如何被训练出来的。
核心阅读方法
读 Efficient Training 论文,第一步是画资源账本。至少拆成六项:parameters、gradients、optimizer states、activations、communication、recompute。LoRA 主要减少可训练参数、梯度和优化器状态;QLoRA 进一步压缩 frozen base weights;ZeRO/FSDP 分片 training states;activation checkpointing 减少保存的激活;FlashAttention 减少 attention 中间量和 HBM IO;MoE 降低每 token 激活计算相对总容量的成本;GaLore 类方法压缩梯度统计或优化器状态;Muon 关注更新几何和扩展到大规模训练的稳定性。
第二步是区分训练阶段。预训练、continued pretraining、SFT、DPO/RLHF、领域微调和 adapter 训练不是同一个问题。LoRA/QLoRA 很适合下游适配,但不等于低成本预训练;GaLore 试图保留 full-parameter learning;MoE 通常需要从架构和系统层面一起设计;checkpointing 和并行系统则横跨多个阶段。
第三步是检查证据强度。可信论文应尽量固定模型、数据、token budget、硬件、评测和随机种子,只改变效率方法。只报告 trainable parameters、不报告 activation;只报告 peak memory、不报告 step time;只给最终 benchmark、不展示 loss curve;把不同 batch 或不同训练 token 的结果放在一张表里,都是需要警惕的信号。

代表论文路线图
1. LoRA / PEFT:低秩更新如何改变微调
LoRA 冻结预训练权重,在 Transformer 层中加入低秩矩阵更新,把全量微调近似为低秩子空间中的适配。精读时要抓住两点:为什么 adaptation update 可能低秩,以及 LoRA 应该插入哪些模块。复现时不要只记“参数少”,要系统改变 rank、alpha、target modules、dropout、bias、merge/unmerge,并与 full fine-tuning baseline 在同一 token budget 下比较。
2024 之后的 DoRA、LoRA+、RSLoRA、LoftQ、aLoRA 等变体可以作为第二层阅读。DoRA 把权重更新拆成 magnitude 和 direction;LoRA+ 用不同学习率更新两个 adapter 矩阵;PEFT 文档则显示这些方法已经成为可组合工具。读变体论文时,重点不是“新方法一定更强”,而是找清楚它修复了 LoRA 的哪一个边界条件。
2. QLoRA:量化权重上的可训练适配
QLoRA 的关键是组合方案:NF4 量化、double quantization、paged optimizers,以及在量化 base model 上训练 LoRA adapter。它把冻结模型权重压低到 4-bit 存储,同时保留 adapter 的可训练性。精读时要画清楚哪些张量被量化、哪些张量可训练、梯度如何流动、optimizer states 存在哪里。复现时必须记录 bitsandbytes、transformers、PEFT、CUDA、GPU 型号、compute dtype 和是否启用 gradient checkpointing,因为这些实现细节会直接影响稳定性和速度。
3. Memory / Parallelism:ZeRO、Checkpointing、FlashAttention、Megatron
ZeRO 的核心是去掉数据并行中的冗余 training states。DeepSpeed 文档把它拆成 Stage 1 optimizer states、Stage 2 gradients、Stage 3 parameters,并提供 CPU/NVMe offload。读 ZeRO 时,要把显存节省和 all-gather、reduce-scatter、offload 带宽一起看。
Activation checkpointing 用重计算换显存。PyTorch 文档明确指出,反向传播时会重新执行部分 forward;若涉及 dropout 和 RNG state,还要注意 determinism 与性能开销。FlashAttention 则通过 IO-aware attention 减少中间矩阵和 HBM 访问,对长序列训练尤其关键。Megatron-LM/Megatron Core 提供 tensor、pipeline、data、expert、context parallelism 等训练积木。系统论文和文档的读法,是把每个开关翻译成“哪类张量被切分、哪类通信被引入、哪类 kernel 被融合”。
4. MoE:总容量与激活计算的解耦
GShard 和 Switch Transformer 是 MoE 路线的经典起点。GShard 展示条件计算和自动分片;Switch Transformer 用 top-1 routing 简化专家选择,并把 load balancing、capacity factor、bfloat16 稳定性放在核心位置。之后 Mixtral、DeepSeekMoE、DeepSeek-V2/V3、Qwen3、Kimi K2、Llama 4 等报告把 MoE 推到开放模型主流。
读 MoE 报告时,不能只看 total parameters。必须同时记录 activated parameters、experts per token、shared experts、router、load balancing loss、expert parallelism、token dropping 和通信。模型参数、token 数、GPU hours、benchmark 和仓库状态都容易变化,正式引用前应回到官方模型卡和技术报告重新核对。
5. Optimizer:AdamW 之后的内存与稳定性
AdamW 是新优化器的强 baseline,因为它把 weight decay 从 Adam 更新中解耦。GaLore 的问题设定是 optimizer state memory:它不是冻结权重,而是在低秩梯度投影空间中维护优化器状态,试图保留 full-parameter learning。Q-GaLore 进一步结合量化和 layer-adaptive low-rank gradients。Muon 及 Kimi K2 报告则把 optimizer 扩展性和训练稳定性重新推到中心。
这里最容易误判贡献:优化器效果往往混合了算法、实现、学习率、batch、数据和硬件。读论文时要坚持同一模型、同一数据、独立调参、完整 loss curve 和失败率,否则很难判断是优化器更好,还是 baseline 没调好。
方法与实验对比表
| 分支 | 代表资料 | 主要节省对象 | 主要代价 | 精读检查 |
|---|---|---|---|---|
| LoRA / PEFT | LoRA, DoRA, LoRA+, PEFT | trainable params、gradients、optimizer states | 可能限制更新子空间 | rank、target modules、同预算 full baseline |
| QLoRA | QLoRA, PEFT quantization | frozen base weights 显存 | 量化误差、kernel/版本限制 | NF4、compute dtype、paged optimizer |
| ZeRO / FSDP | ZeRO, DeepSpeed, PyTorch FSDP | 参数、梯度、优化器状态冗余 | 通信和 offload 成本 | stage、bucket、batch、网络带宽 |
| Checkpointing | PyTorch checkpointing | activations | 额外重计算、RNG 复杂度 | 粒度、step time、determinism |
| FlashAttention | FlashAttention, Megatron | attention 中间量、HBM IO | kernel 和硬件依赖 | sequence length、dtype、端到端吞吐 |
| MoE | GShard, Switch, Mixtral, DeepSeek, Qwen3, Kimi K2, Llama 4 | 每 token 计算相对总容量 | 路由、通信、稳定性 | active vs total params、expert load |
| Optimizer | AdamW, GaLore, Q-GaLore, Muon | optimizer states 或收敛步数 | 超参敏感、归因困难 | 调参预算、loss curve、失败率 |
复现建议
第一,复现 LoRA / QLoRA 微调。选择一个 1B-8B 开源模型和小型指令数据集,比较 full fine-tune、LoRA、QLoRA。固定训练 tokens、batch、评测集和 seed,报告 peak memory、tokens/sec、训练时间、loss curve、最终指标和 checkpoint size。
第二,复现 activation checkpointing trade-off。打开/关闭 checkpointing,改变 checkpoint 粒度,记录最大显存、step time、吞吐和 loss。若模型包含 dropout,要写清楚 RNG 和 determinism 设置。
第三,做 ZeRO/FSDP 小实验。多卡环境下比较 data parallel、ZeRO-1/2/3 或 FSDP;单卡可尝试 offload,但不要把单卡 offload 结论外推到高速互联集群。
第四,做 toy MoE。把小 Transformer 的 FFN 换成 4 或 8 个专家,比较 top-1/top-2 routing、shared expert、load balancing loss。报告 expert load entropy、dropped token rate、active FLOPs 和 loss curve。
第五,做 optimizer ablation。以 AdamW 为强 baseline,再加入 Adafactor、GaLore 或 Muon。每个优化器都要独立调学习率和 weight decay,并报告失败率。负结果也要写,因为效率论文的边界条件往往比正结果更有价值。
常见误区
- 只看 trainable parameters。LoRA 参数少,但 activation memory、attention 中间量和 batch size 仍可能决定能否训练。
- 把 total parameters 当成训练成本。MoE 必须报告 active parameters、experts per token、router 和通信。
- 只报告 peak memory。省显存但 step time 翻倍、最终 loss 变差或训练不稳定,不一定更有效。
- 不匹配 token budget 和调参预算。效率方法常常改变最优学习率、warmup、rank、batch 和 precision。
- 忽略版本。PEFT、bitsandbytes、PyTorch、DeepSpeed、Megatron、CUDA kernel、官方模型卡和技术报告都在持续变化。涉及参数量、GPU hours、benchmark、仓库状态的内容,正式发布前应标注检索日期;不确定项写“待人工核验”。
适合研究生继续做的选题
- LoRA rank scaling:比较 0.5B、1B、3B 模型上的 rank、target modules 和数据规模。
- QLoRA 稳定性审计:比较 NF4、FP4、BF16/FP16 compute dtype、paged optimizer 和 checkpointing。
- Checkpointing 策略搜索:在固定显存预算下自动选择 checkpoint 节点。
- 小规模 MoE 路由机制:研究 shared expert、load balancing loss 和 capacity factor。
- Optimizer state 压缩复现:比较 AdamW、Adafactor、GaLore、Q-GaLore 在 SFT 与 continued pretraining 中的差异。
- 效率报告模板:为一篇 LLM 训练论文补写显存、吞吐、通信、失败率和复现边界。
总结
Efficient Training 论文的正确读法,是把“更省”翻译成可审计的成本、质量和稳定性三角。LoRA/QLoRA 降低微调门槛,ZeRO/checkpointing/FlashAttention/Megatron 把训练系统拆成可组合模块,MoE 改变容量和激活计算的关系,optimizer 方向继续挑战 AdamW 的内存和收敛边界。科研新人最该训练的能力,是复现一张资源账本:同样模型、数据和预算下,省掉了什么,付出了什么,结论还能不能站住。
参考资料
检索日期:2026-08-16。以下链接优先使用论文页、官方项目页、官方文档、GitHub、JMLR、ML Anthology、Hugging Face paper page 等一手或接近一手资料。模型参数、训练 token、GPU hours、benchmark、仓库状态、文档版本和 API 行为可能变化,投稿或发布前请重新核对。
- LoRA: Low-Rank Adaptation of Large Language Models, ICLR 2022 / ML Anthology: https://mlanthology.org/iclr/2022/hu2022iclr-lora/
- QLoRA: Efficient Finetuning of Quantized LLMs, arXiv 2305.14314: https://arxiv.org/abs/2305.14314
- QLoRA official GitHub repository: https://github.com/artidoro/qlora
- Hugging Face PEFT documentation: https://huggingface.co/docs/peft/en/index
- Hugging Face PEFT LoRA reference: https://huggingface.co/docs/peft/main/en/package_reference/lora
- Hugging Face PEFT quantization guide: https://github.com/huggingface/peft/blob/main/docs/source/developer_guides/quantization.md
- DoRA: Weight-Decomposed Low-Rank Adaptation, NVIDIA Research: https://research.nvidia.com/labs/lpr/publication/liu2024dora/
- LoRA+: Efficient Low Rank Adaptation of Large Models, arXiv 2402.12354: https://arxiv.org/abs/2402.12354
- Decoupled Weight Decay Regularization, ICLR 2019 / ML Anthology: https://mlanthology.org/iclr/2019/loshchilov2019iclr-decoupled/
- ZeRO: Memory Optimizations Toward Training Trillion Parameter Models, arXiv 1910.02054: https://arxiv.org/abs/1910.02054
- DeepSpeed ZeRO tutorial: https://github.com/microsoft/DeepSpeed/blob/master/docs/_tutorials/zero.md
- DeepSpeed large-model training guide: https://www.deepspeed.ai/tutorials/large-models-w-deepspeed/
- DeepSpeed ZeRO++ tutorial: https://www.deepspeed.ai/tutorials/zeropp/
- PyTorch activation checkpointing blog: https://pytorch.org/blog/activation-checkpointing-techniques/
- torch.utils.checkpoint documentation: https://docs.pytorch.org/docs/stable/checkpoint
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness, arXiv 2205.14135: https://arxiv.org/abs/2205.14135
- Megatron-LM / Megatron Core GitHub repository: https://github.com/NVIDIA/Megatron-LM
- GShard, ICLR 2021 / ML Anthology: https://mlanthology.org/iclr/2021/lepikhin2021iclr-gshard/
- Switch Transformers, JMLR 2022: https://www.jmlr.org/beta/papers/v23/21-0998.html
- Mixtral of Experts, Mistral AI: https://mistral.ai/news/mixtral-of-experts/
- DeepSeekMoE official repository: https://github.com/deepseek-ai/DeepSeek-MoE
- DeepSeek-V2 official repository: https://github.com/deepseek-ai/deepseek-v2
- DeepSeek-V3 official repository and technical report link: https://github.com/deepseek-ai/DeepSeek-V3
- Qwen3 official repository and technical report citation: https://github.com/QwenLM/Qwen3
- Kimi K2 official repository and technical report: https://github.com/MoonshotAI/Kimi-K2
- Muon is Scalable for LLM Training, arXiv 2502.16982: https://arxiv.org/abs/2502.16982
- Llama 4 model card, Meta repository: https://github.com/meta-llama/llama-models/blob/main/models/llama4/MODEL_CARD.md
- Llama 4 official blog: https://ai.meta.com/blog/llama-4-multimodal-intelligence/
- GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection, arXiv 2403.03507: https://arxiv.org/abs/2403.03507
- Q-GaLore, arXiv 2407.08296: https://arxiv.org/abs/2407.08296
- Scalable Parameter and Memory Efficient Pretraining for LLM, arXiv 2505.22922: https://arxiv.org/abs/2505.22922
- EfficientLLM: Efficiency in Large Language Models, arXiv 2505.13840: https://arxiv.org/abs/2505.13840
- Parameter-efficient fine-tuning in large language models: a survey of methodologies, Artificial Intelligence Review 2025: https://link.springer.com/article/10.1007/s10462-025-11236-4
- A Survey on Mixture of Experts in Large Language Models, official repository: https://github.com/withinmiaov/A-Survey-on-Mixture-of-Experts-in-LLMs