本章定位:把 Policy Gradient(Ch5)从 “MC 风格”升级为 “TD 风格”——引入 Critic 网络作为可学习的 baseline + 用 bootstrap 估计优势。最终诞生的 GAE(Generalized Advantage Estimation)是 PPO 的核心。
Latest Notes
YANG's Blog
按时间整理的技术笔记、学习记录和工程实践。
本章定位:本系列最关键的一章。TRPO 用 trust region 思想第一次稳定了 policy gradient 训练;PPO 把 trust region 工程化为简单的 clip 操作,成为 RLHF 时代的”瑞士军刀”。理解 PPO 就理解了《学习笔记-大模型》Ch6 的 RLHF 核
本章定位:DDPG 把 DQN 思想扩展到连续动作;SAC 在 DDPG 基础上加上”最大熵 RL”框架,成为连续控制的当前 SOTA(机器人、自动驾驶首选)。 承上:Ch7 DQN(Replay Buffer + Target Network)+ Ch8 PPO(连续动作但 on-policy)
第一部分:核心思维转变1.1 设计哲学的差异 CPU GPU 核心数量 少(8~32) 多(数千) 单核能力 强(缓存、分支预测、乱序执行) 弱(砍掉了大部分控制逻辑) 擅长 复杂的串行逻辑 对海量数据做同样的简单操作 设计目标 低延迟 高吞吐 1.2 四个关键思维转变从”循环”到”线程网格” 12
https://leetgpu.com/challenges/vector-addition 一、题目分析:这是什么类型的问题向量加法属于 embarrassingly parallel(极易并行)问题——每个输出元素的计算完全独立,没有跨元素的依赖、没有通信、没有归约。这是 GPU 编程里最简单的
这是一份与 AI Infra 主线并行的 GPU 算子学习路线。前面 Chapter0 讲的是”模型怎么散到几百张卡上”,这一份讲的是”每张卡上的 kernel 怎么贴近硬件极限”。两条线互相催化——只学 Infra 容易变成”调包侠”,只学 Kernel 容易变成”单机仙人”,配合学才能在 202
长训练必然挂——硬件会坏、网络会抽风、人会按错按钮、kernel 会触发数值 NaN。一个跑两周的 70B 训练 job 中途崩一次,如果没有 checkpoint,两周白干。所以 checkpoint 不是”训练好了之后存起来”,而是训练循环里和 forward/backward 同等重要的一环。
前面 DDP / ZeRO / 异步计算 几篇都默认了一个很 naive 的设定:torchrun --nproc_per_node=4 就跑起来了。这在单机调试时够用,但只要你打算上 16 卡以上的训练——也就是必须多机——那一行命令就会给你扔出一堆稀奇古怪的 NCCL 报错、卡死、超时,而错误信
这一篇是后续 DDP / ZeRO / Pipeline 章节都会反复用到的”基石设定”。所有大模型训练都默认开混合精度——但到底什么是混合,混到什么程度,为什么不能直接全用 FP16,为什么 BF16 来了之后反而更简单了——很多人只知道”加个 autocast 就行”。这一篇把每个细节都拆开讲清
本章定位:建立 RL 的”母语”——MDP(马尔可夫决策过程)。后续所有算法(DP、MC、TD、Q-Learning、PG、PPO、DPO、GRPO)都建立在 MDP 的概念之上。 承上:Ch0 §F.1 的概率论基础。启下:Ch2 用 DP 求解已知 MDP,Ch3 用 MC/TD 估计未知 M