1. 大规模预训练与分布式训练
| 框架 | 主要用途 | 特点 |
|---|---|---|
| Megatron-LM / Megatron Core | 预训练、SFT、大模型全参训练 | TP、PP、DP、EP、CP,适合超大模型和 MoE |
| DeepSpeed | 预训练、SFT、RL 的训练后端 | 核心是 ZeRO,降低参数、梯度和优化器显存 |
| PyTorch FSDP / FSDP2 | 通用分布式训练后端 | PyTorch 原生参数分片 |
| TorchTitan | 大规模预训练、SFT | PyTorch 原生,支持 FSDP2、TP、PP、CP |
| NVIDIA NeMo Framework | 预训练、SFT、RL、蒸馏 | NVIDIA 端到端平台,可使用 Megatron 和 PyTorch |
| NeMo AutoModel | 预训练、SFT、KD | Hugging Face 模型加 PyTorch DTensor/FSDP2 |
| Colossal-AI | 预训练、微调、MoE | 提供多种模型并行和显存优化 |
Megatron 更适合超大规模模型;DeepSpeed/FSDP 更容易和 Hugging Face 模型结合;TorchTitan 偏 PyTorch 原生研究与预训练。(GitHub)
2. SFT、LoRA、DPO 等后训练
| 框架 | 支持内容 | 适合人群 |
|---|---|---|
| Hugging Face TRL | SFT、DPO、KTO、PPO、GRPO、KD | 学习算法、快速实验 |
| LLaMA-Factory | CPT、SFT、LoRA、DPO、PPO | 上手简单,有图形界面 |
| ms-swift | CPT、SFT、DPO、GRPO、GKD、PPO | Qwen/多模态/国产生态较强 |
| Axolotl | SFT、LoRA、QLoRA、DPO、GRPO | 配置文件驱动,工程化较好 |
| torchtune | SFT、KD、DPO、PPO、GRPO | PyTorch 原生,代码容易阅读修改 |
| Unsloth | SFT、LoRA、QLoRA、GRPO | 单机或少量 GPU,省显存、速度快 |
| NeMo AutoModel | 大规模 SFT、PEFT、KD | 多机训练和 Hugging Face 模型 |
简单选择:
初学和小规模实验:TRL、LLaMA-Factory、Unsloth
工程化 SFT:Axolotl、ms-swift
多机大模型 SFT:Megatron、NeMo、TorchTitan
3. LLM 强化学习框架
| 框架 | 定位 |
|---|---|
| veRL | 当前主流的大规模 RL 框架,支持 PPO、GRPO、DAPO、GSPO、OPD 等 |
| OpenRLHF | Ray + vLLM + DeepSpeed,支持 PPO、GRPO、RLOO、REINFORCE++ |
| NeMo RL | NVIDIA 的规模化 RL 框架,支持 DTensor 和 Megatron 后端 |
| slime | Megatron 训练 + SGLang Rollout,面向大规模 RL |
| AReaL | 异步 RL,生成和训练解耦 |
| ROLL | 阿里开源,支持 RLVR、Agent RL、蒸馏和 OPD |
| SkyRL | 面向 Agent、多轮工具调用和异步 RL |
| TRL | 算法清晰,适合单机、小集群和研究实验 |
| Axolotl / ms-swift / Unsloth | 通过较简单配置运行 GRPO 等训练 |
(GitHub)
简单选择:
学习 GRPO/PPO 算法:TRL
常规多机 RL:veRL
Megatron 超大模型 RL:veRL、slime、NeMo RL
异步 RL:AReaL、SkyRL
Agent RL:SkyRL、ROLL、OpenRLHF、veRL
4. 蒸馏和 OPD 框架
OPD = On-Policy Distillation,在策略蒸馏。
目前明确提供 OPD 或接近 OPD 能力的主流框架有:
| 框架 | 支持情况 |
|---|---|
| veRL | 原生 OPD,支持教师模型、正向/反向 KL、纯 OPD 或结合任务 Reward |
| ROLL | 有独立 On-Policy Distillation Pipeline,支持多教师和混合 Reward |
| SkyRL | 提供 OPD 示例和训练流程 |
| NeMo RL | 支持 On-policy Distillation |
| TRL | MiniLLM、GKD 等蒸馏 Trainer,MiniLLM 可覆盖广义 OPD |
| torchtune | 支持 Knowledge Distillation |
| ms-swift | 支持 GKD |
| NeMo AutoModel | 支持普通知识蒸馏 |
(GitHub)
5. 你最需要认识的框架关系
一个实际的 RL 项目可能是:
veRL
├─ 调度:Ray
├─ Actor 训练:Megatron 或 FSDP
├─ Rollout 生成:vLLM 或 SGLang
├─ Reward:规则验证器或 Reward Model
└─ 日志:W&B
所以:
Megatron / FSDP / DeepSpeed
= 训练计算后端
veRL / OpenRLHF / NeMo RL / slime
= RL 流程框架
vLLM / SGLang
= Rollout 推理引擎
TRL / LLaMA-Factory / Axolotl / ms-swift
= 更上层、更易用的训练工具