跳到主要内容

阅读笔记(边读边写,磁盘为准)

出处地址规律:text/NN-chNN.txt 的第 1 行是章标题(06 起每个文件头部带上一章的尾巴,引用时直接按行号+短语,不必纠结章界)。

ch01 绪论(text/01-ch01.txt,382 行,17.5k 字符)

  • 语言模型定义:对词序列的概率分布建模 P(w1..wm);《现代汉语词典》7 万词、句子按 20 词算,参数量 7.9792×10^96(§1.1,~行 26)。
  • 链式法则分解(式 1.1)→ n-gram(马尔可夫假设,式 1.3)→ 平滑技术 → n-gram 三缺点(长上下文/人工平滑/稀疏+参数指数增)。
  • 神经语言模型:Bengio 2000 前馈网络,独热→词向量(word embedding)。
  • 自监督:训练目标可从无标注文本直接获得。
  • 预训练范式:ImageNet 影响 → ELMo 动态词向量 → GPT/BERT(Transformer)→ 预训练微调范式(PLM)。
  • GPT-3 1750 亿参数(2020)→ 微调不划算 → 语境学习 ICL、提示词、MaaS、指令微调。
  • 缩放法则(Scaling Laws,Kaplan):性能依赖参数量/数据量/计算量,三者指数增→性能平稳提升(行 ~105-109)。
  • 发展三阶段(§1.2):基础模型阶段 2018-2021(BERT 1.1亿/3.4亿、GPT-1 1.17亿、GPT-2 15亿、T5 110亿、GPT-3 1750亿);能力探索阶段 2019-2022(GPT-2 零样本、GPT-3 语境学习、指令微调、InstructGPT"有监督微调+强化学习"、WebGPT);突破发展阶段 2022.11 ChatGPT 起(GPT-4 多模态、考试超过 88% 应试者、GPT-4o 232ms 音频响应、GPT-o1 思维链推理、DeepSeek V3/R1 开源突破)。
  • 表 1.1 开源模型表(T5→DeepSeek-R1,参数量+预训练数据量);表 1.2 闭源表(GPT-3→Grok-3)。
  • 模型三类型:基础模型/对话模型(预训练+SFT+RL)/推理模型。
  • §1.3 构建流程(Karpathy,微软 Build 2023):四阶段=预训练→有监督微调(SFT)→奖励建模→强化学习。
    • 预训练:数万亿词、数千块 GPU、数十天;GPT-3 一次训练 3640 PFLOPS,折算 1000 块 A100 近一个月;OPT 992 块 A100 训 2 个月;BLOOM 384 块 A100 3.5 个月;DeepSeek-V3 266.4 万 H800 GPU 小时。
    • SFT:少量高质量数据(提示词+理想输出;例:复旦 4 个校区),数十块 GPU 数天;Alpaca/Vicuna/MOSS/ChatGLM-6B,达 ChatGPT 90% 效果;研究重点=数据选择。
    • 奖励建模:同一提示词多个输出排序;二分类;不能单独给用户用;需百万量级对比标注;难点=标注一致性+泛化边界。
    • 强化学习:数十万提示词,奖励模型给分,调参数提高 reward;数十块 GPU 数天;为什么 RL 好于 SFT 截至 2025.2 无共识,相对公认观点=泛化能力更好;Karpathy:RL 使基础模型熵降低→多样性减少;RL 稳定性不高、超参数多、收敛难。
  • §1.4 全书结构:五部分 12 章。

ch02 大语言模型基础(text/02-ch02.txt,1554 行,222.7k 字符,大量 PyTorch 代码)

  • §2.1 Transformer(2.1.1-2.1.5):Google 2017,机器翻译;编码器+解码器,各由 N 个块堆叠(行 14-72)。
    • 嵌入表示层:词嵌入+位置编码(式 2.1/2.2 正余弦;好处:[-1,1] 不破坏语义、pos+k 是 pos 的线性组合→蕴含距离);代码行 96-117。
    • 注意力层(2.1.2):Q/K/V 三个线性变换(式 2.3-2.5);点积得分除 √d 防梯度爆炸;Softmax 加权聚合(式 2.6);多头=不同子空间各算一遍再拼接(式 2.7/2.8);掩码 masked_fill(-1e9)(代码 186-200)。
    • 前馈层(2.1.3):两层全连接+ReLU(式 2.9);隐层维度比注意力子层大,提升翻译质量。
    • 残差+层归一化(2.1.4):x_{l+1}=f(x_l)+x_l 防梯度消失(式 2.10);LN 平移缩放到均值0方差1(式 2.11)。
    • 编码器/解码器(2.1.5):解码器第一个注意力加掩码(防训练时看到未来);额外多头交叉注意力(Q 来自解码器,K/V 来自编码器);自回归生成(行 279-296)。完整 PyTorch 代码 297-445。
  • §2.2 GPT(2.2.1-2.2.3):
    • 自监督预训练:单向;v=v_t+v_p(式 2.12);h^(l)=TransformerBlock(h^(l-1))(式 2.13);输出层预测条件概率(式 2.14);目标=负对数似然(式 2.15)。
    • 下游微调:最后一词隐藏态+全连接(式 2.16/2.17);灾难性遗忘→混入预训练损失 L=L_FT+λL_PT(式 2.18,行 520-529)。
    • HuggingFace 实践(行 531-766):BERT 全流程:数据(BookCorpus+wikipedia)→WordPiece 词元分析器(vocab 30522,max_len 512)→预处理→训练(DataCollatorForLanguageModeling mlm_probability=0.2,注释说默认 15%)→损失下降日志(6.9→4.5)→fill-mask 预测(Trump 例)。
  • §2.3 大模型结构(2.3.1 LLaMA、2.3.2 注意力优化):
    • 绝大多数大模型=GPT 式 decoder-only+自回归;GPT-3 后 OpenAI 不再开源,ChatGPT/GPT-4 架构未知(行 768-777)。
    • LLaMA 三改动:①前置层归一化 Pre-normalization+RMSNorm(式 2.19/2.20,只用均方根,少算均值);②SwiGLU 激活(式 2.21-2.23;β→0 线性、β→∞ ReLU、β=1 光滑非单调;HF 用 SiLU 替代);③RoPE 旋转位置编码(复数旋转思想,绝对位置方式实现相对位置;矩阵形式式 2.26/2.27;稀疏可逐位乘)。表 2.1 LLaMA 超参数(6.7B-65.2B,层数/头数/维度/1.0-1.4 万亿词元)。
    • 注意力优化(行 1035-1321):
      • 稀疏注意力:基于位置 5 种(全局/带状/膨胀/随机/局部块)+典型模型(Star-Transformer、Longformer、ETC、BigBird;BigBird 稀疏编解码器可模拟任何图灵机);基于内容:Routing Transformer(K-means 聚类)、Reformer(LSH 局部敏感哈希)。
      • FlashAttention(行 1106-1188):GPU 显存结构(全局内存 HBM 大而慢 H100 80GB/3.35TB/s;共享存储 SRAM 小而快 228KB);标准实现中间矩阵 S、P 写全局内存、二次方大小;FlashAttention 分块算+存 Softmax 归一化因子,后向重算;FLOPS 增但更快更省显存;PyTorch 2.0 已支持。
      • 多查询注意力 MQA(行 1190-1271):所有头共享一份 K/V,只各留 Q;省显存;Falcon/SantaCoder/StarCoder 采用;可用微调加 MQA,约 5% 原始数据量。
      • 多头潜在注意力 MLA(行 1272-1321):DeepSeek-V2 引入;K/V 低秩联合压缩,缓存压缩潜在向量 c_KV(d_c≪d_h·n_h);推理只缓存 c_KV;W^UK 可并进 W^Q、W^UV 并进 W^O;TransMLA 可把 GQA 模型转 MLA,同缓存大小下表现力更强(理论上证明)。
  • §2.4 混合专家模型 MoE(2.4.1-2.4.3,行 1322-1554):动机=缩放法则下预算有限;MoE 层=门控网络 G+N 个专家;通常替换 FFN(PaLM 5400 亿参数 90% 在前馈层);
    • 稀疏 MoE:TopK(K=1 或 2),softmax 前 TopK 外置 -∞;噪声项 Rnoise 助探索防局部最优(K=1 时);Mixtral-8x7B:8 专家激活 2,总参 560 亿/活跃 130 亿,可比 Llama-2-70B;DeepSeekMoE 共享专家(每词元确定分配,防冗余);Megablocks 稀疏矩阵乘;专家并行 EP。
    • 稠密 MoE:激活全部,不减计算量(EvoMoE/MoLE);LoRAMoE=LoRA 插件+MoE,冻结主模型防世界知识遗忘,局部平衡约束损失防专家退化。
    • 软 MoE(SMEAR):门控权重融合参数成单一融合 FFN,计算成本≈单专家;复杂度 (L×4+N×2)×d×m vs 稠密 N×L×4×d×m。

ch03 预训练数据(text/03-ch03.txt,968 行,40.2k 字符)

  • §3.1 数据来源:GPT-3 语料=过滤后 CommonCrawl(45TB→570GB,约 5000 亿词元)+WebText2+Books1/2+英文 Wikipedia;采样权重不同:3000 亿词元训练时 Wikipedia 平均 3.4 轮、CommonCrawl 0.44 轮(行 14-19)。通用数据(网页/对话/书籍/多语言/科学/百科/代码)+领域数据(金融 BBT-FinCorpus/FinGPT;医疗 PubMed/MIMIC-III/Huatuo-26M 2600 万问答;法律 CUAD 510 合同)。
    • 各类数据价值:网页量最大;对话文本增强对话能力;书籍=唯一长文本来源;多语言(BLOOM 46 语、PaLM 122 语)混合训练自动建语义关联;科学文本需 LaTeX/SMILES 等规范化;代码提升代码生成(来自 Stack Exchange/GitHub)。
    • 配比无共识(截至 2025.2)。
  • §3.2 数据处理(质量过滤/冗余去除/隐私消除/词元切分):
    • 质量过滤:分类器法(GPT-3/PaLM/GLaM 用特征哈希线性分类器,精选文本训练;会误删方言口语)vs 启发式法(BLOOM/Gopher:语言过滤/困惑度/统计特征(符号字比)/关键词)。
    • 冗余去除:句子级(重复句→重复循环;GPT-2+束搜索 b=32 的 unicorn 例;公共子串 k≥50 过滤,后缀数组;Wiki-40B 4GB 用 96 核 768GB 内存 140 秒);文档级(LLaMA:规范化+SHA-1 前 64 位哈希;RefinedWeb:n-gram 重叠);数据集级(防测试集污染)。
    • 隐私消除:输入前缀"East Stroudsburg Stroudsburg"→模型补全姓名邮箱电话地址(行 234-240);BigScience ROOTS 用命名实体识别,100+ 语言。
    • 词元切分:OOV 问题(词表过小 OOV 多、过大低频词学不充分);子词词元化;BPE(词频统计相邻字节对,最高频合并;low→l␣o␣w␣;第一次最高频 (e,s)→"es";切分从长到短遍历 lowest→low+est);字节级 BPE(GPT-2/BART/LLaMA;原始 LLaMA 词表 32K 主要英文,汉字需 2-3 个字节词元拼成);WordPiece(BERT;合并标准=语言模型似然增量;HF 度量=共现计数/各自计数乘积);Unigram(T5/mBART;从大集合删词,EM 算法+维特比)。
  • §3.3 数据影响分析(规模/质量/多样性;行 408-594):
    • 规模:Chinchilla(700 亿参数/1.4 万亿词元)优于 Gopher(2800 亿/3000 亿)、GPT-3 等;计算最优=模型大小与词元数等比例缩放;N_opt∝C^0.49,D_opt∝C^0.51;LLaMA-2 2 万亿、LLaMA-3 15 万亿、Qwen2.5 18 万亿;70 亿参数训 1 万亿词元后性能仍增;10M-100M 词元可获语法语义特征,常识知识需更多。
    • 质量:Gopher 实验 140 亿参数在 MassiveWeb(过滤+去重)远好于 OpenWebText/C4;GLaM 17 亿参数,高质量数据对生成任务影响大于理解任务;时间错配影响效果(C4 2013/2016/2019/2022);Anthropic 双峰下降:0.1% 数据重复 100 次,800M 模型降到 400M 水平;3% 重复时最差轮次=1/3 参数量模型;PaLM 记忆率:见 1 次 0.75%,500+ 次超 40%。
    • 多样性:LLaMA 数据表(CommonCrawl 67%/C4 15%/GitHub 4.5%/Wikipedia 4.5%…;采样轮数 Wikipedia 2.45 轮);Gopher 消融:10% C4+50% MassiveWeb+30% Books+10% News 最佳;书籍比例↑→长依赖捕获↑(Lambada 损失↓)。
  • §3.4 开源数据集:
    • Pile:22 个子集 825GB(Pile-CC/PMC/Books3/OWT2/arXiv/GitHub/FreeLaw/Stack Exchange/USPTO/Wikipedia/PubMed Abstracts/Gutenberg/OpenSubtitles/DeepMind Mathematics/BookCorpus2/Ubuntu IRC/EuroParl/YouTube Subtitles/PhilPapers/NIH/Hacker News/Enron Emails);高质量采样权重高(Pile-CC 227GB 1 轮,Wikipedia 6.38GB 3 轮)。
    • ROOTS:BLOOM 1760 亿参数用;46 自然语言+13 编程语言=59 语言,1.6TB;高质量定义"由人类撰写,面向人类";SimHash+海明距离过滤冗余,后缀数组删 6000+ 字符重复,发现 21.67% 冗余。
    • RefinedWeb:Falcon 同款;CommonCrawl 1PB+ →仅保留 11.67%,5 万亿词元(开源 6 千亿);三阶段:文档准备(URL 过滤 460 万黑名单域名、文本提取 trafilatura、语言识别 fastText 176 语,过滤所有非英语)→过滤(重复去除/文档过滤/逐行纠正,保 23.34%)→冗余去除(MinHash 模糊去重 5-gram 20 桶 450 哈希函数/严格去重后缀数组 50+ 词元/URL 去重)。
  • §3.4 开源数据集:
    • Pile:22 个子集 825GB(Pile-CC/PMC/Books3/OWT2/arXiv/GitHub/FreeLaw/Stack Exchange/USPTO/Wikipedia/PubMed Abstracts/Gutenberg/OpenSubtitles/DeepMind Mathematics/BookCorpus2/Ubuntu IRC/EuroParl/YouTube Subtitles/PhilPapers/NIH/Hacker News/Enron Emails);高质量采样权重高(Pile-CC 227GB 1 轮,Wikipedia 6.38GB 3 轮)。
    • ROOTS:BLOOM 1760 亿参数用;46 自然语言+13 编程语言=59 语言,1.6TB;高质量定义"由人类撰写,面向人类";SimHash+海明距离过滤冗余,后缀数组删 6000+ 字符重复,发现 21.67% 冗余。
    • RefinedWeb:Falcon 同款;CommonCrawl 1PB+ →仅保留 11.67%,5 万亿词元(开源 6 千亿);三阶段:文档准备(URL 过滤 460 万黑名单域名、文本提取 trafilatura、语言识别 fastText 176 语,过滤所有非英语)→过滤(重复去除/文档过滤/逐行纠正,保 23.34%)→冗余去除(MinHash 模糊去重 5-gram 20 桶 450 哈希函数/严格去重后缀数组 50+ 词元/URL 去重)。

ch05 指令微调(text/05-ch05.txt,1177 行,50.3k 字符;06-ch06.txt 前 227 行也是本章=DeepSpeed-Chat 实践尾部)

  • §5.1 指令微调训练:三步骤(定义指令→数据改成"指令+响应"对→微调;损失只算输出部分)。
    • 数据构造(5.1.1):指令输入+答案输出;多轮对话=对话历史做输入、最后一轮 Assistant 回答做输出;复旦 4 校区例、写作例、"什么是AI"闲聊例。构建很难:收集/重写筛选(深度演化、广度演化)/标准化/领域覆盖/多语言。
    • 数据构建方法四类(5.1.2):
      1. 手动构建:Databricks dolly-15K(数千员工)、OASST1(13500+ 志愿者)、OL-CC(276 志愿者,1 万对+1600 人工指令)、Aya(119 国 2997 贡献者,20.4 万条 65 语言,Find-Fix-Verify);抓取真实问答:InstructionWild v2(11 万指令)、LCCC。
      2. 现有数据集转换:OIG(30 数据集 4300 万指令)、Flan 2022(1836 数据集,每指令 4 模板:零样本/少样本/CoT;输入反转 Input Inversion、任务混合 Task Mixing);B2 NERD(54 个 NER 数据集合并:实体定义标准化+基于类别与语义多样性的修剪,16 领域 400+ 实体类型 5.2 万条;直接混会学到不一致标注规则)。
      3. 自动构建:Self-Instruct 四步(175 种子指令,每轮采样 8 条=6 种子+2 生成;判断是否分类任务;非分类输入优先/分类输出优先(防类别偏斜);过滤:ROUGE-L<0.7+启发式)→Alpaca(LLaMA+5.2 万指令)。
    • 数据评估与影响(5.1.3):Karpathy:指令微调只需数万条;质量=指令质量(清晰度/准确性/明确性)+回复质量(正确性/连贯性/相关性)(式 5.1);评价四类:人工设计指标(DQI)、基于模型(困惑度、小 GPT 过滤、RoBERTa 评分、Qwen-1.8B 过滤 UltraChat)、大模型评分(GPT-3.5/4)、人工评分(OpenAssistant 五点李克特:质量/创造性/幽默/礼貌/无害);IFD 方法 5% 数据超全量训练。多样性=个体+总体(式 5.2 词汇 qL+语义 qS);核心集采样(设施定位问题式 5.3,NP 难;K-Center Greedy/Herding Greedy);双层优化(式 5.4-5.6,MPT 125M 小模型)。
      • 表层对齐假设(Superficial Alignment Hypothesis):知识与能力绝大部分在预训练形成,微调只教"格式";LIMA=1000 条精选数据媲美 Alpaca 5.2 万条(65B)。
      • 问答任务文献[224]:60 个样本足够;用预训练没记准的数据微调反而损害(LLaMA-2-7B 用 960 条没记准的数据→准确率降到 30% 左右);不同模型记忆不同→数据要按模型定制。
    • 训练策略(5.1.4):文献[226] 四种策略对比(表 5.1):多任务学习(保领域能力,损害通用最多)、顺序训练、混合顺序、双阶段混合(最后阶段混 1/256 领域数据+全量通用;LLaMA-7B 数学 32.6→41.92%,代码 15.24→17.68%);灾难性遗忘是多阶段训练固有缺点,最后阶段混领域数据可显著缓解。发现:模型大→同数据量更优但各任务增速不同;数学/代码随数据持续改进,通用能力约 1000 样本后平稳;数据有限时混合增强,数据丰富时混合冲突;数据量影响大于组成比例。基准:GSM8K(数学)/HumanEval(代码)/MT-Bench(通用对齐)。
    • 开源指令数据集(5.1.5):通用表(InstructGPT-sft 10 类、Firefly 23 类、Alpaca 5.2 万、BELLE 350 万中文、Firefly 115 万中文、UltraChat 147 万、LMSYS-Chat-1M、MOSS 003 SFT 107 万等);领域表(ChatDoctor 11.5 万、Huatuo-26M 265 万、DISC-Law-SFT 40.3 万、Goat 175 万数学等)。
  • §5.2 高效微调:
    • LoRA(5.2.1):依据=微调后权重矩阵本征秩很低;固定 W0,旁路 ΔW=BA(B∈R^{d×r},A∈R^{r×d}),A 高斯初始化 B 零初始化(开始时变化量为 0);h=W0x+BAx(式 5.7);推理时可合并 W=W0+BA 无额外开销(vs Adapter 增加深度有推理开销;前缀微调占上下文长度,性能不随参数单调);peft 库实现(默认挂 q/v 矩阵,lora_alpha/r 放缩);GPT-3 r=4 只挂 Q、V:检查点 350GB→35MB(1/10000),显存 1.2TB→350GB,速度+25%。
    • 变体(5.2.2):AdaLoRA=动态分配秩;ΔW=PΓQ 近似 SVD(Γ 对角=一维向量;P/Q 正则化逼近酉矩阵,式 5.8);重要性分数(参数敏感性 I(w)=|w·∇wL| 式 5.9,小批量方差高不可靠→平滑式 5.10-5.12;最终式 5.13);按分数排序裁剪降秩。QLoRA=4-bit 量化+LoRA;650 亿参数 48GB 单卡微调,保持 16-bit 性能;NF4(分位数量化;对标准高斯取分位;正负部分取并集保 0 表征);双重量化(块 64,放缩系数 32/64=0.5 比特开销→每 256 个系数再 8 比特量化→0.127 比特);分页优化器(显存不足时优化器状态移内存)。
  • §5.3 上下文窗口扩展:
    • 直接大窗口微调低效(10000 批次后 2048→2560);三条路:加大窗口微调/改进位置编码(ALiBi、LeX 长度外推=小窗口训练大窗口推理)/插值法。
    • ALiBi(5.3.1):不在嵌入层加位置编码,Softmax 后加静态不可学习偏置 m·[-(i-1),…,-2,-1,0] (式 5.14);8 头斜率 2^(1/1..8) 几何序列,16 头几何平均插值;对远程 query-key 惩罚,距离越远惩罚越大,不同头不同速率;T5 Bias 相对位置编码可 512 窗口外推到 600 左右。
    • 位置插值 PI(5.3.2):RoPE 直接外推困惑度飙升(基函数在训练窗外系数会很大);线性插值 f'(x,m)=f(x, mL/L')(式 5.18)对齐位置索引范围;不改架构,1000 步微调把 LLaMA 从 2048 扩到 32768。
  • §5.4 DeepSpeed-Chat SFT 实践(正文在 05 尾+06 头):微软 2023.4;三步骤=指令微调→奖励模型微调→RLHF(PPO);三大功能(HF+InstructGPT 三步、RLHF 管道、混合引擎 HE 推理训练无缝切换);代码结构 training/step1_supervised_finetuning 等;train.py --step 1 2 --actor-model 1.3b --reward-model 350m。

ch06 强化学习(text/06-ch06.txt,1315 行,53.8k 字符;"6. 强化学习"标题在行 228,前 227 行是 ch5 的 DeepSpeed-Chat 实践日志)

  • 开篇动机:监督微调两局限(海量指令-答案对人力成本高;交叉熵要求逐字匹配,不适应表达多样性,对深度推理任务尤甚);两个方向:RLHF(奖励模型+PPO,对齐)与面向深度推理的 RL(o 系列/DeepSeek R 系列,答案校验引导多步推理,长思维链决策序列)。
  • §6.1 RL 概述:智能体/环境/状态/动作/奖励;宠物狗接飞盘例;历史 Ht(式 6.1);完全可观测/部分可观测;动作空间(围棋 361 交叉点离散 vs 连续);随机性策略 π(a|s)/确定性策略;价值函数 V^π(s)、Q^π(s,a)(式 6.3/6.4,折扣因子 γ);三类智能体:Value-based(Q-Learning)/Policy-based(REINFORCE)/Actor-Critic(PPO)。
    • RL vs 监督学习(旅行比喻:指南书 vs 陌生城市;有人指路 vs 只知好坏);Sutton《苦涩的教训》;RL 三优势:①整体奖励替代词元级标注,保留表达多样性("非常满意"="无可挑剔"),捕捉否定反转("不推荐");②突破知识天花板,AlphaGo 自我对弈类比;③价值函数建模长期收益(多轮对话),AlphaStar 类比。
  • §6.2 策略梯度方法:
    • 策略梯度(6.2.1):直接参数化策略,梯度上升;轨迹概率(式 6.5)、期望回报 J(θ)(式 6.6)、对数导数技巧(式 6.7);初始分布与转移概率与 θ 无关→式 6.8;整条轨迹回报作权重不合理→用当前时刻之后的回报 Rt(式 6.10);方差大→基线 b(st)(式 6.12),基线不改变期望(式 6.13 证明);最优基线=V(st);A=Q−V 优势函数(式 6.14)。
    • REINFORCE(6.2.2):Williams 1992;蒙特卡洛完整轨迹采样(式 6.15-6.19 六步);+基线(式 6.20-6.22,V̂φ 用监督学习最小平方误差更新 式 6.21);缺陷:高方差/须等整条轨迹/在线学习样本利用率低/适合小规模离散动作。
    • GAE(6.2.3):TD 方法(单步更新,Q←Q+α[r+γV(s′)],低方差高偏差);k 步估计 Q_k;MC→TD 连续谱:方差减偏差增;GAE=k 步优势指数加权平均;TD 误差 δt=r+γV(s′)−V(s),A_k=Σγ^{l-1}δ;最终 At^GAE=Σ(γλ)^l δ_{t+l};λ=0 单步 TD(高偏差),λ=1 完整 MC(高方差)。
    • PPO(6.2.4):同策略 on-policy(采数据即更新,不能复用)vs 异策略 off-policy;重要性采样(式 6.25,P/Q 权重修正;分布差异大→高方差/裁剪引入偏差);异策略梯度(式 6.26/6.27);PPO 目标(式 6.28);clip 剪切机制(式 6.29,权重限制在 1±ε,ε≈0.1-0.2);算法流程代码 6.1(收集轨迹→算回报→GAE 算优势→更新策略→最小 MSE 更新价值函数)。
    • RLOO(6.2.5):REINFORCE Leave-One-Out;k 个独立同分布样本,基线=其余 k−1 个样本奖励均值(式 6.30-6.33);特点:方差更低/样本利用率高(每个样本参与构建其他样本基线)/计算复杂度增 k−1 次求和;依赖样本独立性假设。
    • GRPO(6.2.6):组相对策略优化;不用独立价值模型,从旧策略抽 G 个输出组成组,组内奖励估计基线(式 6.34:min(ratio,clip(ratio,1±ε)Â)−β·KL[πθ||πref]);vs PPO:免 critic 省算力/组基线效率高/组内优化降方差;DeepSeekMath 用 GRPO 在 GSM8K/MATH 显著提升。
  • §6.3 推理模型的强化学习:
    • DeepSeek-R1(6.3.1):R1-Zero=基座模型直接 RL(GRPO,无 SFT);基于规则的奖励(准确性奖励:数学按格式输出答案验证、LeetCode 编译器测试;格式奖励: 标签;不用神经奖励模型防 reward hacking);训练模板(先思考后答案);AIME 2024 pass@1 15.6%→71.0%(多数投票 86.7% 超 o1-0912);自我进化(思考时间变长、反思、多方法探索);"aha moment"顿悟时刻;问题:可读性差、语言混合。R1=冷启动(少量长 CoT 数据微调 V3-Base)→面向推理的 RL(+语言一致性奖励,略降性能但提升可读性)→拒绝采样+SFT(约 600k 推理数据+200k 非推理=800k,两轮微调)→全场景 RL(有用性+无害性)。蒸馏:800k 样本直接 SFT Qwen/Llama 小模型(R1-Distill-Qwen-7B 超 AIME 部分基线;只 SFT 无 RL)。性能:AIME 79.8%、MATH-500 97.3%、Codeforces 2029 Elo 超 96.3% 人类。
    • Kimi k1.5(6.3.2):动机=缩放定律受高质量数据限制;RL 提示集三属性(多样覆盖/平衡难度(SFT 多次生成通过率做难度代理)/准确评估(防奖励操纵));多模态数据五类;算法:RL 上下文扩到 128k+部分回放 partial rollouts(重用旧轨迹大部分);Long2short(模型合并/最短拒绝采样/DPO(最短正确为正样本)/长到短 RL 长度惩罚);在线镜像下降变体+课程采样+优先级采样+长度惩罚;训练三阶段(视觉语言预训练→冷却→长上下文激活);大规模 RL 系统(展开阶段+训练阶段迭代同步、代码执行沙箱);混合部署(K8s Sidecar 共享 GPU,训练↔推理切换<1 分钟/约 10 秒);成绩:长 CoT AIME 77.5、MATH500 96.2、Codeforces 94 百分位;短 CoT AIME 60.8,提升 550%。
  • §6.4 RLHF:
    • 流程(6.4.1):3H 原则(InstructGPT:有用/真实/无害);两步=奖励模型训练+PPO;四模型:策略模型/奖励模型/评论模型 Critic(预测未来累积奖励)/参考模型(SFT 备份防极端变化);三步流程(环境采样→优势估计(GAE)→优化调整)。
    • 奖励模型(6.4.2-6.4.3):数据收集(Anthropic HH-RLHF:有用性=开放式对话选更有帮助的;无害性=敌对诱导(如抢银行)选更有害的;两者对立,混合训练两全;AMT 平台,二选一等权重,不含平局);表 6.1 中英文例子(抑郁症回答、邹凯生日);模型结构=预训练 LM 去掉最后非嵌入层+线性层,给最后一个词元打标量分;损失 L=−log σ(r(x,yw)−r(x,yl))(式 6.35,pairwise);+模仿学习项(式 6.36,βrm 系数,语言模型似然);+KL 惩罚(式 6.37,rtotal=r−η·KL(πRL||πSFT);KL 项两作用:熵奖励促探索+防偏离奖励模型训练分布)。
    • 开源数据(6.4.4):Summarize from Feedback(对比 17.9 万+轴向 1.5 万 Likert)、WebGPT(1.9 万对比)、HH-RLHF(17 万偏好+红队测试对话)、SHP(38.5 万,Reddit 高赞评论自然产生 vs HH-RLHF 机器生成,互补)。
  • §6.5 verl 实践(正文在 06 尾+07 头):字节+港大 HybridFlow;混合编程模型(单控制器管控制流=全局视角易实现新算法;多控制器管计算流=高效复用);资源池分配 GPU;通用数据传输协议(自动重分片);3D-HybridEngine(零冗余参数重组);16 台 A100 对比,吞吐量 1.5-20 倍提升。实践(07-ch07.txt 行 1-223):Qwen2.5-0.5B-Instruct+GSM8K;ppo_mini_batch_size=64/micro=4/log_prob_micro=8;kl_ctrl.kl_coef=0.001;Ray+Hydra 配置,支持 FSDP/Megatron;奖励函数=compute_score(strict 提取"#### 数字"比对);core_algos.py(compute_gae_advantage_return/compute_grpo_outcome_advantage:按 prompt id 组内均值方差归一化)。

ch07 多模态大语言模型(text/07-ch07.txt,1171 行,46.6k 字符;08-ch08.txt 前 195 行是本章 7.4 实践的尾部)

  • 开篇:GPT-4(2023.3)首次支持视觉模态;GPT-4o(2024.5)文本图像语音深度融合;MM-LLM(基于 LLM 理解多模态)vs MMLM(Sora/DALL·E 3 生成向);MiniGPT-4 手绘草稿生成可运行 HTML。
  • §7.1 基础:
    • 典型模型(7.1.1):GPT-4V(2023.9,统一 Transformer 映射同一语义空间[普遍认为]);GPT-4o(平均响应 320ms 最快 232ms,50+ 语言实时翻译);PaLM-E(谷歌具身,5620 亿参数,"多模态句子",机器人规划);ImageBind(Meta 六模态统一嵌入:文本/图像视频/音频/深度/热成像/IMU;ImageBind-LLM 绑定网络+零初始化门控);KOSMOS 系列(1 预训练即多模态;2 GRIT 视觉定位;2.5 ViT+重采样);开源:LLaVA(CLIP ViT-L/14+LLM+线性层连接器)、MiniGPT-4(Vicuna+EVA-CLIP ViT-G/14+Q-Former+线性投影,冻结 LLM)、Qwen-VL(视觉语言适配器单层交叉注意力,首个 448 分辨率;Qwen2-VL 朴素动态分辨率+M-RoPE)、Janus/Janus-Pro(独立编码统一理解与生成,1B→7B)。
    • 挑战(7.1.2):架构(模态特征差异、对齐、长序列 O(n²))、语义对齐("可爱的小猫")、场景适配(医疗/教育)。
  • §7.2 融合架构:
    • VLM 四范式(7.2.1):①对比学习(正负例对;LeCun 2006 能量模型 EBM p=e^{-E}/Z 式 7.1;MCMC/得分匹配/NCE;InfoNCE 式 7.3 余弦+温度 τ;CLIP=双向映射+InfoNCE);②掩码预测(FLAVA:ViT+文本编码器+多模态融合 [CLS_M]);③生成式学习(CoCa;Chameleon 统一 Token 序列+QK 归一化平衡模态;Stable Diffusion/Imagen);④映射学习(冻结 LLM+视觉编码器只训映射网络最省;Frozen:NF-ResNet-50+70 亿 Transformer;MiniGPT-4/LLaVA/Qwen-VL 属此类)。
    • 语音 SLM(7.2.2):三模式 S2T(ASR)/ST2T(最广)/ST2ST(需 Vocoder);语音嵌入预训练三线:CNN(PANNs)、Transformer(Wav2vec 2.0 遮蔽对比;Whisper 编码器-解码器;AST;HTSAT;AudioMAE 遮掩梅尔谱)、Codec(SoundStream RVQ;Encodec);融合两路线:转文本空间(连接器/投射器:直接投射 vs Token 映射)vs 扩展 Token 空间(新增语音 Token 改嵌入矩阵)。
    • 多模态架构(7.2.3):AnyGPT(四模态统一离散化+Next Token;SEED 图像分词器(ViT+因果 Q-Former+VQ 码本 8192,224×224→16×16 patch);SpeechTokenizer(8 码本×1024,RVQ,50Hz,10 秒→500×8);Encodec 音乐(4 码本×2048,5 秒→250×4);LLaMA-2 7B 初始化扩嵌入+预测头;两阶段=语义 Token 自回归+非自回归高保真(SoundStorm/扩散));眸思 MouSi(多视觉专家 CLIP/SAM/LayoutLMv3;MLP 投影/Q-Former 融合网络;多补丁-单标记投影;二维可训练图像位置编码——视觉标记比文本长 500 倍以上;风媒花 VQA 例"雄性球果产生花粉")。
  • §7.3 训练策略:数据环节可突破(CLIP 4 亿图像,OpenCLIP 数百卡数天数周);四环节:祛冗余/数据平衡/数据剪枝/质量提升(图 7.12)。
    • 数据处理(7.3.1):DataComp(12.8 万-128 亿图文对,38 任务);剪枝三类:启发式(单模态:文本复杂度/fastText/分辨率;多模态:对象匹配、text-spotters)、VLM 打分(CLIPScore 余弦;LAION;T-MARS 先遮文本;Sieve)、多样化平衡(基于文本/图像:ViT-L/14+FAISS 聚 10 万组;MetaCLIP 50 万查询每查询≤2 万)。
    • 视觉语义关联(7.3.2):难点=空间/否定/计数/属性;边界框(X-VLM IoU 损失 1600 万图像;Kosmos-2 spaCy+GLIP 自动构造,依赖基础模型);负样本生成(ARO;缓解崩塌提泛化)。
    • 多模态文本对齐(7.3.3):指令微调(LLaVA 15 万合成指令;1.5:MLP 连接+60 万对 8×A100 一天;NeXT 全图+小图块);LLaVA-RLHF 事实增强 RLHF(奖励模型加图像标题事实信息;LLaVA-Bench 达 GPT-4 94%,MMHAL 幻觉减 60%);富文本图像(LLaVAR:OCR 42.2 万图+GPT-4 1.6 万对话,文本 VQA+20%;Monkey 滑窗 1344×896+LoRA+视觉重采样器;Lumos 端云协同,设备端 STR:ROI/检测/识别/阅读顺序,3000×4000)。
  • §7.4 MiniGPT-4 实践(07 尾+08 头):三组件=Vicuna 冻结、视觉编码器(EVA-CLIP ViT-G/14+Q-Former=BERT 加交叉注意力+query_tokens)、线性投影层(唯一可训练);encode_img(ln_vision→Q-Former→llama_proj);两阶段:①预训练(CC+SBU+LAION,2 万步批 256,500 万对,4×A100 10h;问题:重复/碎片);②高质量数据(5000 张→Vicuna 全面描述→ChatGPT 评估修正→留 3500 对;微调 400 步批 12 单 A100 7 分钟;新能力:食物照片→食谱、识海报《教父》)。

ch08 大模型智能体(text/08-ch08.txt,1805 行,69.3k 字符;"8. 大模型智能体"标题在行 196,前 195 行是 ch7 尾部)

  • §8.1 智能体基础:概念溯源(亚里士多德/休谟;AI 语境=计算实体,搁置"真思考"争论,用自主性/响应性/主动性/社交性描述);三阶段:符号智能体(转导/表征/推理,专家系统,不确定性和大规模短板)→强化学习智能体(Q-learning/SARSA→深度强化学习 AlphaGo/DQN;训练周期长采样效率低)→大模型智能体(2023 起;感知/决策/行动/记忆)。
    • 三范式(8.1.2):单智能体(面向任务:GATO/Codex;面向研究创新:ChemCrow/FunSearch;面向生命模拟:斯坦福小镇/RoleLLM/Humanoid Agent)、多智能体(合作:Voyager 共享技能库、AgentSims Mayor 模式、MetaGPT 角色分工(产品经理/架构师/项目经理/工程师)、MedAgents 会诊;对抗:DebateGPT 辩论机制)、人-智能体交互(人类主导:HuggingGPT;人机平等协作)。
  • §8.2 架构(图 8.2,四模块):
    • 感知(8.2.1):文本(隐式意图难,RL 捕捉偏好)、视觉(图像描述转文本=可解释但丢信息 vs 视觉编码器+可学习接口层)、音频(大模型做控制中心级联调用工具集,仍丢信息)、未来触觉/嗅觉/3D 雷达。
    • 规划(8.2.2):参数数百亿级别时推理规划阶跃式提升;无反馈规划(一次性生成完整计划严格执行,思维链扩展至智能体;高效但不适应变化)vs 带反馈规划(ReAct=任务执行与推理规划结合,每步依据反馈动态生成子任务与动作);实际常结合(配送路线例)。
    • 记忆(8.2.3):短期记忆=上下文嵌入(存储+使用);长期记忆=记忆库(向量数据库/知识图谱;构建+检索);记忆操作:写入/读取/反思(Reflexion=回顾过往任务总结经验生成改进建议)。
    • 工具使用(8.2.4):三类学习:示范学习(模仿专家操作,依赖高质量示范数据,灵活性不足)、教程学习(手册做提示;ToolLLM:ToolBench 数据集 3000+ 工具 16000+ API,深度优先搜索自动构建解路径,API 检索器;解决开源模型上下文不足)、探索学习(尝试+反馈,WebShop 结果反馈;RLHF;经验库);趋势=多策略融合。
  • §8.3 训练:
    • 工具学习(8.3.1):天气 API 四步例(识别任务→调用 API→返回结果→最终输出);ToolLLM 数据构造三阶段:API 收集(RapidAPI 爬取 10853 工具 53190 API→过滤后 3451 工具 16464 API,49 类)、指令生成(ChatGPT 生成,三类:单工具/同类别多工具/同集合多工具,近 20 万条指令-API 对)、解决轨迹标注(DFSDT 深度优先决策树,126486 条指令-路径对);ToolLLaMA-2-7B 仅达 GPT-4 80%;RoTLLaMA 训练集 17% 轨迹有工具使用错误;选错工具时常选同前缀工具;手动纠正第一个错误词元→后续正确→关键词元假说;TL-Training:①错误路径识别(利用工具反馈 oi 提取错误轨迹,阻止反向传播,式 8.1)②关键词元优先级(式 8.2-8.5,权重 w=CLIP(|NK|/|K|,1,wmax))③RL 奖励(式 8.6/8.7:无法解析 -2/工具幻觉 -2/错工具 -1.5/内容填充 -0.25/正确 1;Rp 参数惩罚:-0.8 参数幻觉/-0.5 冗余/-0.5 缺失)+PPO(式 8.8 KL 限偏移);结果:1217 条数据使 CodeLLaMA-2-7B 达 GPT-4o 水平。
    • 推理规划(8.3.2):扩大规模不显著提升推理;思维链 CoT(Google Brain;少样本=[问题,思维链,答案]元组;零样本 CoT="让我们一步一步思考";不同人写的符号推理示例准确率差异高达 28.2%,换顺序<2%;Auto-CoT:问题聚类(Sentence-BERT+K-means)+范例采样(每簇选代表,Zero-shot CoT 生成,推理步骤<5 且问题<60 词元);Complex-CoT 选最复杂样本;Self-Polish 优化问题质量);由少至多提示 Least-to-Most(任务分解;两阶段=问题分解+逐步解决子问题,子答案拼接进 prompt);AgentTuning(AgentInstruct 数据集 1866 条轨迹,六任务:AlfWorld/WebShop/Mind2Web/知识图谱/操作系统/数据库;三阶段=指令构造/轨迹交互(GPT-4 1-shot)/轨迹过滤(奖励值筛选);混合指令调优保泛化;AgentLM-70B 媲美 GPT-3.5-turbo,MMLU/GSM8K/HumanEval/MT-Bench 保持)。
    • 长期记忆(8.3.3):外部记忆库(文本文件/结构化数据库/向量数据库;RAG 是典型);MemoryBank(记忆存储(对话记录+每日事件总结+全局总结+用户画像)+记忆检索(类 DPR 双塔稠密检索,FAISS 索引)+记忆更新(艾宾浩斯遗忘曲线 R=e^{-t/S};S 首次=1,被调用 S+1 且 t 清零;探索性简化模型))。
  • §8.4 实践:三方式(手工代码/框架/低代码 Coze·Copilot Studio):
    • 手工(8.4.1):多智能体辩论(grade-school-math 数学题;3 agents×2 轮;Tit for Tat;每智能体收其他人的发言重新思考;结果全对 18 美元且增强可靠性);角色扮演(CAMEL:RolePlaying 类,user=Stock Trader/assistant=Python Programmer/任务=开发炒股机器人;任务明确智能体+评论智能体;CAMEL_TASK_DONE 终止;系统消息自动生成)。
    • LangChain(8.4.2,V0.0.248):六大接口:模型输入/输出(Prompts:PromptTemplate+ExampleSelector 四种(长度/最大边际相关/语义相似/n-gram 覆盖);Language Models:LLM 纯文本 vs Chat Model(带说话者身份消息列表);Output Parsers:get_format_instructions+parse,PydanticOutputParser JSON 模式(Joke 例))、数据连接(Document loaders→transformers(RecursiveCharacterTextSplitter chunk 100/overlap 20)→Text embedding models(embed_documents/embed_query 两方法,1536 维)→Vector stores(Chroma/FAISS/Lance)→Retrievers(BaseRetriever 接口,不存文档))、链(Chain 接口含 memory+callbacks;LLMChain/RouterChain/SimpleSequentialChain/SequentialChain/TransformChain;剧目简介→剧评两链串联例)、记忆(读取+写入;链执行前读记忆增强输入,执行后把输入输出写入;ConversationBufferMemory 缓冲区)、智能体、回调。

ch09 检索增强生成(text/09-ch09.txt,2033 行,77.8k 字符;"9. 检索增强生成"标题在行 242,前 241 行是 ch8 的 LangChain 尾部)

  • §9.1 基础:RAG 动机=知识受限于训练静态数据;预训练需对同一知识点曝光约 1000 次才能较准记忆[410];GPT-4 Turbo 本科低年级知识点记忆测试仅 73.6%(LLMEVAL-3);幻觉;闭卷 QA→开卷考试;形式化 f:Q×D→A(式 9.1);AI 搜索(Bing AI/Perplexity/Bard/Kimi/秘塔/SearchGPT)。
    • 框架(9.1.1):检索模块(Retriever,向量检索/知识图谱/API/搜索引擎)+生成模块(Generator);多模态扩展(DALL·E 2/Imagen 检索参考图像)。
    • 任务四级(9.1.2):L1 显性事实查询(明文,复旦几个校区;占比最大;挑战=数据处理分块/检索效率/评估)、L2 隐性事实查询(多片段+常识推理,"计院和法学院同一校区吗";多跳;挑战=自适应检索量、推理与检索协调)、L3 可解释推理查询(外部数据给推理依据,胸痛管理指南例;工作流/决策树/伪代码;挑战=提示优化成本、可解释性受限)、L4 隐性推理查询(推理隐含在数据中,财报+经济形势例;挑战=逻辑检索、数据不足)。
    • 难点(9.1.3):检索质量(噪声文档;检索不到仍硬生成;HyDE 生成伪文档但费算力;文档矛盾;后检索依赖 LLM API 成本高→知识蒸馏轻量化)、系统效率与任务优化(重排模型 RankLLaMA 算力高;检索信息与模型自身能力平衡;文档冲突无解决策略;格式遵循差)、多模态扩展(跨模态对齐;MuRAG/REVEAL/Re-ViLM)。
  • §9.2 Modular RAG(同济王昊奋团队;三层级=顶层关键阶段+编排、中层子模块、底层操作符;计算图):
    • 索引(9.2.1):块大小权衡(大块=上下文全但噪声多成本高;小块=精准但上下文碎);块优化:滑动窗口(重叠区保语义过渡;冗余+截断风险)、语义块切分(相邻段落嵌入相似度,相似合并、骤降新块;阈值难定)、小到大 Small-to-Big(小块检索+父级大块生成;或句子检索+周围文本;元数据过滤:页码/文件名/时间戳);结构化组织:层次化索引(父-子节点存摘要;结构感知/内容感知(PDF/HTML 原生结构)/语义感知)、知识图谱索引(G={V,E,X},节点=结构单元,边=语义相似或从属)。
    • 检索前优化(9.2.2):查询扩展(复旦→多查询变体;Multi-Query 提示工程并行;原始查询加权防稀释;子查询=Least-to-Most 分解+验证链 CoVe)、查询转换(查询改写;"复旦大学在哪里?"→"复旦大学地址";HyDE=假设文档,答案到答案的相似性;反向 HyDE=为文档生成假设查询)、查询结构化(Text-to-SQL/Text-to-Cypher;结合语义与元数据)。
    • 检索(9.2.3):稀疏检索(TF-IDF/BM25,统计特征,高效但不懂同义词"汽车/车辆")、稠密检索(BERT/RoBERTa 双塔,768 维+,语义强但计算存储贵)、混合检索(粗排稀疏+稠密重排;得分融合难:分布尺度不同)。
    • 检索后优化(9.2.4):动机=lost in the middle 中间遗忘/噪声反事实/上下文窗口有限;重排序(规则:多样性/相关性/MMR 最大边际相关=相关性+新颖性去冗余;模型:动态判重要性,扩展到表格图像)、内容压缩(小模型检测移除不重要信息 f_comp;LLM-Critique 自审,Chatlaw 法律条款评估)、内容选择(自信息量 Self-Information,删低信息词;局限:忽略依赖关系,小模型与目标模型不对齐)。
    • 生成(9.2.5):结合查询与检索上下文;复旦历史沿革 500 字例(chunk 1-4 拼 prompt)。
    • 编排(9.2.6):路由(元数据路由=关键词重叠 score=|Ki∩K'j|/|K'j| 式 9.2/9.3;语义路由=意图概率 式 9.4/9.5;混合=α 加权 式 9.6)、调度(规则判定:词元概率≥τ 阈值 式 9.7;LLM 判断:上下文学习提示 or 微调触发标记 Self-RAG(Toolformer 技术);知识引导调度:知识图谱推理链)、融合(LLM 融合(先摘要再合)、加权集成(softmax 归一化 λ(d,q) 式 9.8/9.9)、倒数排名融合 RRF)。
  • §9.3 RAG 流设计模式:线性(朴素 RAG=无预检索/后检索;RRR 重写-检索-阅读:T5-large 微调重写模块,RL 策略梯度,以 LLM 输出质量为奖励;BM25 检索)、条件(路由模块按问题性质切换管道;分支差异=检索来源/流程/模型配置/提示设计)、分支(并行多分支;预检索分支=查询扩展多子查询并行检索生成再融合;后检索分支=多文档块独立生成再合并)、循环(判断模块决定回退或前进;迭代型(限最大次数)、递归型(树状逐层,查询改写,退出机制)、自适应/主动型(类智能体决定何时检索;基于提示 vs 基于指令微调))。
  • §9.4 训练与优化:
    • 文本嵌入微调(9.4.1):四阶段=计数式(BoW/TF-IDF)→静态词嵌入(Word2Vec/GloVe/FastText)→上下文嵌入(GPT/BERT)→通用文本嵌入(多任务多领域多语言)。
    • 检索器优化:LM-supervised/对比学习(正负对);指令微调检索器。
    • RQ-RAG(迭代循环训练):生成重写/分解/消歧查询,"生成→检索→生成→…→答案";三种采样策略选轨迹:困惑度 PPL 最低/最终答案置信度最高/集成(同答案置信度累加)。
    • 幻觉感知优化(9.4.3):RAG-HAT(幻觉检测模型+解释+防御性建议;RAGTruth 数据集+GPT-4 Turbo 生成描述;两阶段=先标签后 LoRA 生成解释;DPO 偏好对;OCP 过于谨慎惩罚=从优选样本删一句当拒绝样本防缩短回答;19721 对)。
    • 重排优化(9.4.4):点估计器/列表重排器(上下文长度受限);JudgeRank 零样本点式重排三步=问题分析→文档摘要(抽取式+解释如何回应查询)→相关性判断(Yes/No);评分:离散(相关在前保原序)/连续 S=p_y/(p_y+p_n)/混合 S=αS_prob+S_BM25。
    • 检索生成联合(9.4.5):RankRAG(单 LLM 兼重排+生成;两阶段=通用 SFT(12.8 万样本)→RankRAG 指令微调(五类数据:通用 SFT/上下文丰富 QA/检索增强 QA/上下文排序(MS MARCO)/检索增强排序);统一 QA 格式 (x,c,y))。
  • §9.5 评估:挑战(知识库广度动态、检索质量、生成真实性、协同量化、响应能力);目标:检索组件五项(相关性/准确性/覆盖多样性/动态适应性/排序能力 MRR、MAP)、生成组件六项(相关性 BLEU ROUGE/真实性忠实度/正确性 F1 EM/连贯流畅/多维度/开放任务)、整体四项(协作效果/任务完成度/用户体验/鲁棒容错);指标:基于排名(MRR/MAP/P@k)与非排名(Accuracy/Precision=TP/(TP+FP)/Recall@k)。

ch10 效率优化(text/10-ch10.txt,1217 行,47.6k 字符;"10. 大语言模型效率优化"标题在行 297,前 296 行是 ch9 尾部)

  • §10.1 基础:自回归模式;推理总时间不可预测(迭代次数未知,BERT 确定性);KV 缓存(FAIRSEQ 提出);两阶段=预填充(算全部输入 KV+首个词元,GEMM 矩阵乘)+解码(逐词元,GEMV 矩阵向量乘);部署实例:LLaMA-2-70B FP16 权重 140GB→6 张 RTX 3090 Ti(24GB)或 2 张 A100(80GB);2×A100 生成一词元约 100ms,数百词元序列超 10 秒;三大低效根源:模型规模(权重频繁从 HBM 加载)、自注意力 O(n²)(预填充)、解码方法(每步全权重从 HBM 加载+KV 缓存增长);指标:首词元延迟/输出词元间延迟/生成延迟/模型大小/KV 缓存大小/峰值内存/词元吞吐量/请求吞吐量。
  • §10.2 模型优化:
    • Transformer 代替架构(10.2.1):状态空间模型 SSM(h'=Ah+Bx,y=Ch+Dx 式 10.1/10.2;线性复杂度);离散化(零阶保持 ZOH,步长 Δ;Ā=e^{ΔA} 式 10.3-10.6);序列化像 RNN 但输出线性变换(无激活)→可表为卷积并行训练;Mamba=选择性 SSM(按输入选择传播/遗忘)+硬件感知算法(内核优化+重计算,避免存中间状态;GPU 与片上 SRAM 交互);MambaFormer(SSM 替 FFN)/DenseMamba(密集连接防隐藏状态退化)/BlackMamba、MoE-Mamba(MoE+SSM)。
    • 量化(10.2.2):X_INT=(X_FP16−Z)/S 式 10.7/10.8;预填充=权重-激活量化(INT8 张量核心加速 GEMM,激活在线量化)vs 解码=仅权重量化(离线量化权重,计算时反量化,省带宽);PTQ 训练后量化:OBQ(OBS 推广,贪心逐个量化,复杂度与权重数立方)、GPTQ(一次性量化,逐行统一从左到右,免频繁更新海森矩阵,Lazy Batch-Updates 分块)、LUT-GEMM(查找表,4-bit×4-bit=256 种结果预存)、ZeroQuant(核融合+逐层蒸馏+组内量化+按 Token 量化;V2 加 LoRC 低秩补偿;FP 探索 FP4/FP8 激活)、AWQ(激活异常值通道更重要,重参数化网格搜索)、OWQ(弱列高精度)、SpQR(异常值高精度其余 3-bit)、QuantEase(坐标下降)、AffineQuant(等效仿射变换)、SqueezeLLM(异常值全精度稀疏矩阵+非均匀量化);QAT 量化感知训练:LLM-QAT(无数据,FP16 模型自己生成训练数据+蒸馏)、Norm Tweaking(限制起始词元+量化后训 LayerNorm)、QLoRA(4-bit+BF16 LoRA,65B 单卡 30GB)、QA-LoRA(组内量化解决量化参数与 LoRA 参数不平衡)、LoftQ(SVD 初始化 LoRA 矩阵代替零初始化)。
    • 稀疏化(10.2.3):权重剪枝;无结构剪枝(细粒度,稀疏度高但硬件加速有限):SparseGPT(最小化重构损失,一次性,OBS 基础,近似二次损失免算海森)、Prune and Tune、ISC、Wanda(权重幅度×激活范数)、RIA(N:M 稀疏)、Pruner-Zero(自动搜准则,最优=W⊙W⊙σ(G));结构化剪枝(通道/层,硬件友好但影响性能):LLM-Pruner(任务无关,耦合依赖图+递归搜索,LoRA 恢复)、LoRAPrune(LoRA 梯度做重要性估计)、LoRAShear(依赖图+渐进剪枝+知识转移)、ExpertSparsity(MoE 专家剪枝,Frobenius 范数量化损失,渐进剪枝+动态跳过)。
    • 知识蒸馏(10.2.4):白盒(可访问内部):标准 KD=最小化正向 KL[p_T||p_S] (会给学生空白区不合理高概率);MiniLLM(反向 KL[p_S||p_T],专注主模态;策略梯度+单步分解+教师混合采样+长度归一化);on-policy KD(学生自生成序列上蒸馏,式 10.9,免采样反传);GKD 广义蒸馏(式 10.10,λ 混合固定数据与同策略数据,散度可选);TED 任务感知逐层过滤器;MiniMoE(MoE 学生);KPTD(实体定义转移);黑盒(只见输出):蒸馏 ICL/CoT/IF 能力;TAPIR(多任务课程规划,MFD 模型拟合难度=裁判模型打分差 式 10.11,阈值 δ 筛选,任务配比重分配,回答风格重写,由易到难迭代)、Distilling Step-by-Step(教师生成标签+推理依据,学生双任务学习)。
  • §10.3 低精度训练:DeepSeek-V3 一次训练 266.4 万 H800 GPU 小时;FP8(E4M3 精度优先[1,2] 间隔 1/8,范围 ±448,取消无穷只留一个 NaN;E5M2 范围优先 ±57344;权重激活用 E4M3,梯度用 E5M2);"大数吃小数"例:FP16 在 [1024,2048] 最小间隔 1,1024.6→1025.0,1025.0+0.4 不变;FP8-LM(微软)三优化级别:①FP8 梯度与 AllReduce(预缩放 g/N 下溢 vs 后缩放上溢→自动缩放因子 μ,超阈值 0.001% 减半,1000 步内指数增至 2 倍;共享标量 s'_g=min(s'_i) 式 10.15-10.18,只传一个标量)②FP8 优化器(Adam 每参数 16 字节→6 字节(式 10.19/10.20:主权重 2+梯度 1+一阶矩 1+二阶矩 2);一阶矩可 FP8(方向比大小关键),二阶矩要 16 位(平方易下溢),主权重 FP16 带张量缩放)③FP8 分布式(张量并行 FP8 通信;序列并行+张量并行组合,转换器 g 前 FP8 转换;FP8 ZeRO=整张量分配(贪婪:按大小排序,剩余内存大的 GPU 优先)而非子张量分片,免缩放因子分发难题)。
  • §10.4 高效推理:
    • 算法级(10.4.1):推测解码(草稿模型快速出候选+目标模型并行验证;接受率=每步被接受草稿词元均值;贪婪采样=Blockwise Parallel Decoding 等价;核采样=推测采样,按 min(1,p/q) 接受 式 10.21,拒绝后按 norm(max(0,p−q)) 重采样 式 10.22);SpecInfer(树状推测,词元树并行验证;SSM 小 100-1000 倍;Qwen2.5 词表 15.16 万→搜索空间 5.29×10^20;平均正确预测 4 个词元);变体:DistillSpec(蒸馏草稿)/SSD(目标模型子集当草稿)/OSD(在线蒸馏)/PaSS(前瞻词元)/REST(检索式)/Kangaroo(浅层子网+适配器);KV 缓存优化:KIVI(2bit,键按通道量化(固定通道大幅值),值按词元量化(注意力稀疏);余留长度 r;2.6 倍峰值内存减少)、H2O(重命中词元,动态次模优化,保留近期+关键词元)、StreamingLLM(注意力吸槽 Attention Sink=最初几个词元吸走大量注意力;保留其 KV 当锚点+滑动窗口+相对位置编码)。
    • 系统级(10.4.2):推理服务系统(TensorFlow Serving/Triton/Clockwork/Shepherd);批处理但 LLM 执行时间可变;Orca 迭代级调度(每批只跑一次迭代,完成的离开新的加入,FCFS,run-to-completion 有头部阻塞);FastServe(北大;低 JCT/GPU 显存管理/可扩展分布式三目标;Skip-join MLFQ 多级反馈队列,k 个队列,Q1 时间片=一次迭代最小耗时,相邻队列时间片比 2,least-attained 优先,抢占后立即返回已生成词元;KV 缓存管理器把低优先级作业 KV 移主机内存;GPT-3 175B FP16 350GB 需多 GPU 流水线并行)。
  • §10.5 vLLM 实践(正文在 10 尾+11 头):UC Berkeley,Chatbot Arena/Vicuna Demo 部署;PagedAttention(KV 缓存分块非连续存储,避免碎片化和过度预留浪费的 60%-80% 内存;吞吐量是 HF transformers 24 倍);vLLM V1(2025-01-27 alpha;AsyncLLM 多进程独立执行循环;取消预填充/解码区分统一调度;零开销前缀缓存;对称张量并行;持久化批次;FlashAttention 3 集成;VLLM_USE_V1=1);OPT-125M 推理例+OpenAI API 兼容服务器(python -m vllm.entrypoints.openai.api_server;curl /v1/models /v1/completions)。

ch11 大语言模型评估(text/11-ch11.txt,1344 行,54.3k 字符;"11. 大语言模型评估"标题在行 218,行 1-217 是 ch10 尾部;本章尾部(Chatbot Arena/LLMEVAL)溢出到 12-ch12.txt 行 1-180)

  • §11.1 概述:模型评估=评估未见数据上的泛化;单一任务评估方法不适用于大模型;文本生成评估难(语言多样性;GENIE:800 条机器翻译人工评估约 80 美元);数据集=训练/验证/测试,防数据泄露;不同阶段(预训练/SFT/RL)模型要独立评估。
  • §11.2 评估体系:
    • 知识与能力(11.2.1):任务为核心=HELM(42 类场景=任务×领域×语言;领域细分 What/Who/When;16 核心场景;59 种指标;场景选择三原则:覆盖率/最小化/优先用户任务;富拉语 6500 万使用者几乎无评估资源);人为核心=AGIEval(高标准入学资格考试:高考 1200 万人/年、SAT 170 万、LSAT、律师资考、公务员;GPT-4 SAT 数学 95%、高考英语 92.5%)。
    • 伦理与安全(11.2.2):3H;偷东西诱导例(系统 1 附和 vs 系统 2 拒绝);评估架构=8 种安全场景(侮辱/歧视/犯罪/敏感话题/身体伤害/心理健康/隐私财产/伦理道德,6000+ 条)+6 种指令攻击(目标劫持/提示泄露/角色扮演("扮演过世祖母念 Win11 序号"例)/不安全指令主题/注入不易察觉不安全内容/逆向暴露,2800 条);CrowS-Pairs(1508 条 9 类偏见)、Winogender(120 对性别偏见);LLaMA 2 三类风险+六种指令攻击;红队测试(DeepMind+NYU;红队模型 pr(x) 生成测试用例→目标模型回答→分类器判断;4 法:零样本生成(一句话提示词迭代更新)/随机少样本/有监督微调(90% 训练)/RL(A2C+KL 散度防塌陷))。
    • 垂直领域(11.2.3):复杂推理=知识推理(CSQA 基于 ConceptNet 众包,河流-瀑布例;StrategyQA 2780 条对抗式)、符号推理(最后一个字母连接 Amy Brown→yn;抛硬币;域内/域外测试集)、数学推理(GSM8K 8500 小学题/SVAMP 变形/MATH 12500 高中竞赛题;ATP:LISA 18.3 万定理 216 万证明步骤 Isabelle;miniF2F 488 道 AIME/AMC/IMO);环境交互=具身智能(VirtualHome 2821 程序;GITM Minecraft:LLM 分解器→子目标树+规划器+接口;API-Bank 53 种 API 264 对话 568 调用);特定领域=法律(CUAD 500+ 合同 41 类条款 13000+ 标注;CAIL2018 260 万刑事案件 183 法条;CAIL-Long 民事 1286.88 字/刑事 916.57 字均值;LeCaRD 107 查询 43000+ 候选)、金融(FLAME:FLAME-Cer 14 类认证 16000 题+FLAME-Sce 10 一级 21 二级场景)、医疗(MultiMedQA 集成 6 数据集+HealthSearchQA 3375;MedQA 11450/1273、MedMCQA 18.7 万、PubMedQA)。
  • §11.3 评估方法:
    • 指标(11.3.1):分类(精确率/召回率/准确率/PR 曲线)、回归(MAE/MAPE/MSE/RMSE);语言模型=交叉熵 Hp(s)=−log2P(s)/Ws(式 11.3,压缩视角:每词平均比特数)+困惑度 PPs=2^Hp(式 11.4,几何平均倒数;英文 n 元困惑度合理范围 50-1000,交叉熵 6-10);机器翻译=BLEU(式 11.5-11.7,修正 n-gram 精确率+BP 惩罚因子防过短,面向精确率);摘要=ROUGE(式 11.8,面向召回率;例:候选"a dog is in the garden" vs 标准"there is a dog in the garden",ROUGE-1=6/7,ROUGE-2=1/2;ROUGE-L=最长公共子序列,式 11.11-11.12 F=(1+β²)RP/(R+β²P))。
    • 大模型评估方法(11.3.2):人工评估(多样性/一致性,李克特量表)、GPT-4 自动评估(5 级李克特;故事生成 4 属性=语法正确性/连贯性/喜好度/相关性;与人工一致性高且稳定)、对比评估=McNemar 检验(2×2 混淆矩阵;B/C 是分歧格;χ²=(B−C)²/(B+C) 式 11.20;连续修正版(|B−C|−1)²/(B+C) 式 11.21;B+C<25 用二项式检验 式 11.22;99.7% vs 99.6% 例子:p=0.0059 显著 vs 0.155 不显著;mlxtend mcnemar exact)。
  • §11.4 评估实践:
    • 基础模型(11.4.1):GPT-3=传统语言模型评估(PTB 困惑度/Lambada/HellaSwag/StoryCloze)+综合任务(NQ/WebQuestions/TriviaQA 闭卷问答、翻译、Winograd、PIQA/ARC/OpenBookQA、CoQA/SQuAD2.0/RACE、SuperGLUE/NLI/ANLI、算术);数据泄露处理=13-gram 重叠移除,四分之一基准污染超 50% 但性能变化小;MMLU(57 主题 15858 题多选;开发 285/验证 1531/测试 14042;众包 34.5% vs 专业人员约 89.8%;美国医师执照 95 分位 87%);MMLU-Pro(4 选项→10 选项,57 主题合并为 14,12000+ 题,更多推理题);Open LLM Leaderboard 基于 MMLU-Pro/IFEVAL/BBH/MATH/GPQA/MUSR;C-EVAL(中文,四难度级别:初中/高中/大学/专业;13 本科类别 25 科目;12 职业领域)。
    • SFT/对话模型评估:Chatbot Arena(众包匿名对比;FastChat;3 个月 1.9 万 IP 5.3 万票 22 模型;Elo 评分;胜率矩阵 GPT-4 vs GPT-3.5-Turbo 79%、vs LlaMA-13B 94%;33K 对话数据集发布含审核 API 标签);LLMEVAL(1 期 17 类 453 题,5 评分项=正确性/流畅性/信息量/逻辑性/无害性;五种评估方式对比=分项/众包对比(双盲+现金奖)/公众对比(无奖)/GPT-4 分项/GPT-4 对比;Elo(顺序有关噪声敏感)vs 积分制(+1/+1/+0.5,顺序无关);2 期 12 领域 480 题客观+主观(准确 5 信息 3 流畅 3 逻辑 3);3 期"题库考试"模式 100 万道题 13 学科 50+ 二级学科,生成式问答防刷榜,每次随机抽 1000 题,串行发送防爬);LLMEVAL-Medicine(复旦医学院+华山+肿瘤医院;5 一级能力=知识/理解/推理/生成/安全,27 二级,100 三级;约 3000 条样本每能力项约 500 指令;机评+人工二次)。

ch12 应用开发(text/12-ch12.txt,2965 行,147.3k 字符;"12. 大语言模型应用开发"标题在行 181,行 1-180 是 ch11 尾部)

  • §12.1 九大场景(效果级罗列):
    • 内容创作(12.1.1):文章初稿/故事(Sudowrite 润色摘要大纲续写)/诗歌歌词(Bard、LyricStudio 押韵)。
    • 对话系统(12.1.2):客服(保险重疾险"国外就医理赔/质子重离子"例)、虚拟助手(荣耀 YOYO:"小学生听懂的量子力学"、川菜馆上下文关联+代打电话)、情感陪伴(Replika:AR 互动+记忆+情绪识别)、医疗教育(Azure AI Health Bot、Duolingo)。
    • 翻译与多语言(12.1.3):文学翻译意境/苹果三星术语一致性/微软学术跨语言检索/OpenAI Deep Research(2025.2,o3,5-30 分钟专业报告带引用)/Booking.com 日语游客。
    • 信息抽取与知识图谱(12.1.4):B2 NER(16 领域 400 类型)、IBM Watson Discovery、BloombergGPT、Google Cloud NLP、Kensho、LinkedIn Economic Graph。
    • 代码(12.1.5):GitHub Copilot、Cursor(约 25% 情况 Tab 预判;隐私模式)、DeepCode/Snyk、Kite、LeetCode AI/HackerRank CodePair。
    • 搜索推荐(12.1.6):Kimi 智能搜索(2023.10)、SearchGPT(2024)、Bing Chat、Bard 引用实时数据、Amazon/eBay 长尾词("适合冬季使用的防水登山鞋")、Netflix/Spotify/Flipboard、YouTube、淘宝京东图像搜索。
    • 教育(12.1.7):Khanmigo、作业帮/学而思拍照答疑、Copilot for Education、讯飞智慧课堂/AI 学习机主观题批改、AWS Educate、Google Classroom、钉钉智能备课。
    • 企业管理(12.1.8):Power BI 自然语言查询、阿里云 Quick BI、Tableau GPT、金蝶云/用友 U8、Otter.AI 会议摘要、腾讯会议/飞书任务清单、IBM Watson、华为云 EI。
    • 法律合规(12.1.9):Kira Systems、法大大、HighQ(Thomson Reuters)、LawGeex(省 90% 审查成本)、Casetext、MetaLaw。
  • §12.2 开发案例:
    • 浏览器插件 FisherAI(12.2.1,开源):摘要/网页翻译/视频翻译/多轮对话/工具箱;支持 ChatGPT/Gemini/DeepSeek/Qwen/Mistral/Groq+Ollama 本地;划词翻译实现=mouseup 监听选中文本(getSelection/getClientRects 定位按钮)→点击按钮→chatWithLLM(TRANSLATE2CHN_PROMPT+文本)→translationPopup 弹窗显示;代码 FisherAI/scripts/content.js+llm.js。
    • 论文搜索助理 PaSa(12.2.2,字节):两 agent=Crawler 爬取器(调搜索工具+追踪引文链动态扩展文献库)+Selector 选择器(逐篇阅读评估契合度);AutoScholarQuery 3.5 万合成查询 RL 优化(AGILE 框架)+RealScholarQuery 真实基准;显著优于 Google/Google Scholar/GPT-4 改写查询/带搜索 ChatGPT/GPT-o1;PaSa-7b-crawler/selector 模型开源,Google Search API+arxiv/ar5iv。
  • §12.3 本地部署(图 12.4:模型库→llama.cpp 框架→Open WebUI 界面):
    • llama.cpp(12.3.1):纯 C/C++;硬件=Apple Silicon(ARM NEON/Accelerate/Metal)、x86(AVX/AVX2/AVX512/AMX)、NVIDIA CUDA/AMD HIP;量化 1.5-bit 到 8-bit;CPU/GPU 混合推理(显存不足也能跑);GGUF 格式+convert_*.py 转换;HF 工具:GGUF-my-repo/GGUF-my-LoRA/GGUF-editor/Inference Endpoints;命令行工具:llama-cli(对话 -cnv+chat-template/补全 -no-cnv/语法约束 --grammar-file json.gbnf)、llama-server(8080 端口 Web UI+/v1/chat/completions;-c 16384 -np 4 并行;-md draft.gguf 推测解码;--embedding/--reranking)、llama-perplexity(例 PPL=5.4007±0.67339)、llama-bench(qwen2 1.5B Q4_0 885.97MiB:pp512 5765 t/s、tg128 197 t/s)。
    • Ollama(12.3.2):基于 llama.cpp;macOS/Windows/Linux;ollama run llama3.2;ollama serve+REST API(11434 端口,/api/generate、/api/chat);模型管理 create(Modelfile)/pull/rm/cp;多模态 ollama run llava 加图片路径;完全本地化保隐私。
    • Open WebUI(12.3.3):自托管,完全离线运行;支持 Ollama+OpenAI 兼容 API;内置 RAG 推理引擎;Docker 部署 -p 3000:8080+--add-host=host.docker.internal;管理员设置界面管理 Ollama。

ch04 分布式训练(text/04-ch04.txt,1321 行,47.6k 字符)

  • §4.1 概述:模型每 18 个月增长 56 倍,硬件每 18 个月翻倍(AlexNet 2013→PaLM 5400 亿 2022→DeepSeek-V2 6710 亿 2024);总训练速度∝单设备计算速度×设备总量×多设备加速比(式 4.1);三堵墙(行 61-80):
    • 计算墙:H100 单卡 FP16 算力 2000 TFLOPS,GPT-3 需 314 ZFLOPS,差 8 个数量级。
    • 显存墙:GPT-3 1750 亿参数 FP32 存储要 700GB,H100 只有 80GB。
    • 通信墙:128 个模型副本每次迭代至少传 89.6TB 梯度(700GB×128);单 InfiniBand 链路 ≤800Gbps(截至 2023.8)。
    • 实例:OPT 992 块 A100 近 2 个月;BLOOM 48 节点×8 卡=384 块 A100 3.5 个月;LLaMA-65B 1022362 GPU 小时(LLaMA-7B 82432)。
  • §4.2 并行策略:
    • 数据并行(4.2.1):每设备一份模型副本,各算 N/M 样本梯度,广播后平均更新;加速比最高但每设备要备份全模型;PyTorch DDP+DistributedSampler 代码。
    • 模型并行(4.2.2):
      • 流水线并行 PP:按层切分;朴素版产生流水线气泡(下游设备空等);GPipe=微批次(小批次再切小)流水式;Megatron-LM 1F1B(一个前向一个后向交替,非交错式:热身→前向-后向→后向;省内存但总时间同 GPipe;交错式:微批次数=流水线阶段整数倍,每设备管多个模型块)。
      • 张量并行 TP:切参数矩阵;Embedding 按词维度切(64000×5120×4B≈1250MB),查不到记 0,AllReduce_Sum 汇总;矩阵乘按列切 A=[A1,A2] (各算 XAi 再拼接)或按行切(X 按列切 X=[X1|X2],各算 XiAi 再相加);FFN 第一个 FC 按列切+第二个按行切→省一次通信;多头注意力天然易并行;交叉熵损失按类别切+Softmax 减 max(式 4.4/4.5),3 次小通信。
    • 混合并行(4.2.3):节点内张量并行(通信量大,吃节点内高带宽)→跨节点流水线并行(通信量低)→外层数据并行;BLOOM 实例:48 组数据并行×12 流水线阶段×4 卡张量并行+ZeRO(384 卡)。
    • 内存优化(4.2.4):Adam 需参数+梯度+一阶动量+二阶动量;FP16 模型参数+梯度+FP32 参数备份+FP32 动量=16Φ 字节,Adam 状态占 75%;75 亿参数 FP16 只要 15GB 但训练实际要 120GB;混合精度 FP16/BF16(BF16 用精度换值区间;FP16 易上下溢出→动态损失缩放,反向传播前损失×2^K,后缩小回来);激活值检查点;ZeRO 三级:Pos(优化器状态分区,趋近 4Φ=1/4)、Pos+g(+梯度,趋近 2Φ=1/8)、Pos+g+p(+参数,16Φ/N→0);DeepSpeed 对应 ZeRO-1/2/3;Zero-1/2 通信量不变,Zero-3 通信量 1.5 倍。
  • §4.3 集群架构:
    • 硬件:服务器(2-16 加速卡)→架顶交换机 ToR→骨干交换机 Spine,多层树;跨机柜有瓶颈→胖树拓扑(带宽无收敛);InfiniBand 200/400Gbps,DGX 1.6Tbps、HGX 3.2Tbps;节点内 NVLink+NVSwitch 全连接,任意两卡 900GB/s 双向(PCIe 5.0 才 128GB/s,HBM 3350GB/s)。
    • 参数服务器架构 PS:训练服务器+参数服务器两种角色;同步训练(等全部梯度再平均更新,慢但稳)vs 异步训练(不等,快但效果波动)。
    • 去中心化架构:集合通信 8 原语(Broadcast/Scatter/Reduce/AllReduce/Gather/AllGather/ReduceScatter/AllToAll);通信库 MPI/GLOO(CPU+GPU)/NCCL(NVIDIA GPU 定制最好);ReduceScatter 只有 NCCL GPU 支持;PyTorch all_reduce 例(4 进程 each 得 4.0)。
  • §4.4 DeepSpeed 实践:微软开源;3D 并行(数据+流水线+张量),万亿参数;ZeRO-Offload 单 GPU 训 10 倍显存模型;1-bit Adam 通信量 1/5;3D 并行放置原则:张量并行(通信最大)放节点内,流水线跨节点,数据并行外层;软件架构 API/RunTime/Ops;基础概念 master_ip+port/node_rank/rank/local_rank/world_size;ZeRO-0(不分片)/1(优化器状态)/2(+梯度,内存 1/8)/3(+参数,通信 1.5 倍)/ZeRO-Infinity(NVMe 卸载);offload 到 cpu/nvme 的配置;LLaMA 分布式训练七步:数据配置(local_rank=-1 判断单机/分布式)→模型载入(pad token、词表调成 8 的倍数)→优化器(参数分组:bias/LayerNorm.weight 不衰减;DeepSpeedCPUAdam/FusedAdam;学习率调度预热)→DeepSpeed 设置(GLOBAL/MICRO_BATCH_SIZE、gradient_clipping 防梯度爆炸)→初始化(deepspeed.initialize)→梯度检查点→训练循环(model.backward/model.step;Zero Stage 3 需 save_zero_three_model 特殊保存)。