附录:面试集

基础

分词(Tokenization)

  1. 为什么现代 LLM 使用子词分词而不是词级或字符级分词?
  2. 比较 BPE、WordPiece 和 Unigram LM 分词器——在什么场景下选择哪种?
  3. 什么是字节级 BPE(BBPE)?为什么它更适合多语言模型?
  4. 词汇表大小如何在计算量与质量之间取舍?
  5. 你的生物医学领域术语被拆分为 8 个以上子词片段——你会怎么做?有什么风险?
  6. 什么是分词器的”碎片率”(fragmentation rate)?它为什么对成本和延迟很重要?
  7. 同事在训练和推理之间替换了分词器——会出什么问题?
  8. 为什么不能直接比较使用不同分词器的模型的困惑度?
  9. 分词如何影响 LLM 的算术和数值推理能力?
  10. 如果在训练中途扩展分词器,有什么风险?如何缓解?
  11. Token 数量与 API 成本的关系是什么?在成本敏感的部署中如何优化?
  12. SentencePiece 与 HuggingFace Tokenizers 在处理空白和未知字符方面有何不同?
  13. 你正在构建一个多语言模型(英语、中文、阿拉伯语、代码)。请详述你的分词器设计决策——词汇表大小、算法选择、字节回退、特殊 token。
  14. 一个擅长处理代码的模型在用户粘贴带反引号围栏的 markdown 时突然输出错误——可能的分词问题是什么?

嵌入(Embeddings)

  1. 模型为什么不能直接使用 token ID 作为数字——为什么需要嵌入?
  2. 解释嵌入查找——它如何等价于 one-hot 向量 × 矩阵乘法?
  3. 什么是”权重绑定”(weight tying,输入嵌入 = 输出 softmax 权重)?为什么要这样做?
  4. 词/token 嵌入与句子嵌入有什么区别?
  5. 比较 CBOW 和 Skip-gram——Skip-gram 在什么时候更优?
  6. FastText 如何处理未登录词?
  7. 什么是负采样?为什么训练大规模 word2vec 需要它?
  8. 你会如何评估学到的嵌入的质量?
  9. 解释上下文嵌入的概念。BERT 风格的模型与静态 word2vec/GloVe 嵌入有何不同?
  10. 什么是嵌入空间中的”各向异性问题”(anisotropy problem)——为什么现代 LLM 嵌入会聚集在一个狭窄的锥形区域?如何解决?
  11. 跨模态嵌入(如 CLIP)如何在共享空间中对齐文本和图像?什么是对比损失?
  12. 你在为生产 RAG 系统选择嵌入模型——你要评估哪些维度(维度大小、延迟、领域覆盖、MTEB 分数)?

注意力机制(Attention)

  1. 逐步解释缩放点积注意力。为什么要除以 √d_k?
  2. 什么是因果掩码?为什么它对只有解码器的 LLM 是必要的?
  3. 为什么原始的自注意力在序列长度上是 O(L²) 的?有什么实际后果?
  4. 解释多头注意力(MHA)。为什么用多个头而不是一个大头?
  5. 什么是交叉注意力?在哪里使用?
  6. 比较 MHA、MQA 和 GQA——每种方式如何影响 KV 缓存和质量?
  7. 解释 KV 缓存。为什么在自回归解码时需要它?
  8. FlashAttention 如何在不改变注意力数学的情况下提升性能?
  9. 什么是稀疏注意力(如滑动窗口)?你得到了什么又失去了什么?
  10. 如何将原始的 softmax 注意力转换为”线性注意力”?有什么权衡?
  11. 为什么长上下文预填充会主导首 token 时间(TTFT)?
  12. 你将上下文窗口从 4K 翻倍到 128K——什么会出问题?什么变得昂贵?
  13. 推导单个 Transformer 层的 KV 缓存内存开销,关于批大小、序列长度、KV 头数和头维度的函数。
  14. 什么是 DeepSeek V2 中使用的多头潜在注意力(MLA)?它如何比 GQA 更激进地压缩 KV 缓存?
  15. 解释环形注意力(Ring Attention / Striped Attention)。它如何将长序列分布到多个 GPU 上进行训练?

FFN、激活函数、残差连接、归一化

  1. 如果注意力已经在 token 之间混合了信息,为什么 Transformer 还需要 FFN/MLP?
  2. 比较 ReLU、GELU、Swish 和 SwiGLU——为什么现代 LLM 优先使用门控激活函数?
  3. 什么是”死亡 ReLU”问题?
  4. 为什么残差(跳跃)连接有助于训练深层网络?
  5. 比较 pre-norm 与 post-norm Transformer——哪种在深层更稳定?为什么?
  6. 比较 LayerNorm 和 RMSNorm。为什么现代 LLM 偏好 RMSNorm?
  7. 什么是 DeepNorm?什么时候需要它?
  8. 如果从一个 70 层的 Transformer 中移除所有残差连接会怎样?
  9. FFN 通常有 4 倍模型维度的”隐藏维度”(或 SwiGLU 中的 8/3 倍)。为什么是这个比例?内存/计算影响是什么?
  10. 什么是 Transformer 的”残差流”(residual stream)视角?它如何帮助推理特征电路和超位?

位置编码(Positional Encoding)

  1. Transformer 为什么需要位置编码?没有它会怎样?
  2. 解释正弦位置编码。为什么用不同频率的 sin/cos?
  3. 什么是 RoPE(旋转位置嵌入)?用一句话给出直觉。
  4. 比较绝对位置、相对位置、RoPE 和 ALiBi——用一句话说出区别。
  5. 什么是”长度外推”?为什么某些位置方案在更长上下文时会退化?
  6. NTK-aware 缩放和 YaRN 如何将 RoPE 扩展到更长上下文?
  7. 你的模型在 8K 上下文上训练,但用户需要 128K——你有哪些选择?
  8. 为什么有些模型(如 ALiBi)声称根本不需要位置编码?它们实际在做什么?

解码策略(Decoding)

  1. 比较贪心搜索、束搜索、top-k、top-p(核采样)和温度采样。
  2. 温度在数学上做了什么?极低温度和极高温度时分别会出什么问题?
  3. 为什么束搜索会降低多样性并产生乏味输出?
  4. Top-k 与 top-p——哪个在不同提示下更鲁棒?为什么?
  5. 解释”best-of-N”采样。何时使用它而不是单次生成?
  6. 什么是自一致性/多数投票?什么时候有用?
  7. 什么是”停止序列”?它为什么对工具调用和结构化输出很重要?
  8. 重复惩罚如何工作?它可能意外破坏什么?
  9. 用户抱怨模型”太重复”——你首先检查哪些解码参数?
  10. 解释 min_p 采样。它与 top-p 有何不同?为什么在开源推理中越来越流行?
  11. 引导/约束解码(如 Outlines、LMFE)如何在生成过程中强制执行语法或 JSON schema?运行时开销是什么?

架构(Architecture)

  1. 比较编码器-only、解码器-only、编码器-解码器和 PrefixLM 架构。
  2. 为什么大多数现代聊天 LLM 是解码器-only 的?
  3. 什么场景下你会优先选择编码器-only(BERT 风格)而不是解码器-only?
  4. 什么是混合专家(MoE)?为什么路由很重要?
  5. 在 MoE 中,什么是负载均衡?为什么它会失败?
  6. 哪种架构选择倾向于主导解码时的推理内存?
  7. 概述状态空间模型(Mamba)。它针对什么瓶颈?
  8. 比较 Transformer、SSM 和循环混合模型(RWKV)在长上下文任务中的表现。
  9. 什么是扩散语言模型?它什么时候可能优于自回归生成?
  10. 解释”现代解码器配方”:RoPE + RMSNorm + SwiGLU + GQA。为什么 LLaMA、Mistral、Qwen 及大多数开源模型都收敛于此模式?
  11. PaLM 中的”并行注意力 + FFN”是什么?计算节省与质量权衡如何?
  12. DeepSeek V3 中使用的多 Token 预测(MTP)是什么?预测多个未来 token 如何改善训练信号并支持推测解码?

预训练

数据管线与质量

  1. 详述预训练数据管线:数据源 → 过滤 → 去重 → 分词 → 混合。
  2. 为什么”数据质量 > 数据数量”是最重要的预训练原则?
  3. 在预训练前,你会对 Common Crawl 数据集应用哪些过滤?
  4. 解释训练-训练去重与训练-测试污染——各自为什么重要?
  5. 你如何构建一个检测和防止基准测试污染的管线?
  6. 你发现模型逐字记忆了训练数据片段——如何诊断和修复?
  7. 预训练中哪些数据治理实践很重要(许可证、PII、审计追踪)?
  8. 如何大规模处理训练数据中的 PII?
  9. 常见的去重策略有哪些(精确哈希、MinHash、嵌入相似度)?
  10. 你需要创建一个分类器来过滤预训练语料中的有毒内容。你使用什么架构?如何处理误删有价值数据的假阳性?
  11. “质量分类器”(如基于 Wikipedia vs 随机网页训练的分类器)在预训练数据管线中的作用是什么?Llama 3 是如何处理的?

数据混合与分布

  1. 为什么训练数据混合很重要?举一个添加更多代码数据反而损害对话质量的例子。
  2. 你如何为通用 LLM 设计数据混合?
  3. 你添加了领域特定数据后领域性能提高但通用基准下降——发生了什么?
  4. 预训练中的”课程学习”(curriculum learning)是什么?
  5. 你如何估算向混合中添加新数据源的边际价值?在运行完整预训练之前可以跟踪哪些代理指标?

计算与扩展

  1. 预训练的主要成本驱动因素是什么(参数、上下文、token 数、精度)?
  2. 解释 Chinchilla 缩放定律——参数与 token 的计算最优比例是什么?
  3. 粗略估算:训练一个 70B 模型在 2T token 上需要多少 FLOPs?
  4. 模型参数翻倍大约会使每个 token 的 FLOPs 怎样变化?
  5. 解释数据并行、张量并行和管线并行。各在什么时候使用?
  6. 什么是 ZeRO / FSDP?它如何减少内存?
  7. 什么是激活检查点(activation checkpointing)?权衡是什么?
  8. 解释混合精度训练(BF16/FP16)。为什么 BF16 在 LLM 中占主导地位?
  9. 什么是”屋顶线模型”(roofline model)?它如何帮助推理 GPU 利用率?
  10. 估算预训练一个 7B 参数模型在 1T token 上所需的最少 H100 GPU 数量和时钟时间。说明你的假设。
  11. 什么是序列并行?它如何配合张量并行进行长上下文训练?
  12. 解释 Megatron-LM 的 3D 并行与 DeepSpeed ZeRO-3 的区别。各在什么时候使用?

训练配方与监控

  1. LLM 预训练的典型学习率调度是什么?
  2. Loss 在训练中途飙升 3 倍然后缓慢恢复——你如何排查?
  3. 预训练中最常见的 5 种故障模式是什么(不稳定、污染、记忆化、分布偏移、安全退化)?
  4. 你如何设置”探测集”来监控预训练期间的质量?
  5. 训练 Loss 在下降但下游评估分数停滞——出了什么问题?
  6. 何时决定停止预训练?你关注哪些信号?
  7. 什么是梯度范数监控?梯度范数突然飙升意味着什么训练问题?你应该怎么做?

评估与下游影响

  1. 困惑度(perplexity)衡量什么?它有什么局限性?
  2. 更低的困惑度并不总意味着更好的指令跟随——为什么?
  3. 预训练的选择如何约束中训练、SFT 和推理?
  4. 你的基座模型在代码方面较弱——应该在预训练中修复还是之后?
  5. 你预训练了两个架构相同但数据混合不同的模型。模型 A 困惑度更低但模型 B 在下游任务上得分更高。如何解释?

中训练 / 继续预训练(CPT)

何时使用及原因

  1. 什么是 CPT?它与预训练和 SFT 有何不同?
  2. CPT 与 SFT 与提示工程——何时选择哪个?
  3. 模型在法律文档上困惑度很高但通用性能不错——哪个训练阶段能修复这个问题?
  4. CPT 使用与预训练相同的下一个 token 目标,但在不同的分布上——这在实践中意味着什么?
  5. 一家初创公司想将开源 7B 模型especializado医疗问答。他们有 5 万份临床笔记。应该做 CPT、SFT 还是两者都做?请详述决策过程。

数据与混合

  1. 什么是”通用回放”(general replay)?为什么它对 CPT 至关重要?
  2. CPT 起始回放比例是多少(如 80/20)?如何调优?
  3. CPT 中的文档打包(document packing)是什么?为什么它对吞吐量很重要?
  4. CPT 中是否应该使用课程学习(先更多回放,然后退火)?
  5. CPT 与 SFT 的数据格式有何不同?为什么在文档边界不做注意力掩码的打包会泄漏信息?

稳定性鸿沟

  1. CPT 中的”稳定性鸿沟”是什么?为什么会发生?
  2. 开始 CPT 后通用基准急剧下降——请详述你的调试步骤。
  3. 学习率在 CPT 稳定性中扮演什么角色?
  4. CPT 监控中的回归门控如何工作?
  5. 你运行了 20B token 的 CPT,MMLU 下降了 5 个百分点。继续训练 50B token 后部分恢复。解释这种”U 形”曲线以及如何设置停止标准。

分词器扩展

  1. 什么时候应该在 CPT 期间扩展分词器?
  2. 如何初始化新增 token 的嵌入?
  3. 什么是”训练不足的 token”问题?如何缓解?

训练拓扑

  1. 比较”三种拓扑”:打包(CPT)、掩码(SFT)、rollout(RL)——每种中哪些 token 贡献梯度?
  2. CPT、SFT、DPO 和 RL 在数据构造和损失应用方面有什么区别?

CPT → RL 兼容性

  1. 中训练如何改善 RL 扩展(如 OctoThinker)?
  2. 给定产品需求,你如何在提示 → SFT → DPO → RL → CPT → 蒸馏之间做决策?

后训练

SFT(监督微调)

  1. 什么是 SFT?什么时候它是首选方案?
  2. 描述 SFT 数据的四种形态:单轮对话、多轮对话、工具使用轨迹、安全示范。
  3. 什么是”聊天模板陷阱”?一个空格变化如何破坏你的模型?
  4. 什么是仅补全损失(completion-only loss,即用户 token 掩码)?为什么它能改善 SFT?
  5. 写出掩码 SFT 损失公式。m_t = 0 和 m_t = 1 分别意味着什么?
  6. 你的 SFT 模型原样复述用户的提示——出了什么问题?
  7. SFT 数据中过多的拒绝示例导致模型拒绝一切——这叫什么?如何修复?
  8. 你如何确保聊天模板的训练-推理一致性?
  9. 你的 SFT 模型能正确遵循指令但过于冗长——你怎么做?
  10. 你在 1 万个样本上做了 SFT,基准分数很好但用户抱怨模型”听起来像机器人”。你的数据可能有什么问题?如何修复?
  11. 通常需要多少 SFT 样本?讨论 LIMA 论文”少即是多”的发现与多样性需求之间的关系。

PEFT / LoRA

  1. 解释 LoRA——低秩分解是什么?为什么它比全参数微调更便宜?
  2. 在 4096×4096 权重矩阵上使用 LoRA rank r = 16——可训练参数与全微调相比有多少?
  3. 什么是 QLoRA?它如何进一步减少内存?
  4. LoRA 适配器应该附加在哪里(注意力层 vs MLP)?为什么?
  5. 合并适配器(单租户)vs 在线堆叠(多租户)——何时使用?
  6. 什么是适配器多租户?如何服务一个基座模型 + 100 个 LoRA 适配器?
  7. 路由 bug 将租户 A 的请求发送到租户 B 的适配器——影响是什么?
  8. 在多租户系统中如何对每个适配器进行回归测试?
  9. 比较 LoRA 与其他 PEFT 方法:前缀调优、Houlsby 适配器、IA3。LoRA 何时胜出?何时替代方案更好?
  10. 你在 LLaMA-3-8B 上训练了一个 LoRA 适配器。基座模型发布了小版本补丁——能复用你的适配器吗?有什么风险?

偏好对齐(DPO / RLHF / PPO)

  1. 什么是偏好学习?为什么”哪个更好”比”写出完美答案”更容易标注?
  2. 写出 KL 正则化的奖励最大化目标。β 控制什么?
  3. 解释完整的 RLHF 管线:偏好标注 → 奖励模型 → PPO。
  4. 什么是奖励黑客?举一个具体例子。
  5. 为什么完整的 RLHF 作为系统(而非仅仅一个训练任务)是昂贵的?
  6. 用一句话解释 DPO——它如何避免完整的 RL 循环?
  7. 比较 DPO 与 ORPO——何时从哪个开始?
  8. DPO/ORPO 的主要限制是什么(提示:数据覆盖)?
  9. “更受偏好”不总意味着”更正确”——这为什么重要?
  10. 你的 DPO 调优模型偏好胜率更高但事实准确率更低——发生了什么?
  11. 解释迭代 DPO / 在线 DPO。为什么在训练期间生成在策略数据比固定的离线偏好对更好?
  12. 什么是宪法 AI(Constitutional AI, CAI)?它如何减少对人类标注员的依赖?
  13. 你运行 RLHF 后模型学会了非常谄媚(“好问题!”)。奖励模型出了什么问题?如何修复?

工具使用与 RAG 训练

  1. 为什么仅靠提示不足以在生产中实现可靠的工具使用?
  2. 描述工具使用交互链:选择工具 → 填充参数 → 消费输出 → 回答。
  3. 工具使用不足(产生幻觉)与过度使用工具(不必要的调用)有什么区别?
  4. 工具调用的约束解码是什么?schema 有效性与语义正确性有何不同?
  5. RAG 如何是工具使用的特殊情况?
  6. 你的 Agent 产生幻觉回答而不是调用检索工具——如何修复?
  7. 如何为多轮工具使用构造训练数据?讨论合成 rollout 生成、按成功过滤和冷启动问题。

推理与智能体 RL

  1. 比较结果奖励模型(ORM)与过程奖励模型(PRM)。
  2. 什么是 STaR/ReST 风格的自训练循环?为什么它们有助于解决轨迹数据稀缺问题?
  3. 解释 GRPO——它如何避免学习的评论家并节省内存?
  4. 为什么 GRPO 对训练 70B+ 推理模型很重要?
  5. 推理 RL 中的奖励黑客是什么?它与对话对齐中的表现有何不同?
  6. 你的推理模型在 RL 训练过程中输出越来越长——发生了什么?
  7. 比较 Dr. GRPO、GSPO、DAPO、LUFFY——每个调整了什么参数?
  8. 解释 DeepSeek R1-Zero 的”顿悟时刻”。在没有 SFT 的 RL 训练中出现了什么涌现行为?为什么这很重要?
  9. 思维链提示、思维链微调和用 RL 训练推理模型之间有什么区别?各在什么时候使用?

知识蒸馏

  1. 黑盒蒸馏 vs 白盒蒸馏——何时使用?
  2. 写出标准知识蒸馏损失(教师和学生分布之间的 KL 散度)。
  3. 你的蒸馏学生在基准上与教师相当但在安全方面失败——出了什么问题?
  4. 当教师是封闭 API 时,如何管理教师版本漂移?
  5. 实际顺序是什么:先黑盒 → 再白盒优化?
  6. DeepSeek R1 将推理能力从 R1(671B MoE)蒸馏到 1.5B–70B 的稠密学生模型。使用了什么数据?训练配方是什么?学生与教师差距多大?

后训练系统设计

  1. 设计一个”医疗记录员”:知道罕见药名(CPT),但拒绝开处方(对齐 + 评估)。
  2. 固定计算预算:DPO(训练)还是测试时扩展(推理)?如何决定?
  3. 你的 SFT 模型工具调用格式错误——添加更多数据还是切换到约束解码?
  4. 你的 Agent 在多步工具链上失败——在数据、奖励和搜索方面你会改变什么?
  5. 你是一家法律科技初创公司的 ML 负责人。你有:一个开源 8B 模型、10 万份合同文档、5000 个标注 QA 对和一个 2 人团队。设计从 CPT 到生产的完整后训练管线。

常见模型与基准测试

架构家族

  1. 比较 BERT、T5、GPT、LLaMA、Mistral、Qwen、GLM 和 DeepSeek——每个的核心架构选择是什么?
  2. 什么是”现代解码器配方”(RoPE + RMSNorm + SwiGLU + GQA)?哪些模型使用它?
  3. PaLM 使用并行 Transformer 子层——这意味着什么?为什么?
  4. DeepSeek V2/V3 中的多头潜在注意力(MLA)是什么?
  5. DeepSeek V3 使用多 Token 预测(MTP)——它是什么?为什么有帮助?
  6. DeepSeek R1 如何不用 SFT 训练推理(R1-Zero)?
  7. Mistral 中的滑动窗口注意力是什么?它牺牲了什么?
  8. Mixtral 是 MoE:8 个专家、top-2 路由、47B 总参 / ~13B 激活——为什么高效?
  9. 追溯演进:GPT-2 → GPT-3 → GPT-3.5 → GPT-4。每一步发生了什么变化(规模、RLHF、多模态、MoE)?
  10. 比较 LLaMA 1 vs LLaMA 2 vs LLaMA 3。每一代的关键训练配方变化是什么(不仅仅是规模)?
  11. Gemma/Gemini 处理长上下文(高达 1M token)的方法是什么?与 RoPE 外推方法有何不同?

评估与基准测试

  1. 列出一个通用 LLM 的最小基准套件(知识、数学、代码、对话、安全)。
  2. 代码基准中的 pass@k 是什么?与 pass@1 有何不同?
  3. MMLU 与 MMLU-Pro——有什么区别?
  4. Chatbot Arena(LMSYS)是什么?为什么基于 Elo 的排名有用?
  5. 你的模型在 MMLU 上达到 90% 但在真实客户查询上表现不佳——差距在哪里?
  6. 常见的评估陷阱有哪些(提示格式、温度、污染、评分方法)?
  7. LLM 作为评判者:存在哪些偏差?如何缓解?
  8. 何时使用人类偏好测试而非自动基准?
  9. 如何评估长上下文模型(大海捞针、LongBench)?
  10. TruthfulQA 是什么?它针对什么故障模式?
  11. 如何评估多模态模型(MMMU、MathVista)?
  12. 如何检测已训练模型中的基准污染(数据泄漏)?
  13. 你需要评估模型的安全性:使用哪些基准和红队方法?
  14. “静态”基准(MMLU、HumanEval)与”动态”基准(Chatbot Arena、LiveCodeBench)有什么区别?为什么动态基准越来越重要?
  15. 为面向客户的聊天机器人设计内部评估套件。你测试哪些维度(准确性、安全性、延迟、成本、风格)?如何设置权重?

推理与压缩

推理物理学

  1. 解释 LLM 推理的两个阶段:预填充 vs 解码。为什么它们有不同的瓶颈?
  2. 预填充是计算受限的;解码是内存带宽受限的——解释为什么。
  3. 什么是算术强度?它如何决定工作负载是计算受限还是内存受限?
  4. 什么是 TTFT?什么主导它?什么是 TPOT/ITL?什么主导它?
  5. TTFT 太高——请详述你的调试步骤。
  6. 配置更改后 TPOT 变差——你检查什么?
  7. H100 有 ~3.35 TB/s 内存带宽和 ~990 TFLOPS BF16。一个 BF16 的 70B 模型约 140GB。batch size = 1 时解码的理论最大 token/秒是多少?瓶颈在哪里?

KV 缓存

  1. 估算 KV 缓存大小:给定 layers=80、KV heads=8、head dim=128、FP16——每个 token 多少字节?
  2. 在 8K 上下文下,根据上述计算每个序列需要多少 KV 内存?
  3. GQA 相比 MHA 如何减少 KV 缓存?给出缩放因子。
  4. 什么是 PagedAttention?它如何类似于虚拟内存?
  5. 为什么朴素的连续 KV 分配会浪费内存?
  6. 量化 KV 缓存(FP16 → INT8)会怎样?哪些任务最先退化?
  7. 你的模型在长提示上内存不足——请详述缓解步骤。
  8. 比较 KV 缓存压缩技术:量化、驱逐(H2O、StreamingLLM 风格的 sink token)、滑动窗口、跨层共享。在极端上下文长度下哪种效果最好?

系统优化

  1. 什么是连续批处理(continuous batching / in-flight batching)?与静态批处理有何不同?
  2. 为什么准入控制对连续批处理很重要?
  3. 什么是分块预填充(chunked prefill)?它如何解决”车队效应”(convoy effect)?
  4. 什么是前缀缓存(prompt caching)?什么时候收益最大?
  5. 解释推测解码:草稿模型 → 目标验证。胜利条件是什么?
  6. 什么是引导/约束解码?为什么它对 JSON/工具输出很重要?
  7. 比较 vLLM、TGI、TensorRT-LLM 和 SGLang——关键架构差异是什么?何时选择各个?

内核优化

  1. FlashAttention 如何减少 HBM 流量?
  2. 什么是内核融合?为什么它对预填充和解码都有帮助?
  3. FlashAttention 与 PagedAttention——它们解决不同问题。请解释。
  4. 什么是 FlashDecoding?它如何在 KV 序列维度上并行化解码阶段?

服务架构

  1. 为什么要将预填充和解码分离到不同的集群(P/D 分离)?
  2. 什么是多 LoRA 服务(“Bento”模式)?
  3. 在多 LoRA 系统中如何按 adapter_id 批处理请求?
  4. 多适配器服务中的”租户泄漏”是什么?如何防止?
  5. 你如何为 LLM 推理服务设计自动扩缩容?哪些指标应触发扩容与缩容(队列深度、GPU 利用率、p99 延迟)?

压缩

  1. 比较仅权重量化、激活量化和 KV 量化——何时使用?
  2. LLM 量化中的”离群值问题”是什么?为什么朴素量化会失败?
  3. AWQ 和 SmoothQuant 是什么?各自解决什么问题?
  4. 比较非结构化剪枝、结构化剪枝(N:M 稀疏性)和架构稀疏性(MoE)。
  5. 什么是推理用的知识蒸馏?比较响应蒸馏与 logit 蒸馏。
  6. 为什么剪枝可能引入非线性的”质量悬崖”?
  7. 比较 GPTQ、AWQ 和 GGML/GGUF 量化。哪个是训练后量化?哪个基于校准?何时使用?
  8. 什么是量化感知训练(QAT)?它与训练后量化(PTQ)有何不同?什么时候额外成本值得?

测试时扩展

  1. 什么是测试时扩展(test-time scaling)?它如何在不重新训练的情况下提高可靠性?
  2. 比较 best-of-N、自一致性投票、批评-修订循环和树搜索(MCTS)。
  3. 何时在测试时扩展上花费计算 vs 重新训练?
  4. 解释过程奖励模型(PRM)如何在推理时支持树搜索。广度(更多候选)与深度(更多推理步骤)之间的权衡是什么?

指标与评估

  1. 四个核心推理指标是什么(TTFT、TPOT、吞吐量、$/百万 token)?
  2. 量化后如何设置质量回归门控?
  3. 你量化了模型,大海捞针准确率下降了——为什么?
  4. 用户报告”延迟不稳定”——有时快、有时对相似提示慢 5 倍。诊断批处理、缓存和队列深度方面的问题。

系统设计习题

  1. 为什么增大 batch size 提高吞吐量但损害单请求延迟?
  2. 为延迟敏感的聊天产品设计推理系统。
  3. 为批量文档处理设计推理系统(吞吐量 > 延迟)。
  4. 你的服务每秒处理万级请求,都附带长 RAG 上下文——你提出什么架构?
  5. 你需要服务 70B 模型但只有一张 A100 80GB。请详述选项(量化、卸载、更小模型、蒸馏)。
  6. 比较云推理(OpenAI API、Bedrock、Vertex AI)vs 自托管(vLLM on GPU、Ollama on Mac)——什么因素决定正确的选择?

应用 / 智能体

智能体基础

  1. 什么是”智能体应用”?它与单次 LLM 调用有何不同?
  2. 工作流 vs 智能体——何时使用?给出决策规则。
  3. 描述智能体控制循环:感知 → 思考 → 行动 → 检查 → 更新状态 → 重复。
  4. 常见的智能体产品有哪些(企业搜索、客服分流、深度研究、编码 Agent、运维自动化)?
  5. 什么时候不应该使用智能体?
  6. 智能体的”苦涩教训”是什么——为什么简单设计配合强模型能胜过复杂框架?

架构组件

  1. 智能体系统中的”策略”是什么(模型 + 路由 + 解码设置)?
  2. 什么是输出契约?为什么它们对生产智能体至关重要?
  3. 解释验证 → 重试 → 修复的提示模式。
  4. 智能体状态(结构化事实)vs 上下文(每轮的 token 载荷)——各应包含什么?
  5. 何时使用显式规划器 vs 在策略提示中隐式规划?
  6. 常见的编排模式有哪些:提示链、路由、并行化、编排器-工人、评估器-优化器?
  7. 解释”ReAct”模式(推理 + 行动)。它与纯思维链有何不同?有什么失败模式?

工具接口设计

  1. 什么构成好的工具契约(schema、验证、超时、重试、幂等性、可观测性)?
  2. 什么是 MCP(Model Context Protocol)?它与工具服务有什么关系?
  3. 写工具的幂等性是什么?为什么它至关重要?
  4. 如何给工具分风险等级(read_low → write_medium → write_high)?
  5. 你的 Agent 因为工具不是幂等的而执行了重复退款——修复方案是什么?
  6. 如何在模型之外强制执行工具权限(允许列表、授权)?
  7. 如何优雅处理工具错误?错误消息应该返回给模型吗?有什么风险?

RAG 管线

  1. 详述 RAG 管线:摄入 → 分块 → 嵌入 → 索引 → 检索 → 重排序 → 生成。
  2. 为什么分块大小很重要?块太小或太大会怎样?
  3. 比较稠密检索(嵌入)、稀疏检索(BM25)和混合检索——何时使用?
  4. 什么是交叉编码器重排序?为什么它比双编码器相似度更好但更昂贵?
  5. 如何评估检索质量(recall@k、MRR、nDCG)?
  6. 你的 RAG 系统检索到了正确的文档但模型忽略了它们——出了什么问题?
  7. 如何防御通过检索文档的提示注入?
  8. 什么是查询重写和多跳检索?什么时候需要?
  9. 在生产 RAG 系统中如何处理陈旧索引?
  10. 比较向量数据库(Pinecone、Weaviate、Qdrant、pgvector)——权衡是什么?
  11. 你为 1000 万文档的法律语料库构建了 RAG 系统。检索延迟可以接受但回答质量差。系统诊断:是分块、嵌入模型、检索、重排序还是生成的问题?
  12. 什么是”智能体 RAG”(agentic RAG)?它与单次检索生成有何不同(如迭代检索、查询分解、检索质量自反思)?
  13. RAG 管线中如何处理表格、图片和结构化数据?

护栏与安全

  1. 生产智能体应该有哪些层级的护栏(相关性、安全、PII、内容审核、规则、工具安全)?
  2. 智能体何时应该升级到人工介入?
  3. 如何处理智能体系统中的提示注入攻击?
  4. 你的 Agent 批准了未授权操作——哪些层失败了?
  5. “越狱”(绕过安全)和”提示注入”(劫持意图)有什么区别?如何分别防御?
  6. 如何为智能体系统构建红队评估?你覆盖哪些攻击类别(直接注入、间接注入、社会工程、工具滥用)?

记忆与上下文工程

  1. 什么是”上下文工程”——它与提示工程有何不同?
  2. 如何管理 25 轮以上工具调用循环的上下文增长?
  3. 什么是”上下文腐蚀”——为什么在很长上下文中检索精度会退化?
  4. 解释智能体的渐进式信息披露(元数据 → 完整指令 → 深层资源)。
  5. 什么是上下文层:固定上下文、工作集、检索上下文、摘要?
  6. 何时使用子智能体架构来管理上下文?
  7. 如何为跨多个会话的对话智能体实现”记忆”?比较显式记忆存储 vs 对过去对话记录的检索。

评估与可观测性

  1. 如何将智能体作为系统来评估(任务成功率、工具准确率、成本、安全)?
  2. 智能体可观测性系统应该记录什么?
  3. 为智能体故障构建调试漏斗:工具 → 检索 → 上下文 → 生成 → 护栏。
  4. 如何用黄金任务集构建可重放的评估框架?
  5. 一个智能体任务的成本是多少?如何估算和控制(token 预算、最大迭代、成本上限)?

技能与流程

  1. 什么是”Agent 技能”?它与工具和提示有何不同?
  2. 解释技能的渐进式信息披露层级(元数据 → 完整 SKILL.md → 关联资源)。
  3. 技能和 MCP 如何在智能体系统中协同工作?

智能体系统设计习题

  1. 设计一个”新闻研究 Agent”:搜索、验证并本章小结某个主题的新闻,附带引用。
  2. 设计一个客服分流 Agent,包含路由、工具使用和人工转接。
  3. 设计一个编码/调试 Agent,循环使用代码搜索和测试验证。
  4. 如何防止 Agent 中的”搜索 → 获取一切”工具滥用?
  5. 你的 Agent 每次查询延迟 30 秒——你首先检查哪里?
  6. 设计一个”AI 数据分析师”Agent:接受自然语言问题、编写 SQL、执行、解读结果并可视化。它需要什么工具?什么护栏?
  7. 你正在构建一个多 Agent 系统,其中”规划者”Agent 委托给”执行者”Agent。当执行者在任务中途失败时,如何处理故障恢复?

分类法 / 跨领域概念

关键区分

  1. 能力 vs 行为——在 LLM 生命周期中各来自哪里?
  2. 延迟 vs 吞吐量——何时优化哪个?
  3. 计算受限 vs 内存受限——如何判断你在哪个区间?
  4. 稠密模型 vs MoE——各有什么优缺点?
  5. 在线 RL(PPO)vs 离线偏好学习(DPO)——何时选择?

常见误解

  1. “分词只是预处理”——为什么这是错的?
  2. “困惑度越低 = 模型越好”——什么时候不成立?
  3. “KV 缓存只是 O(n²) 注意力的问题”——还有什么更关键?
  4. “字节级 BPE = 字符级分词”——区别是什么?
  5. “打包更多数据 = 更好的模型”——什么时候打包反而有害?
  6. “RAG 解决幻觉”——为什么只是部分正确?
  7. “更大的上下文窗口 = 更好的性能”——什么时候更长的上下文反而有害?
  8. “量化模型总是更差”——什么时候量化模型能胜过更大的全精度模型?

端到端设计

  1. 追踪单个用户查询穿过整个技术栈:分词 → 嵌入 → 变换 → 解码 → 服务 → 返回。
  2. 训练选择(架构、分词器、上下文长度)如何约束推理?
  3. 你从零开始为垂直领域构建 LLM 驱动的产品——请详述完整技术栈决策。
  4. 比较工程权衡:延迟 vs 质量、计算 vs 数据、稠密 vs MoE、工具使用 vs 模型推理。

其他

  1. 预训练中的分词器选择如何影响推理时的 KV 缓存大小?追踪连接:词汇表大小 → 嵌入维度 → KV 头 → 每 token 内存。
  2. 你用 4K 上下文训练了模型但推理时 RAG 需要 128K。追踪完整解决路径:位置编码扩展、KV 缓存管理、分块预填充和检索管线设计。
  3. 比较通过以下方式提升模型编码能力的成本:(a) 预训练中添加代码数据,(b) 代码专向 CPT,(c) 代码 SFT,(d) 带执行反馈的代码 RL。各在什么时候合适?
  4. 模型产生不正确的工具调用 JSON。诊断问题在于:SFT 数据质量、分词器问题、解码策略还是工具 schema 定义。如何区分?
  5. 你的生产 LLM 系统每条查询成本 $0.50。业务要求 $0.05。详述每一个优化杠杆:模型大小、量化、批处理、缓存、蒸馏、减少输出 token、切换到 MoE。
  6. 你在评估三个竞争 LLM 用于部署。模型 A 最大质量最高。模型 B 中等但推理快。模型 C 最小最便宜。如何为企业客服场景构建评估并给出推荐?

参考资料

  1. Attention Is All You Need(arXiv:1706.03762)。Transformer 主体结构、注意力公式与多头机制。
  2. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding(arXiv:1810.04805)。双向预训练与 MLM 目标。
  3. Language Models are Unsupervised Multitask Learners(OpenAI, 2019)。GPT-2,自回归语言模型的规模化。
  4. Language Models are Few-Shot Learners(arXiv:2005.14165)。GPT-3,少样本学习与 in-context learning。
  5. Neural Machine Translation of Rare Words with Subword Units(arXiv:1508.07909)。BPE 子词分词与 OOV 权衡。
  6. Efficient Estimation of Word Representations in Vector Space(arXiv:1301.3781)。word2vec,词嵌入的基础方法。
  7. GloVe: Global Vectors for Word Representation(EMNLP 2014)。全局共现统计的词嵌入。
  8. Scaling Laws for Neural Language Models(arXiv:2001.08361)。参数、数据与计算的缩放关系。
  9. Training Compute-Optimal Large Language Models(arXiv:2203.15556)。Chinchilla 缩放定律,参数与 token 的计算最优比例。
  10. The Pile: An 800GB Dataset of Diverse Text for Language Modeling(arXiv:2101.00027)。大规模预训练数据集构建。
  11. Deduplicating Training Data Makes Language Models Better(arXiv:2107.06499)。训练数据去重的必要性与方法。
  12. LLaMA: Open and Efficient Foundation Language Models(arXiv:2302.13971)。开源高效基座模型的训练配方。
  13. Llama 2: Open Foundation and Fine-Tuned Chat Models(arXiv:2307.09288)。预训练、SFT 与 RLHF 的完整流程。
  14. Training Language Models to Follow Instructions with Human Feedback(arXiv:2203.02155)。InstructGPT,RLHF 的完整管线。
  15. Direct Preference Optimization: Your Language Model is Secretly a Reward Model(arXiv:2305.18290)。DPO,无需 RL 循环的偏好对齐。
  16. LoRA: Low-Rank Adaptation of Large Language Models(arXiv:2106.09685)。低秩微调,参数高效适配。
  17. QLoRA: Efficient Finetuning of Quantized Language Models(arXiv:2305.14314)。量化基座上的 LoRA 微调。
  18. LIMA: Less Is More for Alignment(arXiv:2305.11206)。少量高质量 SFT 数据的有效性。
  19. Constitutional AI: Harmlessness from AI Feedback(arXiv:2212.08073)。用 AI 反馈替代部分人类标注的对齐方法。
  20. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models(arXiv:2402.03300)。GRPO,无评论家的推理 RL 训练。
  21. STaR: Bootstrapping Reasoning With Reasoning(arXiv:2203.14465)。自训练推理循环。
  22. RoFormer: Enhanced Transformer with Rotary Position Embedding(arXiv:2104.09864)。RoPE 的定义与直觉。
  23. Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation(arXiv:2108.12409)。ALiBi 的长度外推动机。
  24. GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints(arXiv:2305.13245)。GQA 在质量与效率间的折中。
  25. Mamba: Linear-Time Sequence Modeling with Selective State Spaces(arXiv:2312.00752)。状态空间模型,线性复杂度序列建模。
  26. Mixtral of Experts(arXiv:2401.04088)。稀疏 MoE 架构,8 专家 top-2 路由。
  27. DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model(arXiv:2405.04434)。MLA 与高效 MoE。
  28. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning(arXiv:2501.12948)。纯 RL 训练推理能力与蒸馏。
  29. FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness(arXiv:2205.14135)。IO-aware 分块注意力计算。
  30. FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning(arXiv:2307.08691)。改进并行与工作划分。
  31. Efficient Memory Management for Large Language Model Serving with PagedAttention(arXiv:2309.06180)。vLLM,类虚拟内存的 KV cache 管理。
  32. AWQ: Activation-aware Weight Quantization for On-Device LLM Compression and Acceleration(arXiv:2306.00978)。基于激活感知的权重量化。
  33. SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models(arXiv:2211.10438)。平滑激活离群值的量化方法。
  34. GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers(arXiv:2210.17323)。基于校准的训练后量化。
  35. Fast Inference from Transformers via Speculative Decoding(arXiv:2211.17192)。推测解码,草稿模型加速生成。
  36. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks(arXiv:2005.11401)。RAG 的原始定义与动机。
  37. ReAct: Synergizing Reasoning and Acting in Language Models(arXiv:2210.03629)。推理与行动交替的智能体模式。
  38. Toolformer: Language Models Can Teach Themselves to Use Tools(arXiv:2302.04761)。模型自学工具调用。
  39. Building Effective Agents(Anthropic, 2024)。生产智能体的设计原则。
  40. LLM Powered Autonomous Agents(Lilian Weng, 2023)。智能体系统综述。
  41. MLStack.cafe — LLM 面试题(59 题)。Transformer 架构、注意力、迁移学习、对齐。
  42. MLStack.cafe — ChatGPT 面试题(42 题)。RLHF、分词、上下文处理、评估。
  43. MLStack.cafe — NLP 面试题(38 题)。位置编码、编码器-解码器、CNN vs Transformer。
  44. Awesome Generative AI Guide — 60 道常见生成式 AI 面试题。生成模型、LLM、嵌入、多模态、训练与评估。
  45. HuggingFace NLP 课程。第 1–4 章基础。
  46. Stanford CS324 — 大语言模型。训练、评估、社会影响。
  47. Full Stack Deep Learning — LLM Bootcamp 2023。端到端 LLM 应用开发。
  48. Chip Huyen —《Designing ML Systems》(O’Reilly, 2022)。训练、服务、评估、数据分布。
  49. Jay Alammar —《图解 Transformer》。Transformer 架构可视化指南。
  50. Sebastian Raschka —《从零构建大语言模型》(2024)。架构、预训练、SFT、对齐。
  51. UC Berkeley CS294/194-196 — 大语言模型智能体。智能体系统、工具使用、规划。