LLM学习计划
本文章由 AI 辅助生成,作学习路线参考以及知识清单。
title: LLM学习计划
date: 2026-07-20 20:19:03
tags: LLM, AIinfra
本文章由 AI 辅助生成,作学习路线参考以及知识清单。
数学
线性代数
- 矩阵乘法、转置、逆、行列式
- 矩阵分解:SVD、QR、Cholesky
- 特征值与特征向量
- 张量运算:broadcast、reshape、einsum
- 正交性、投影、子空间
概率与信息论
- 条件概率、贝叶斯定理
- 分布:高斯、伯努利、分类分布
- KL散度、交叉熵、互信息
- 最大似然估计(MLE)、最大后验估计(MAP)
- 信息熵、互信息在特征选择中的应用
优化理论
- SGD、Momentum、Nesterov
- Adam / AdamW:自适应学习率 + 权重衰减解耦
- 学习率调度:Warmup、Cosine Decay、OneCycle
- 凸优化与非凸优化的区别
- 梯度消失与梯度爆炸
- 二阶方法:Newton法、L-BFGS(了解即可)
数值计算
- 浮点表示:FP32、FP16、BF16、FP8(E4M3/E5M2)、INT8、INT4、NF4
- 混合精度训练:前向FP16/BF16,主权重FP32,loss scaling
- 数值稳定性:log-sum-exp技巧、softmax溢出处理
- 量化误差:截断误差、舍入误差、离群值问题
计算图与自动微分
- 前向传播与反向传播
- 动态图(PyTorch)vs 静态图(XLA、TorchScript)
- 计算图优化:常量折叠、算子融合、公共子表达式消除
- 梯度检查点(Activation Checkpointing):时间换空间
Transformer 核心原理
总体结构
- 三种范式:Encoder-Decoder(T5)、Decoder-Only(GPT/LLaMA/Qwen)、Encoder-Only(BERT)
- 现代LLM统一为 Decoder-Only
- 单层结构:RMSNorm → Attention → Residual → RMSNorm → FFN → Residual
- Pre-LN vs Post-LN:现代模型统一 Pre-LN,训练更稳定
- RMSNorm 替代 LayerNorm:去掉均值中心化,减少一次reduce操作
- FFN:SwiGLU / GeGLU 替代原始 ReLU FFN,门控结构提升表达力
- Tied Embedding:输入输出共享embedding矩阵,减少参数量
- 缩放定律(Scaling Law):Chinchilla最优配比(参数:数据 ≈ 1:20 tokens),compute-optimal训练
- μP(Maximal Update Parametrization):小模型调参迁移到大模型
注意力机制
基本计算
- QKV投影:$Q=XW_Q,\ K=XW_K,\ V=XW_V$
- 注意力分数:$\text{Attn}=\text{softmax}(QK^T/\sqrt{d_k})V$
- Causal Mask:下三角掩码,保证自回归因果性
- Multi-Head:多头独立计算后concat再投影
位置编码
- 绝对位置编码:原始Transformer的正弦/余弦编码
- 相对位置编码:T5的relative bias、ALiBi(线性偏置,无需外推训练)
- RoPE(旋转位置编码):当前主流,将位置信息编码为旋转矩阵作用于Q和K
- 长度外推方法:
- Position Interpolation:线性压缩位置索引
- NTK-aware Scaling:调整频率基数θ
- Dynamic NTK:根据序列长度动态调整
- YaRN:分频段处理,低频外推+高频不变+中频插值
- LongRoPE:搜索最优缩放因子
- Self-Extend:分组注意力,近处精细远处粗糙
注意力变体
- MQA(Multi-Query Attention):所有头共享一组KV,极端压缩
- GQA(Grouped-Query Attention):分组共享KV,当前主流(LLaMA-3、Qwen3、Mistral)
- MLA(Multi-head Latent Attention):DeepSeek-V2/V3,将KV压缩到低秩潜空间,推理时解压
- Mixture of Attentions:不同头使用不同注意力模式(全注意力/稀疏/线性)
FlashAttention
- 核心思想:IO-aware tiling,避免实例化完整 $N \times N$ 注意力矩阵到HBM
- FlashAttention-1:分块计算,online softmax
- FlashAttention-2:更好的并行度(按序列维度分块),减少非矩阵乘操作
- FlashAttention-3:利用H100 TMA + WGMMA异步流水线,支持FP8注意力
- FlashDecoding / FlashDecoding++:decode阶段按KV维度分块并行,解决decode阶段GPU利用率低的问题
- 稀疏注意力:StreamingLLM(sink token + 滑动窗口)、MInference(动态稀疏模式选择)
KV Cache
基本原理
- 自回归生成时,历史token的K、V不变,缓存避免重复计算
- 显存占用:$2 \times n{layers} \times n{kv_heads} \times d_{head} \times seq_len \times batch_size \times bytes_per_element$
- 长序列下KV Cache是推理显存的主要瓶颈
结构优化
- GQA / MQA:减少KV头数
- MLA:KV压缩到低秩潜空间,存储量降低数倍
- 滑动窗口注意力:只保留最近W个token的KV(Mistral)
量化与压缩
- KV Cache量化:INT8 / INT4 / FP8
- 驱逐策略:H2O(Heavy Hitter Oracle,保留高频注意力token)、Scissorhands、SnapKV
- 分层驱逐:不同层使用不同压缩率
管理与复用
- PagedAttention(vLLM):KV Cache按页管理,消除显存碎片,提升batch size
- RadixAttention(SGLang):前缀树管理KV Cache,自动复用公共前缀
- Prefix Caching / Prompt Caching:相同system prompt或前缀自动命中
- Disaggregated KV Cache:KV存储与计算节点分离(Mooncake、DistServe)
- KV Cache offloading:卸载到CPU内存/SSD(FlexGen、InfiniGen)
量化
训练后量化(PTQ)
- GPTQ:逐层二阶信息(Hessian)量化,逐列更新补偿误差
- AWQ:激活感知,识别并保护显著权重通道
- SmoothQuant:将激活离群值通过缩放因子迁移到权重侧,使两者都易量化
- GGUF格式(llama.cpp):Q4_K_M、Q5_K_S等混合精度方案,按张量分配不同bit
量化感知训练(QAT)
- 训练时插入fake quantize节点,模拟量化误差
- 模型学习补偿量化带来的精度损失
精度格式与适用场景
- FP16 / BF16:训练主流,BF16动态范围更大
- FP8(E4M3用于前向,E5M2用于反向):H100+原生支持
- INT8(W8A8):SmoothQuant路线,推理部署
- INT4(W4A16):GPTQ/AWQ路线,推理主流
- NF4:QLoRA使用的4bit NormalFloat,信息论最优
MoE
基本结构
- Router(门控网络):线性层 + softmax,输出专家权重
- Top-k选择:每个token选k个专家(通常k=2)
- 加权求和:选中专家输出按路由权重加权
- FFN替换:每个专家是一个独立FFN
训练关键问题
- 负载均衡:Auxiliary Loss(鼓励均匀分配)、Expert Choice Routing(专家选token)、Z-loss(稳定router logits)
- 路由坍缩:所有token涌向少数专家,需正则化
- DeepSeek MoE:细粒度专家切分(更多更小专家)、共享专家(所有token必经)、无损负载均衡
并行与推理
- Expert Parallelism(EP):专家分布到不同GPU,All-to-All通信交换token
- 推理优化:Expert offloading(冷专家放CPU)、动态专家激活、专家缓存
- 与投机解码结合:MoE-Spec,利用专家路由相关性分配draft预算
微调
全参数微调
- 显存需求:模型参数 + 梯度 + 优化器状态(Adam约16×参数量bytes)
- 需配合ZeRO / FSDP / TP降低单卡显存
参数高效微调(PEFT)
- LoRA:$\Delta W = BA$,$B \in \mathbb{R}^{d \times r},\ A \in \mathbb{R}^{r \times k}$,冻结原权重,只训练低秩矩阵
- QLoRA:基座模型4bit量化(NF4)+ LoRA适配器
- DoRA:权重分解为方向(direction)和幅度(magnitude),分别适配
- AdaLoRA / rsLoRA:自适应秩分配,重要层分配更高秩
- GaLore:梯度低秩投影,近似全参数微调效果,显存接近LoRA
工程框架
- LLaMA-Factory:一站式微调,支持LoRA/QLoRA/全参/DPO/PPO
- Axolotl:配置驱动,支持多种训练范式
- Unsloth:2×速度提升,内存减半
数据工程
- 指令数据构造:Self-Instruct、Evol-Instruct、Magpie
- 多轮对话格式:ChatML、Llama-3格式
- 数据质量过滤:困惑度过滤、规则过滤、模型打分
- 课程学习:由易到难排列训练数据
投机解码
基本范式
- Draft模型(小/快)生成k个候选token
- Target模型(大/慢)一次前向并行验证k个token
- 逐token接受/拒绝:接受则保留,拒绝则从target分布重采样
- 关键指标:接受率(acceptance rate)、加速比(speedup ratio)
主要变体
- Medusa:在target模型上加多个预测头,并行预测未来多位置,无需独立draft模型
- EAGLE / EAGLE-2:基于特征级(hidden state)draft,而非token级,接受率显著提升
- Lookahead Decoding:Jacobi迭代,将自回归转化为并行不动点求解
- Self-Speculative / LayerSkip:用模型自身浅层/早退输出做draft
- MoE-Spec:针对MoE模型,利用专家路由相关性分配draft计算预算
工程落地
- vLLM:内置speculative decoding,支持多种draft策略
- SGLang:支持EAGLE等
- 选择依据:draft模型质量、额外显存开销、batch size影响
训练
预训练
数据
- 数据来源:Common Crawl、书籍、代码、学术论文、百科
- 清洗:HTML标签去除、语言检测、编码统一
- 去重:MinHash + LSH近似去重、精确去重
- 质量过滤:困惑度过滤、分类器打分、规则过滤
- 数据配比:多语言、多领域配比实验
- 课程学习:先易后难、先短后长
并行策略
- Data Parallelism(DP):数据切分,梯度AllReduce
- Tensor Parallelism(TP):单层权重按列/行切分,节点内通信
- Pipeline Parallelism(PP):不同层放不同GPU,micro-batch流水线
- Sequence Parallelism(SP):LayerNorm/Dropout沿序列维度切分
- Expert Parallelism(EP):MoE专家分布到不同GPU
- Context Parallelism(CP):长序列切分到多设备(Ring Attention)
- 组合使用:3D并行(DP+TP+PP)、4D/5D并行
训练框架
- Megatron-Core:NVIDIA官方,TP/PP/SP/EP原生支持
- DeepSpeed ZeRO-1/2/3:优化器状态/梯度/参数分片
- FSDP2(PyTorch原生):与Megatron-Core融合的Megatron-FSDP
- 通信库:NCCL、Gloo
训练稳定性
- Loss spike:数据异常、学习率过高、数值溢出
- 梯度裁剪:global norm clipping
- Warmup:线性warmup + cosine decay
- 混合精度:BF16前向/反向 + FP32主权重
- Activation Checkpointing:重计算中间激活,省显存
容错与效率
- 弹性训练:节点故障自动恢复
- 异步Checkpoint:后台写入,不阻塞训练
- 增量Checkpoint:只保存变化部分
- 计算通信重叠:AllReduce与下一层前向并行
后训练(Post-Training)
SFT(监督微调)
- 指令跟随数据:单轮/多轮对话
- 格式:ChatML、Llama-3 template
- 数据量:通常数万到数十万条高质量数据
- 训练:1-3 epoch,较小学习率
偏好对齐
- RLHF:训练Reward Model → PPO优化策略
- DPO:直接从偏好对优化,无需显式RM
- ORPO: odds ratio偏好优化
- SimPO:简化版DPO,去掉参考模型
- KTO:只需好/坏标签,无需成对偏好
推理强化学习
- GRPO(Group Relative Policy Optimization):DeepSeek-R1使用,组内相对奖励,无需RM
- DAPO / Dr.GRPO:去除长度偏差
- Rule-based RL:数学/代码场景用可验证奖励(答案正确性)替代人类标注
- 长CoT训练:鼓励模型生成完整推理链
- Test-time Compute Scaling:推理时增加计算量换取更好结果
数据飞轮
- Self-play:模型自我对弈生成训练数据
- Self-improvement:模型生成→过滤→再训练
- RLAIF:AI反馈替代人类反馈
- 迭代蒸馏:大模型输出蒸馏到小模型
推理与部署
并行
- Tensor Parallelism(TP):单层权重按列/行切分到多GPU,AllReduce同步
- Pipeline Parallelism(PP):不同层放不同GPU,micro-batch流水线
- Expert Parallelism(EP):MoE专家分布到不同GPU,All-to-All通信
- Sequence / Context Parallelism:长序列切分到多设备(Ring Attention、Striped Attention)
- Data Parallelism(DP):多副本并行,推理侧用于扩吞吐
vLLM
- PagedAttention:KV Cache按页(block)管理,类似OS虚拟内存,消除显存碎片
- Continuous Batching:请求级动态调度,新请求随时插入,完成请求立即释放
- Chunked Prefill:将长prefill拆成多个chunk与decode交错执行,降低TTFT
- Automatic Prefix Caching:相同前缀(system prompt等)自动复用KV Cache
- 量化支持:AWQ、GPTQ、FP8、INT8
- 并行:TP、PP
- Speculative Decoding:内置支持,可配置draft模型或策略
- 多模态:VLM推理支持(图像、视频输入)
- Disaggregated Prefill/Decode:prefill与decode分离到不同实例(实验性)
- 结构化输出:JSON Schema约束解码(通过集成outlines/xgrammar)
SGLang
- RadixAttention:前缀树(Radix Tree)管理KV Cache,自动复用任意公共前缀
- 结构化生成:压缩有限状态机(Constrained FSM),支持JSON Schema / Regex / EBNF约束解码,性能优于逐token mask
- 编程接口:前端DSL,支持多轮、分支、并行调用、fork/join
- 多模态:图像、视频输入
- 与vLLM对比:SGLang在前缀复用和结构化输出场景更优;vLLM在通用并发、生态兼容性、社区活跃度上更强
其他推理引擎
- TensorRT-LLM:NVIDIA极致性能,编译优化,In-flight Batching,FP8/INT4 kernel,与NVIDIA生态深度绑定
- llama.cpp / Ollama:端侧/CPU推理,GGUF量化格式,Apple Metal / Vulkan后端
- MLC-LLM:基于TVM编译,跨平台(Web/iOS/Android)
- DeepSpeed-Inference:ZeRO-Inference,适合超大模型多卡推理
推理优化技术
- CUDA Graph:将多次kernel launch录制为一次graph launch,消除CPU开销
- 算子融合:Attention + LayerNorm + FFN融合为单个kernel
- KV Cache量化:FP8 / INT8存储KV
- 动态batch调度:SLA-aware、优先级队列、公平性
- Prefill-Decode分离架构:DistServe、Splitwise、Mooncake,prefill和decode分别部署、独立扩缩
- KV-aware routing:按KV Cache命中情况路由请求到对应实例
- 模型编译:torch.compile、TensorRT、XLA图级优化
AI Infra
硬件
- GPU代际:A100 → H100/H200 → B200/GB200(Blackwell)
- 显存:HBM2e → HBM3 → HBM3e,容量80GB → 141GB → 192GB
- 节点内互联:NVLink(900GB/s → 1.8TB/s)、NVSwitch全互联
- 节点间互联:InfiniBand NDR/XDR(400/800 Gbps)、RoCE v2(RDMA over Ethernet)
- 新标准:Ultra Ethernet Consortium(UEC),AI专用以太网
- 竞品:AMD MI300X/MI400、Intel Gaudi 3、Google TPU v6e/v7
网络与拓扑
- Fat-Tree:经典三层Clos网络
- Rail-Optimized:同轨GPU优先通信,减少跨交换机流量
- Dragonfly:高基数低直径,适合All-to-All
- 集合通信原语:AllReduce、AllGather、ReduceScatter、All-to-All
- 通信优化:梯度压缩、异步通信、计算通信重叠
集群调度与编排
- Kubernetes + GPU Operator / MIG(Multi-Instance GPU)
- Slurm:HPC传统调度器
- Ray:分布式计算框架,适合推理服务
- Gang Scheduling:保证分布式训练所有Pod同时调度
- 弹性伸缩:按队列深度自动扩缩推理实例
- 可观测性:DCGM(GPU指标)、Prometheus、Grafana
存储与数据管道
- 并行文件系统:Lustre、GPFS、WekaFS
- 训练数据管道:WebDataset、Mosaic StreamingDataset
- Checkpoint存储:异步写入、增量保存、对象存储(S3/GCS)
- 模型仓库:HuggingFace Hub、Model Registry
编译与Kernel
- CUDA / cuDNN / cuBLAS / NCCL:NVIDIA基础库
- Triton:Python写GPU kernel,自动调优
- CUTLASS / cuTe:模板化GEMM,极致性能
- torch.compile:PyTorch 2.x图级编译优化
- Transformer Engine(NVIDIA):FP8训练/推理自动管理
- XLA:TensorFlow/JAX编译器
架构前沿
线性注意力与状态空间模型
- Mamba / Mamba-2:选择性状态空间模型,线性复杂度
- RWKV-7:RNN + 线性注意力混合
- DeltaNet:基于delta rule的线性注意力
- Gated Linear Attention(GLA):门控线性注意力
Hybrid架构
- Jamba(AI21):Mamba层 + Transformer层交替
- Nemotron-H(NVIDIA):混合注意力 + Mamba
- 动机:兼顾长序列效率与Transformer的表达力
非自回归与Diffusion LLM
- MDLM、SEDD:离散扩散模型做文本生成
- 优势:并行生成、可控性
- 劣势:质量仍落后自回归、推理步数多
Mixture of Depths(MoD)
- 动态跳层:按token难度决定是否经过某层
- 简单token跳过深层计算,节省FLOPs
多模态原生
- 统一Tokenizer:图像/音频/视频/3D统一为离散token
- Any-to-Any生成:任意模态输入→任意模态输出
- Vision Encoder:ViT、SigLIP、InternViT
- 架构:Vision Encoder + Projector + LLM
小模型高效化
- 知识蒸馏:大模型logits/特征蒸馏到小模型
- 数据工程:高质量合成数据 > 海量低质数据
- 代表:Phi-4、Gemma-3、Qwen3-0.6B/1.7B
Reasoning模型
- o1/R1范式:长CoT + RL训练
- Test-time Compute Scaling:推理时增加计算量(更多采样、更长思考)
- 过程奖励模型(PRM):对推理步骤逐步打分
- 搜索增强推理:MCTS、Best-of-N、Self-Consistency
Agent 与应用
Agent框架
- OpenHands(原OpenDevin):CodeAct范式,代码即行动
- LangGraph:基于图的Agent编排
- AutoGen(Microsoft):多Agent对话
- CrewAI:角色分工协作
工具调用与协议
- Function Calling:模型输出结构化工具调用
- MCP(Model Context Protocol):Anthropic提出的工具/资源标准协议
- GUI-Agent:操作图形界面(点击、输入、滚动)
- Code Interpreter:沙箱执行代码
RAG
- 向量数据库:Milvus、Pinecone、Weaviate、Chroma
- 混合检索:稠密向量 + 稀疏BM25
- Reranker:Cross-Encoder重排序
- Graph RAG:知识图谱增强检索
- Agentic RAG:Agent自主决定何时检索、检索什么、如何组合
上下文工程(Context Engineering)
- 上下文窗口管理:压缩、摘要、分层
- 长上下文利用:128K–10M token
- 记忆系统:短期(对话内)/ 长期(跨会话)/ 外部(向量库)
- Prompt Engineering → Context Engineering 的范式转变
多Agent协作
- 角色分工:Planner、Executor、Critic
- 通信协议:消息传递、共享黑板
- HITL(Human In The Loop):关键节点人工介入
- 编排模式:顺序、并行、条件分支、循环
评估与安全
评估基准
- 知识:MMLU、MMLU-Pro、C-Eval
- 推理:GPQA、ARC-Challenge、BBH
- 代码:HumanEval、MBPP、SWE-bench
- 数学:MATH、GSM8K、AIME
- 综合:Arena Elo(人类盲评)、MT-Bench
- 长文本:RULER、Needle-in-Haystack、LongBench
- 指令跟随:IFEval、FollowBench
安全
- Red Teaming:对抗性提示攻击
- Jailbreak防护:系统提示保护、输出过滤
- 内容安全:分类器过滤、Constitutional AI
- Watermarking:生成文本水印,溯源检测
- 隐私:训练数据记忆、差分隐私
可解释性
- Attention可视化:注意力权重热力图
- Probing:探针实验,检测中间层编码的信息
- Mechanistic Interpretability:电路分析、因果干预
- SAE(Sparse Autoencoder):分解激活为可解释特征
- Logit Lens / Tuned Lens:逐层预测解码
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.





