大模型原理面试速查
本文对应 大模型的介绍 模块全部文档的面试考点提炼。
基础认知
Q1:大模型跟传统编程方式处理任务有什么根本性差异?
传统编程是人定规则——你写if-else覆盖所有情况,遇到没覆盖的就失败。大模型是从数据中学规律——它见过海量文本后,自己"总结"出语言的模式,遇到新情况能泛化处理。
一个直观对比:做智能客服,传统方式你可能写了500条规则也覆盖不完用户的各种问法;大模型你给它几个示例就能处理。代价是你对它的输出没有100%的控制力。
📖 大模型基础入门
Q2:自回归生成具体做了什么?为什么大模型回答长文本会慢?
模型每次只预测一个Token,预测完了拼到输入尾部,再预测下一个。重复这个过程直到遇到结束标记。
慢的原因就在这里——1000个Token的回答要跑1000次前向推理,没法并行。这也是为什么流式输出很重要,让用户不用干等到全部生成完。
Q3:Token跟字符是什么关系?为什么要关注Token数?
Token是模型实际处理的最小单位。BPE算法会把高频字符组合合并为一个Token(比如英文的"ing"就是一个Token)。中文一般一个字对应1-2个Token。
要关注Token数因为三个原因:上下文窗口按Token计(不是字数)、API费用按Token收、Embedding和检索的切分也以Token为基准。
📖 核心概念一网打尽
Q4:Temperature、Top-P、Top-K各自控制什么?实际怎么组合用?
Temperature:除以logits后做softmax。值小于1输出更确定,值大于1更随机。
Top-K:只从概率最高的K个Token里采样。固定数量,不够灵活。
Top-P:从概率累加到P的那些Token里采样。自适应——确定性高时候选少,开放性高时候选多。
组合建议:代码/事实问答用T=0.1-0.3、P=0.3;普通对话T=0.7、P=0.9;创意场景T=1.0+、P=0.95。
📖 核心概念一网打尽
Transformer与注意力
Q5:自注意力机制的Q、K、V分别代表什么?计算过程是怎样的?
Query是"我在找什么",Key是"我能提供什么",Value是"我的实际内容"。每个Token都会生成这三个向量。
计算过程:Query和所有Key做点积得到注意力分数 → 除以√d_k防止数值爆炸 → softmax归一化成权重 → 用权重加权求和所有Value → 得到这个位置的输出表示。
公式:Attention(Q,K,V) = softmax(QK^T / √d_k) × V
类比:你在一群人里找人帮忙(Query),每个人胸前挂了标签说自己擅长什么(Key),你跟每个人的标签比对一下,找到最匹配的几个人,听他们具体说什么(Value)。
Q6:多头注意力为什么比单头好?MQA和GQA解决什么问题?
单头注意力只有一种"理解视角"。多头相当于多个分析员同时工作,有的关注语法关系,有的关注语义关系,有的关注距离远近。最后把多个视角的结果拼接起来。
但多头的代价是KV Cache显存随头数线性增长。长序列推理时很吃力。
MQA(Multi-Query Attention):所有头共享一组K和V,只有Q独立。显存省很多,精度稍有损失。
GQA(Grouped-Query Attention):折中方案,多个头分组共享K和V。LLaMA 2 70B用的就是GQA,效果接近MHA但显存小得多。
Q7:位置编码解决什么问题?RoPE为什么成了主流方案?
自注意力本身不区分Token顺序(交换位置结果一样),但语言是有序的。位置编码给模型注入"谁在前谁在后"的信息。
RoPE(旋转位置编码)的核心操作是对Q和K做旋转变换,两个Token的相对位置体现在旋转角度差值里。
RoPE的关键优势:天然编码的是相对位置,支持长度外推——训练时只见过4K长度,推理时通过调整频率base可以处理128K序列(NTK-aware scaling等方法)。
训练与微调
Q8:预训练→SFT→对齐三阶段分别在做什么?
预训练:在TB级文本上做"预测下一个词",学通用知识和语言模式。成本极高(千万美金级),产出Base Model。Base Model博学但不会对话。
SFT(监督微调):用几万到几十万条"指令-回答"数据教模型怎么跟人交互。数据量不大但质量要高。完成后模型能正常对话了。
对齐:通过RLHF或DPO让模型回答更符合人类偏好——有帮助、真实、无害。决定模型最终的安全边界和"性格"。
Q9:LoRA微调的核心原理?为什么能省这么多资源?
核心洞察:微调时权重变化矩阵ΔW是低秩的,可以用两个小矩阵的乘积近似。
原来:ΔW是4096×4096 = 1600万参数
LoRA(秩r=16):A是4096×16,B是16×4096 = 约13万参数,缩减100倍+
实际好处:训练显存大幅下降(QLoRA配合4bit量化,24GB显卡就能微调7B模型)、训练速度快(几小时出结果)、可以给同一个Base挂多个LoRA做多任务切换、推理时合并回原始权重不增加延迟。
Q10:RLHF vs DPO vs GRPO,三种对齐方法怎么选?
RLHF:训练奖励模型打分 → PPO优化语言模型。流程复杂(要维护4个模型组件),训练易崩,但灵活度最高。
DPO:直接用偏好数据构造损失函数优化,不需要奖励模型。实现简单、训练稳定,是大部分项目首选。
GRPO(DeepSeek提出):同一个Prompt生成多个回答,组内互相比较。不用奖励模型也不用严格的偏好对数据,是RLHF和DPO之间的折中。
选择建议:资源有限直接上DPO;追求极致效果且有专门的标注团队用RLHF;数据形式不太规整试GRPO。
Q11:Scaling Law的意义是什么?Chinchilla法则修正了什么?
Scaling Law揭示了模型loss跟参数量、数据量、计算量之间的幂律关系——可预测。意义在于能用小模型实验推算大模型表现,避免盲目烧钱。
Chinchilla修正了"参数越多越好"的偏见:参数和训练数据应该按大约1:20的比例配比。70B参数需要1.4万亿Token的数据。此前很多模型参数堆得大但数据喂得不够,相当于一个天才只读了小学课本。
推理与部署
Q12:KV Cache的作用和代价?Prompt Caching又是什么?
KV Cache:自回归生成时,前面Token的Key和Value算过就不变了,缓存起来避免重复计算。把O(n²)复杂度降到O(n)。代价是显存——32层4096维模型缓存1024个Token约需512MB。
Prompt Caching:更进一步,多个请求如果共享相同的System Prompt前缀,这段前缀的KV Cache可以跨请求复用。省了重复计算的时间和显存。
Q13:量化的原理是什么?不同量化方案怎么选?
核心:用低精度(INT8/INT4)存权重,减少显存和计算量。7B模型FP16要14GB,INT4只要3.5GB。
关键发现:不是所有权重同等重要。AWQ的思路是找到那1%重要通道重点保护,其他通道大胆压缩。
选型:INT8几乎无损是最稳选择;GPTQ/AWQ做4bit离线量化适合部署;GGUF针对CPU优化适合本地笔记本跑。
Q14:CoT思维链为什么有效?什么场景该用什么场景不该用?
原理:让模型把中间推理步骤显式写出来,后续预测能"站在前面推理的肩膀上"。本质是把隐式推理外化为文本。
该用:数学推理、逻辑判断、多步分析等复杂任务。
不该用:简单事实问答(加CoT反而绕弯路)、对延迟敏感的场景(输出Token量翻倍以上)。
变体:Few-shot CoT(给推理示例)、Zero-shot CoT(加"一步步想")、Self-Consistency(多路径投票)、ToT(分叉探索+回溯)。
Q15:MoE混合专家的核心思想?DeepSeek V3为什么用它?
把FFN层拆成多个"专家"子网络 + 一个Router。每个Token只激活少数几个专家。参数总量大(671B)但单次推理只用一小部分(37B),既有大模型能力又不用付大模型的推理成本。
要注意的坑:专家坍塌(Router总把Token分给少数专家)、分布式通信开销(Token需要路由到不同GPU上的专家)、训练不稳定(负载不均导致loss震荡)。
Q16:部署大模型的主流方案及选型逻辑?
vLLM:PagedAttention管显存 + Continuous Batching高并发。生产环境GPU服务器首选。
llama.cpp:GGUF格式量化,CPU也能跑。本地开发/边缘设备。
TGI:HuggingFace原生,部署简单。快速验证。
SGLang:RadixAttention做前缀复用。多用户共享System Prompt场景。
Ollama:一键本地部署,学习用。
vLLM为什么吞吐高?PagedAttention把KV Cache的显存按"页"管理(类似OS虚拟内存),按需分配,利用率从50-60%提升到接近100%。
Q17:模型选型的决策框架?面试时怎么说服面试官你的选择?
三步走:
明确任务类型:简单问答/客服 → 7B-14B小模型够用;复杂推理/代码 → 70B+或GPT-4级别。
评估约束条件:预算(API vs 自部署)、延迟要求(实时对话 vs 离线分析)、数据安全(敏感数据必须私有化)。
跑真实测试:别只看公开榜单。用自己业务的case测,重点看边界case和多轮稳定性。
面试时的话术示例:"我们做企业知识库问答,数据敏感不能用云API。测了Qwen-14B、LLaMA 3-8B和Mistral-7B,中文场景Qwen明显领先,14B量化到INT4后在单卡4090上跑,延迟在2秒以内。"
📖 主流模型选型指南
Q18:幻觉问题的根因和缓解手段?
根因:模型做的是"概率生成","像那么回事"不等于"真实正确"。训练中某些模式被过度泛化就会编造内容。
两种幻觉:事实性幻觉(编造不存在的事实)、忠实性幻觉(有参考材料但答案跟材料矛盾)。
缓解优先级:RAG检索增强(最有效)→ Prompt约束("不确定就说不知道")→ 低Temperature → 输出验证 → 引用追溯。