Chapter 13

源码导读与社区生态

📌 commit 4f9953be335e 读懂 50 万行 / 找问题落点 / 跟生态

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建议的阅读顺序

按"由浅入深 + 跟你用得到的对齐"的顺序:

优先级文件读什么
1colossalai/booster/booster.py 顶层 API
2colossalai/booster/plugin/plugin_base.pyplugin 抽象
3colossalai/booster/plugin/low_level_zero_plugin.py最简单的 plugin
4colossalai/zero/low_level/low_level_optim.pyZeRO 实现
5colossalai/booster/plugin/gemini_plugin.pyGemini plugin
6colossalai/zero/gemini/gemini_ddp.py GeminiDDP
7colossalai/zero/gemini/chunk/manager.py ChunkManager
8colossalai/shardformer/shard/sharder.py ShardFormer 入口
9colossalai/shardformer/policies/llama.pyLLaMA policy(最具代表性)
10colossalai/booster/plugin/hybrid_parallel_plugin.py3D 并行集大成者
11colossalai/pipeline/schedule/one_f_one_b.pyPP 调度
12applications/ColossalChat/coati/trainer/ppo.py真实应用

13.3关键 commit 时间线

时间关键变更
2021-10v0.0.1:项目首次开源
2022-04Gemini 模块上线
2022-11引入 Booster 顶层抽象(重大重构)
2023-03ColossalChat:首版 RLHF 复刻
2023-09ShardFormer 上线
2023-10HybridParallelPlugin 上线
2024-03Colossal-LLaMA-2 中文增强 + grok-1 训练
2024-08Zero-Bubble Pipeline 集成
2024-10MoeHybridParallelPlugin + Mixtral / DeepSeek 支持
2024-12v0.5.0 + Llama-3 / Qwen2 全栈支持
2025-Q1FP8 训练支持 + 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跟竞品的差异(再回顾)

ColossalAIDeepSpeedMegatron-LMTorchTitan
顶层 API Booster + Plugin deepspeed.initialize()命令行参数 原生 PyTorch
ZeRO-3 Gemini(chunk 化)原版 不支持 FSDP-2
3D 并行 HybridParallelPlugin需配合 Megatron 原生 原生
HF 模型自动 TP ShardFormer ★ 不支持 需要重写 需要重写
RLHF 配套 ColossalChat ★
中文社区 ★★★★ 国内最强 ★★ ★★

13.7社区入口

13.8提 issue / PR 的礼仪

  1. 提 issue 前先在 Discussions / Discord 搜索;
  2. 提 bug 时附 最小复现 + 完整 stack + colossalai/torch/cuda 版本
  3. 提 PR 必须过 pre-commit + 自动 CI;
  4. 新模型 policy 请加测试到 tests/test_shardformer/test_model/test_shard_xxx.py
  5. 大改动建议先提 design issue 讨论。

13.9给读者的下一步

读完这本书后建议你按以下顺序继续:

  1. 跑通官方 examples:从 examples/language/llama/ 开始;
  2. 把第 3-9 章的代码自己抄一遍,重点是切换 plugin 跑同一个任务;
  3. 读源码:按本章 13.2 的优先级;
  4. 定制 policy:给一个 ColossalAI 还没支持的模型写 policy;
  5. 读 ColossalChat 的 PPO trainer:把 RLHF 看清楚;
  6. 对比 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、踩坑清单都过了一遍。 接下来真正的功夫在源码里——希望你能用得顺手。