Chapter 13
源码导读与社区生态
ColossalAI 主仓约 50 万行代码,初学者很容易迷路。本章给一份"应该先读什么"的路线图, 外加项目周边生态(论文、相关项目、社区入口)。
13.1仓库目录全景
ColossalAI/ https://github.com/hpcaitech/ColossalAI
├── colossalai/ ★ 核心库(你 import 的全在这)
│ ├── booster/ ★ Booster + 7 个 plugin
│ │ ├── booster.py
│ │ ├── mixed_precision/
│ │ └── plugin/
│ ├── shardformer/ ★ 自动切模型
│ │ ├── layer/ ColumnParallelLinear / RowParallelLinear / RingAttention
│ │ ├── modeling/ 定制 forward
│ │ ├── policies/ 30+ 模型 policy
│ │ └── shard/ ModelSharder + ShardConfig
│ ├── zero/ ★ ZeRO + Gemini
│ │ ├── low_level/ ZeRO-1/2 实现
│ │ └── gemini/ ZeRO-3 + offload
│ ├── pipeline/ ★ PP schedule
│ │ ├── schedule/ 1f1b / interleaved / zbv
│ │ ├── p2p.py
│ │ ├── stage_manager.py
│ │ └── weight_grad_store.py
│ ├── nn/ ★ Layer / Optimizer / Loss
│ │ ├── layer/
│ │ ├── optimizer/ HybridAdam, FusedAdam, CPUAdam
│ │ └── lr_scheduler/
│ ├── moe/ MoE 实现(expert_parallel, ep group)
│ ├── inference/ 推理引擎
│ ├── checkpoint_io/ ★ 各种 ckpt 策略
│ ├── tensor/ d_tensor 抽象
│ ├── cluster/ ProcessGroupMesh
│ ├── lazy/ LazyTensor(延迟初始化)
│ ├── kernel/ C++/CUDA kernel binding
│ └── ...
├── applications/ ★ 完整应用
│ ├── Colossal-LLaMA/
│ ├── ColossalChat/
│ ├── ColossalEval/
│ ├── ColossalMoE/
│ └── ColossalQA/
├── extensions/ 独立可装的 C++ kernel
├── op_builder/ 编译扩展的脚手架
├── examples/ 基础例子
├── tests/ 测试(也是非常好的"小例子"来源)
└── docs/ 官方文档
13.2建议的阅读顺序
按"由浅入深 + 跟你用得到的对齐"的顺序:
| 优先级 | 文件 | 读什么 |
|---|---|---|
| 1 | colossalai/booster/booster.py | 顶层 API |
| 2 | colossalai/booster/plugin/plugin_base.py | plugin 抽象 |
| 3 | colossalai/booster/plugin/low_level_zero_plugin.py | 最简单的 plugin |
| 4 | colossalai/zero/low_level/low_level_optim.py | ZeRO 实现 |
| 5 | colossalai/booster/plugin/gemini_plugin.py | Gemini plugin |
| 6 | colossalai/zero/gemini/gemini_ddp.py | GeminiDDP |
| 7 | colossalai/zero/gemini/chunk/manager.py | ChunkManager |
| 8 | colossalai/shardformer/shard/sharder.py | ShardFormer 入口 |
| 9 | colossalai/shardformer/policies/llama.py | LLaMA policy(最具代表性) |
| 10 | colossalai/booster/plugin/hybrid_parallel_plugin.py | 3D 并行集大成者 |
| 11 | colossalai/pipeline/schedule/one_f_one_b.py | PP 调度 |
| 12 | applications/ColossalChat/coati/trainer/ppo.py | 真实应用 |
13.3关键 commit 时间线
| 时间 | 关键变更 |
|---|---|
| 2021-10 | v0.0.1:项目首次开源 |
| 2022-04 | Gemini 模块上线 |
| 2022-11 | 引入 Booster 顶层抽象(重大重构) |
| 2023-03 | ColossalChat:首版 RLHF 复刻 |
| 2023-09 | ShardFormer 上线 |
| 2023-10 | HybridParallelPlugin 上线 |
| 2024-03 | Colossal-LLaMA-2 中文增强 + grok-1 训练 |
| 2024-08 | Zero-Bubble Pipeline 集成 |
| 2024-10 | MoeHybridParallelPlugin + Mixtral / DeepSeek 支持 |
| 2024-12 | v0.5.0 + Llama-3 / Qwen2 全栈支持 |
| 2025-Q1 | FP8 训练支持 + Ring Attention |
看这条时间线就能感受出:"Booster + Plugin + ShardFormer" 是项目的命脉,所有大变动都围绕它。
13.4关联论文
| 论文 | 对应实现 |
|---|---|
| Megatron-LM (Shoeybi 2019) | shardformer 列/行并行 |
| GPipe (Huang 2019) / 1F1B (Narayanan 2021) | pipeline/schedule/ |
| ZeRO (Rajbhandari 2020) + ZeRO-Offload (Ren 2021) | zero/low_level/ |
| PatrickStar (Fang 2022) | Gemini 灵感来源 |
| Flash Attention (Dao 2022) | shardformer/layer/attn.py |
| Sequence Parallelism (Korthikanti 2022) | SP "split_gather" mode |
| Ring Attention (Liu 2023) | SP "ring_attn" mode |
| Zero Bubble Pipeline (Qi 2024) | pipeline/schedule/zero_bubble_pp.py |
| DeepSpeed-Ulysses (Jacobs 2023) | SP "all_to_all" mode |
13.5同生态相关项目
| 项目 | 定位 | 跟 ColossalAI 的关系 |
|---|---|---|
| EnergonAI | 推理引擎 | 同公司,针对推理优化 |
| OpenDiT | DiT 加速 | 同公司,多模态方向 |
| OpenSora | 开源 Sora | 底层用 ColossalAI |
| FastFold | AlphaFold 加速 | 底层用 ColossalAI |
| ColossalQA | RAG 框架 | 子 application |
13.6跟竞品的差异(再回顾)
| ColossalAI | DeepSpeed | Megatron-LM | TorchTitan | |
|---|---|---|---|---|
| 顶层 API | Booster + Plugin | deepspeed.initialize() | 命令行参数 | 原生 PyTorch |
| ZeRO-3 | Gemini(chunk 化) | 原版 | 不支持 | FSDP-2 |
| 3D 并行 | HybridParallelPlugin | 需配合 Megatron | 原生 | 原生 |
| HF 模型自动 TP | ShardFormer ★ | 不支持 | 需要重写 | 需要重写 |
| RLHF 配套 | ColossalChat ★ | 无 | 无 | 无 |
| 中文社区 | ★★★★ 国内最强 | ★★ | ★★ | ★ |
13.7社区入口
- GitHub:
https://github.com/hpcaitech/ColossalAI(41k+ ⭐) - 官方文档:
https://colossalai.org/(中英双语) - 论坛: GitHub Discussions(响应快)
- Slack / Discord: 项目主页有 invite
- 知乎专栏: 搜 "潞晨科技 / Colossal"
- 商业版: Colossal-AI Platform(云服务)
13.8提 issue / PR 的礼仪
- 提 issue 前先在 Discussions / Discord 搜索;
- 提 bug 时附 最小复现 + 完整 stack + colossalai/torch/cuda 版本;
- 提 PR 必须过
pre-commit+ 自动 CI; - 新模型 policy 请加测试到
tests/test_shardformer/test_model/test_shard_xxx.py; - 大改动建议先提 design issue 讨论。
13.9给读者的下一步
读完这本书后建议你按以下顺序继续:
- 跑通官方 examples:从
examples/language/llama/开始; - 把第 3-9 章的代码自己抄一遍,重点是切换 plugin 跑同一个任务;
- 读源码:按本章 13.2 的优先级;
- 定制 policy:给一个 ColossalAI 还没支持的模型写 policy;
- 读 ColossalChat 的 PPO trainer:把 RLHF 看清楚;
- 对比 Megatron 和 DeepSpeed(本系列其他书):理解三大框架的设计差异。
13.10真实子目录速查(v2026)
colossalai/
├── booster/ ★ 顶层 API
│ ├── booster.py:33 Booster class
│ └── plugin/ ★ 9 个 plugin
│ ├── gemini_plugin.py
│ ├── hybrid_parallel_plugin.py
│ ├── low_level_zero_plugin.py
│ ├── torch_ddp_plugin.py / torch_fsdp_plugin.py
│ └── moe_hybrid_parallel_plugin.py
│
├── shardformer/ ★ HF 模型自动切片
│ ├── policies/ 25 个 model policy
│ └── modeling/ LLaMA / Mistral / Mixtral / DeepSeek-V3 / Qwen2-3 / ChatGLM2 / ...
│
├── zero/ ★ ZeRO + Gemini
│ ├── gemini/
│ │ ├── gemini_mgr.py:13 GeminiManager
│ │ ├── gemini_ddp.py:31 GeminiDDP(ZeRO-3 风)
│ │ ├── chunk/manager.py ChunkManager
│ │ └── memory_tracer/ MemStats
│ └── low_level/ LowLevel ZeRO-1
│
├── pipeline/
│ ├── p2p.py
│ ├── stage_manager.py PipelineStageManager
│ └── schedule/
│ ├── one_f_one_b.py 1F1B
│ ├── interleaved_pp.py interleaved
│ ├── zero_bubble_pp.py ★ Zero Bubble(业界领先)
│ ├── v_schedule.py ★ V-Schedule
│ └── generate.py 推理用
│
├── tensor/ TP + D-Tensor
├── kernel/ CUDA / Triton 算子
├── inference/ ★ 52 个文件,自家 TP 推理
├── moe/ MoE 算子
├── quantization/ fp8.py / fp8_hook.py / bnb.py
├── checkpoint_io/ ★ async checkpoint
├── auto_parallel/ 自动并行(FX 图分析)
├── cluster/ / accelerator/ / nn/ / fx/ / lazy/ / interface/ / legacy/
│
applications/
├── ColossalChat/ ★ RLHF:SFT/RM/PPO/DPO/GRPO/KTO/ORPO
└── ColossalQA / ColossalEval / ColossalMoE
13.112025–2026 新东西
| 时间 | 更新 |
|---|---|
| 2026-Q1 | DeepSeek-V3 / R1 训练支持(MLA + 多 expert routing) |
| 2025-Q4 | FP8 hook-based 训练(quantization/fp8_hook.py,挂在 LowLevelZeroPlugin) |
| 2025-Q3 | Zero-Bubble Pipeline Schedule(pipeline/schedule/zero_bubble_pp.py) |
| 2025-Q2 | MoeHybridParallelPlugin + MoECheckpointIO |
| 2025-Q1 | Async checkpoint(checkpoint_io/utils.py:async_save_state_dict_shards + pinned memory) |
| 2024-Q4 | Qwen2/Qwen3、Mixtral、Command 等 policy 加入 ShardFormer |
13.12结语
ColossalAI 是当前国产 LLM 训练框架里完成度最高、API 设计最优雅的项目之一。它把 Megatron 的高性能、 DeepSpeed 的卸载能力、PyTorch FSDP 的易用性放到一个 Plugin 系统里, 让"换并行策略"变得像换主题一样轻巧。
本书把它的核心抽象、性能开关、实战 pipeline、踩坑清单都过了一遍。 接下来真正的功夫在源码里——希望你能用得顺手。