跳到主要内容

AI

大模型方向的面试八股。和 MySQL / Redis 不同,这块的考法更偏原理推导(为什么要除以 √d_k、为什么 LLM 不用 beam search)和工程取舍(RAG 还是微调、长上下文能不能替代 RAG)。

:::tip 速览 一条主线串起来:Transformer 靠注意力机制建模任意距离的依赖,代价是 O(n²) 复杂度;推理时靠 KV Cache 把生成复杂度从 O(n²) 降到 O(n),代价是显存;对齐靠 SFT + RLHF 把「会续写」变成「会听话」;知识更新靠 RAG 而不是微调,因为微调改的是能力与风格,不是事实记忆。 :::

条目核心问题
Transformer 与注意力自注意力怎么算?为什么除 √d_k?位置编码、MHA / MQA / GQA
训练与对齐预训练 → SFT → RLHF 三阶段、DPO、Scaling Law
推理与解码KV Cache、temperature / top-p、为什么不用 beam search
微调与量化LoRA 原理、QLoRA、什么时候该微调
RAG 与 AgentRAG 全流程、向量检索、Function Calling、幻觉治理

高频开场题​

什么是大语言模型? 本质是在海量文本上做下一个 token 预测训练出来的自回归模型。它没有被显式教过任何知识或任务,所有能力都来自「为了更准地预测下一个词,不得不学会语法、事实、推理」这一压缩过程。这个视角能解释它的很多特性 —— 包括为什么会产生幻觉(它优化的是「像人话」而不是「是真的」)。

BERT 和 GPT 的区别? 架构上 BERT 是 encoder-only + 双向注意力,GPT 是 decoder-only + 因果掩码(只能看左边)。训练目标上 BERT 做掩码语言建模(MLM,完形填空),GPT 做自回归语言建模(next token prediction)。所以 BERT 擅长理解类任务(分类、NER)但不能生成,GPT 擅长生成且能通过 prompt 统一所有任务。后者的可扩展性最终胜出,现在主流 LLM 几乎全是 decoder-only。

为什么 decoder-only 成为主流? 几个原因:训练目标与下游使用方式一致(都是续写),不存在预训练-微调的任务形式差异;因果掩码使得每个位置都能产生训练信号,样本效率高;KV Cache 能高效复用;且 in-context learning 能力更强,不需要为每个任务微调。