梦想
享受当下做的每一件事 Live a Life You will Remember

Latest Notes

YANG's Blog

按时间整理的技术笔记、学习记录和工程实践。

知识库
Chapter1 Linear 量化全景

理解 LLM 量化需要盯住 Linear 层。 大部分参数在这里,大部分 GEMM 在这里,大部分低比特 kernel 的收益和风险也在这里。 Transformer 里反复消耗显存带宽和算力的,主要是 attention 里的 q_proj、k_proj、v_proj、o_proj,MLP 里的

Chapter0 LLM 量化总览

LLM 量化要把推理系统里最贵的显存、HBM 带宽和矩阵计算,转化成一套可控的数值近似问题。 在大模型推理里,参数要从 HBM 读,activation 要在层之间流动,decode 阶段还要持续维护 KV cache。模型越大、上下文越长、batch 越高,瓶颈越不像“算不过来”,而更像“数据搬不

2026-06-16

CUDA 编程不要按“语法课”学,要按 GPU 执行模型 → 内存层次 → 性能建模 → Kernel 优化 → AI 算子实现 这条线学。你以后做 AI Infra / 推理优化,核心不是“会写 CUDA”,而是能判断: 一个算子为什么慢?瓶颈在访存、计算、同步、调度、还是数据布局?怎么改 ker

2026-06-04

好,你跳过了 A/B 的确认,那我假设你心里已经清楚了——但为了保险,我在进入 IS 之前用一句话把关键结论钉死,你边读边自检: A 的答案:期望要求采样自 $\pi\theta$(当前策略),但手上数据来自 $\pi{\theta_{\text{old}}}$(采样时的旧策略)。$\theta$

0. AI Infra 知识框架

模型代码只是冰山的一角。一个 7B 的 Dense Transformer 核心代码不到一千行,一个 600B 的 MoE 模型核心代码也就两三千行;而训练它的 infra 代码——5D 并行、混合精度、FP8、checkpoint、容错、RLHF rollout、推理服务——动辄几万到十几万行。算

0. KV Cache

设定一个具体例子为了让矩阵形状清晰,我们用一个小模型: 1234d (hidden dim) = 8h (num heads) = 2d_h (head dim) = 4 (= d / h)B (batch size) = 1 (为简化,省略 batch 维) Prompt:"The ca

2. 1F1B

GPipe 把朴素模型并行救活了,但它有一个工程上的死结:bubble 想小就得加大 M,M 一大显存就炸。这一篇讲的 1F1B(One Forward One Backward)是 PP 的工业标准——它的 bubble 公式和 GPipe 完全一样,但因为巧妙地把”在飞 micro-batch

3. Interleaved 1F1B

1. 故事线:为什么会出现 interleaved1.1 前一代留下的问题Gpipe 解决了”pipeline 怎么并行”的问题,但激活内存爆炸——in-flight 的 micro-batch 数 = $M$。 1F1B(One Forward One Backward)解决了显存:forward

1 / 22