Build LLM from Scratch
本文涉及代码可参考:Github
目录
- 为什么需要 Build LLM from Scratch
- LLM 入门基础知识
- BPE tokenizer
- Transformer (decoder-only) 模型实现
- Attention Alternatives 与 MoE
- 大模型推理优化基础
- 性能优化的第一原则:先证明自己测到了真实工作
- 单 GPU 显存:先把“放不下”拆成几本账
- FlashAttention-2:注意力的瓶颈为什么首先是数据移动
- TTFT、TPOT 与吞吐
- Prefill 与 Decode
- Roofline 视角:瓶颈取决于每搬一个字节做多少计算
- 为什么 Prefill 容易吃满算力,Decode 却被内存拖住
- 延迟与吞吐为什么天然冲突:Llama 2 13B 的理论账本
- 第一条路线:让 KV cache 更小
- 第二条路线:让每个字节更便宜
- 第三条路线:剪掉工作,再用蒸馏修复
- Speculative Sampling:把慢生成改造成快验证
- 真实流量不是矩形张量:Continuous Batching
- PagedAttention:像操作系统一样管理 KV cache
- 小结
- 分布式训练/推理
- Scaling Laws:用小实验预测大模型
- 模型输出采样
- 训练数据预处理
- 模型评测
- SFT-有监督微调
- RLHF - 强化微调
- 可验证奖励强化学习(RLVR)
- 多模态大模型的编码、对齐与统一生成
- 本文涉及代码可参考
- 参考