所有AI岗位的共同基础,面试必考 核心内容:
-
Transformer架构深度剖析
- 自注意力机制原理
- 位置编码与长文本处理
- 多头注意力的作用
-
大模型训练全流程
- Pre-training、SFT、RLHF详解
- 损失函数设计(PPO、DPO)
- 数据配比与课程学习
-
Prompt Engineering实战
- Few-shot、Zero-shot、CoT技术
- 指令遵循与安全对齐
- 幻觉问题的缓解方法
-
模型优化与部署
- 量化技术(INT8、FP16、QLoRA)
- 推理加速(Flash Attention、KV Cache)
- 分布式训练基础
1 Transformer架构原理
- Transformer为什么比RNN更适合做大模型?能具体说说吗?
- Self-Attention是怎么算的?为什么要除以根号d_k?
- 多头注意力(Multi-Head Attention)有什么用?为什么不直接用一个大头?
- 位置编码(Positional Encoding)是干嘛的?为什么Transformer需要它?
- 绝对位置编码和相对位置编码有什么区别?哪个更好用?
- RoPE(旋转位置编码)是什么?为什么LLaMA要用它?
- Transformer处理长文本为什么慢?O(n²)的复杂度怎么来的?
- Flash Attention是怎么加速的?为什么能省显存?
- KV Cache是什么?推理时为什么要缓存Key和Value?
- Decoder-only和Encoder-Decoder架构有什么区别?GPT为什么选Decoder-only?
- Layer Norm和Batch Norm有什么区别?Transformer为什么用Layer Norm?
- Pre-Norm和Post-Norm哪个更好?训练稳定性有什么差异?
- FFN(前馈网络)在Transformer中起什么作用?为什么要4倍的隐藏层维度?
- Transformer的残差连接为什么重要?不加会怎么样?
- GLU、SwiGLU这些激活函数有什么特点?为什么LLaMA要用SwiGLU?
2 大模型训练流程
- 大模型的Pre-training在干什么?训练目标是什么?
- 自回归语言模型和自编码语言模型有什么区别?
- 什么是Next Token Prediction?为什么这个任务能训练出通用能力?
- 预训练数据怎么配比?代码、论文、网页的比例怎么定?
- 预训练为什么要做数据清洗?有哪些常见的清洗方法?
- 什么是课程学习(Curriculum Learning)?预训练时怎么用?
- 大模型训练为什么要Warmup?学习率怎么调整?
- AdamW优化器和Adam有什么区别?为什么大模型都用AdamW?
- 什么是梯度累积(Gradient Accumulation)?什么时候需要用?
- 混合精度训练(FP16/BF16)是怎么回事?BF16比FP16好在哪?
- 什么是SFT(Supervised Fine-Tuning)?和预训练有什么区别?
- 指令微调的数据怎么构造?什么样的指令数据是高质量的?
- 单轮对话和多轮对话的SFT数据有什么区别?怎么处理上下文?
- RLHF(人类反馈强化学习)是怎么工作的?为什么能让模型更听话?
- RLHF中的Reward Model是怎么训练的?需要什么样的数据?
- PPO算法在RLHF中起什么作用?为什么不直接用监督学习?
- DPO(直接偏好优化)和RLHF有什么区别?哪个更简单?
- 什么是对齐税(Alignment Tax)?对齐会损失模型能力吗?
- RLHF训练不稳定怎么办?有哪些常见的坑?
- 大模型训练时怎么防止过拟合?Early Stopping怎么设置?
3 Prompt Engineering
- 什么是Few-shot Learning?为什么给几个例子模型就能学会?
- Zero-shot和Few-shot有什么区别?什么时候用哪个?
- 什么是Chain-of-Thought(CoT)?为什么让模型"想一想"效果更好?
- Zero-shot CoT就是加一句"Let's think step by step"吗?原理是什么?
- Few-shot CoT的例子怎么选?随便选几个行吗?
- 什么是Self-Consistency?为什么要让模型生成多次然后投票?
- Tree of Thoughts和Chain of Thoughts有什么区别?
- Prompt里的角色设定(You are...)真的有用吗?
- 怎么写出好的System Prompt?有什么技巧?
- 为什么要在Prompt里加约束条件?怎么加才有效?
- 大模型的上下文长度是怎么回事?为什么有token限制?
- 怎么在有限的上下文里塞更多信息?有什么压缩技巧?
- 什么是Prompt注入攻击?怎么防范?
- 大模型的Temperature参数是干什么的?什么时候调高,什么时候调低?
- Top-p(nucleus sampling)和Top-k采样有什么区别?
4 模型优化与部署
- 什么是模型量化?INT8量化会损失多少精度?
- PTQ(训练后量化)和QAT(量化感知训练)有什么区别?
- GPTQ、AWQ这些量化方法有什么特点?哪个效果最好?
- 什么是LoRA?为什么能用很少的参数微调大模型?
- QLoRA是什么?怎么在消费级显卡上微调70B模型?
- Adapter、Prefix-Tuning、P-Tuning这些方法有什么区别?
- 全量微调、LoRA微调、Prompt-Tuning怎么选?
- 什么是知识蒸馏(Knowledge Distillation)?怎么把大模型压缩成小模型?
- 模型剪枝(Pruning)是怎么做的?哪些参数可以剪掉?
- 推理加速有哪些方法?vLLM、TensorRT-LLM有什么特点?
- 什么是连续批处理(Continuous Batching)?为什么能提高吞吐量?
- PagedAttention是什么?怎么解决KV Cache的内存碎片问题?
- 投机采样(Speculative Decoding)是怎么加速的?
- 模型并行和数据并行有什么区别?什么时候用哪个?
- 张量并行(Tensor Parallelism)是怎么切分模型的?
- 流水线并行(Pipeline Parallelism)有什么优缺点?
- ZeRO优化器是什么?怎么解决显存不够的问题?
- DeepSpeed和Megatron-LM有什么区别?
- 大模型推理时的显存怎么估算?1B参数大概要多少显存?
- 怎么在单卡上跑13B的模型?有哪些省显存的技巧?
5 大模型能力与局限
- 大模型的In-Context Learning能力是怎么涌现的?
- 为什么模型规模越大,能力提升越明显?有临界点吗?
- 什么是涌现能力(Emergent Abilities)?有哪些典型例子?
- 大模型真的"理解"了吗?还是只是在做模式匹配?
- 什么是幻觉(Hallucination)?为什么模型会"一本正经地胡说八道"?
- 怎么减少幻觉?有哪些有效的方法?
- 大模型的知识截止日期是什么意思?怎么更新模型的知识?
- 大模型在数学推理上为什么表现不好?怎么提升?
- 为什么大模型很难数数?"strawberry有几个r"这类问题为什么会错?
- 大模型的长文本理解能力怎么样?"大海捞针"测试是什么?
- 什么是位置偏见(Position Bias)?为什么模型更关注开头和结尾?
- 大模型会遗忘吗?灾难性遗忘(Catastrophic Forgetting)是什么?
- 多语言大模型是怎么训练的?中文和英文的能力怎么平衡?
- 大模型的安全性问题有哪些?怎么防止生成有害内容?
- Jailbreak(越狱)攻击是什么?有哪些经典的越狱方法?
6 主流大模型对比
- GPT-3.5和GPT-4有什么本质区别?为什么4比3.5强这么多?
- Claude和GPT有什么不同?各自的优势是什么?
- LLaMA、LLaMA2、LLaMA3的进化路线是什么?
- Mistral、Mixtral这些开源模型有什么特点?
- Qwen(通义千问)、ChatGLM、Baichuan有什么区别?
- 什么是MoE(Mixture of Experts)?Mixtral为什么用这个架构?
- Gemini的多模态能力是怎么实现的?和GPT-4V有什么区别?
- 小模型(7B、13B)和大模型(70B、175B)的能力差距在哪?
- 开源模型和闭源API怎么选?各自的优缺点是什么?
- 为什么有些模型对话能力强,有些代码能力强?训练数据的影响有多大?
- Instruct模型和Base模型有什么区别?能直接用Base模型吗?
- Chat模型的多轮对话是怎么实现的?上下文怎么拼接?
- 模型的Context Window越大越好吗?128K上下文有什么用?
- 闭源模型怎么估算参数量?通过API能反推模型结构吗?
- 2025年大模型技术发展的趋势是什么?下一个breakthrough会是什么?