Blog
21 posts
2026
从策略梯度出发,梳理重要性采样、PPO 裁剪目标,以及 token 级与序列级权重带来的方差差异,作为高效策略优化工作的背景笔记。
以“优化机制”为主轴梳理用 RL 对齐扩散/Flow 生成模型的技术谱系:扩散与 Flow Matching 的数学基础、为何 ODE 要转 SDE、GRPO 家族(Flow-GRPO/DanceGRPO/G²RPO/GRPO-Guard/Flow-DPPO/Flow-OPD)、DPO 与可微反传,以及 Flow-GRPO 与 LLM-GRPO 的本质区别。
我在 ACL 2026 的 oral presentation 整理:面向 RAG 的层次化分块框架 HiChunk 与评测基准 HiCBench。逐页给出幻灯片要点,并附上当时的英文演讲稿(讲稿备注)。
用 verl 真实代码把 6 个主流 RLHF/RLVR 算法一次讲透:以“算法 = Advantage 估计 × Policy Loss”的统一框架,逐一拆解 PPO、GRPO、Dr.GRPO、GSPO、DAPO、OPD,以及 RLOO/ReMax/REINFORCE++/OPO/GPG 等 Critic-free 变体。
一张面向 2024–2026 的大模型框架地图:训练(Megatron-Core / DeepSpeed / FSDP2)、微调(LLaMA-Factory / Unsloth)、RLHF 后训练(veRL / OpenRLHF / Slime)、推理(vLLM / SGLang / TensorRT-LLM / llama.cpp)四大赛道的核心技术、横向对比与选型建议。
verl 最有工程含量的部分:生成为什么单独用 vLLM/SGLang,BaseRollout 的 resume/generate/release/update_weights 生命周期,以及训练后新权重如何经 ShardingManager 重分片同步回推理引擎、显存如何错峰。
把 WorkerGroup、DataProto 串起来读 verl 的“剧本”:RayPPOTrainer.fit() 主循环,以及 core_algos.py 里 GAE 与 GRPO 组内归一化、PPO 裁剪目标、KL 惩罚的具体实现。
verl 里贯穿全程的数据总线 DataProto:batch / non_tensor_batch / meta_info 三段式结构,以及 chunk / concat / union / select / repeat 五个核心操作如何支撑分布式分发与 RL 多阶段数据流。
深入 verl 的 single-controller 实现核心:WorkerGroup、@register 装饰器与 Dispatch 分发模式。看它如何把复杂的分布式 RL 数据流封装成 driver 侧几行同步代码。
verl 是什么、解决什么问题、核心概念有哪些、一次 RL 训练的数据流长什么样。本系列第 1 篇建立对 HybridFlow、single-controller/multi-controller、DataProto 与 WorkerGroup 的整体认知。
2025
以 DeepSeek-V3 的真实 Megatron 训练脚本为样本,把每个训练参数对回背后的原理:MLA、细粒度 MoE、MTP、EP+ZeRO-3 的并行哲学;并横向对比 Qwen3-235B(两种 MoE 路线)、给出主流百亿/万亿模型并行地图,以及预训练→SFT→RL 的完整训练链路。
在 64 卡 RoCE 集群上对 Qwen3-235B-A22B(MoE)做角色扮演全参 SFT 的完整复盘:环境、网络、数据、模型、权重转换、训练到踩坑七步链路,附实跑数字与参数。
几百卡训几周,硬件一定会出故障。本文讲分布式 Checkpoint 为什么能换并行配置重载(ShardedTensor 的 global_offset)、异步存档、容错(ft_launcher + 心跳 + 分段超时抓“沉默 hang”)与弹性训练的区别,以及落到集群的实战 checklist。
显存都花在哪、重计算如何用算力换激活显存、BF16 与 FP8 混合精度怎么选、MFU 为什么是训练效率的金标准,以及一份按性价比排序的实战调优清单。
把 3D 并行扩展到五维。本文讲 MoE 为什么能解耦参数量与计算量、专家并行 EP 的两次 all-to-all、router 的负载均衡,以及上下文并行 CP 如何用 Ring Attention + zigzag 切法处理超长序列。
并行策略的上限由物理网络决定。本文介绍 NVLink 与 RoCE、GPUDirect RDMA,讲解 NCCL 在机内 NVLink + 机间多网卡 RoCE 上的跑法、关键调优旋钮、busbw 健康标准,以及带宽如何决定通信能否被计算隐藏。
数据并行为什么会重复浪费显存?本文讲清混合精度下的 16 字节/参数构成、ZeRO 思想、Megatron 分布式优化器(reduce-scatter + all-gather)、梯度缓冲区 overlap,并厘清 ZeRO 各档与 Megatron / FSDP / DeepSpeed 的关系。
流水线并行把模型的层切到不同卡。本文讲清 microbatch、流水线气泡(bubble),对比朴素 GPipe 与 1F1B 调度,推导 bubble 公式,并给出 64 卡 3D 并行蓝图。
张量并行把单层的权重矩阵切到多张卡。本文从矩阵乘法的行/列切分讲起,解释 Column/Row Parallel Linear、f 与 g 镜像算子,以及为什么 TP 必须绑定 NVLink 同机。
分布式训练系列开篇:先补齐为什么需要多卡训练、集合通信原语等背景,再讲 Megatron 的 GPU 网格世界观(TP/PP/DP/CP/EP)和一次训练迭代的完整生命周期。
学术主页兼技术博客上线。简单介绍我会在这里分享的内容:论文解读、研究笔记与工程实践。