跳到主要内容大模型面试指南:基础、进阶与微调核心知识点解析 | 极客日志编程语言AI算法
大模型面试指南:基础、进阶与微调核心知识点解析
全面梳理了大模型面试的核心知识点,涵盖基础架构、进阶原理、微调策略、LangChain 应用及推理优化。内容包括主流开源模型体系对比、Prefix/Causal LM 区别、涌现能力成因、LLM 复读机问题解决方案、全参数与 PEFT 微调显存分析、SFT 数据构建与灾难性遗忘缓解、RAG 文档对话优化、位置编码与 Tokenizer 技术细节等。文章旨在为求职者提供系统的技术复习指南,帮助掌握从理论到工程落地的关键技能。
DebugKing1 浏览 基础面
1. 目前主流的开源模型体系有哪些?
- GPT 系列:由 OpenAI 发布,基于 Transformer 架构。包括 GPT-2、GPT-3 等。通过大规模无标签文本预训练,在特定任务上微调,具有强大的生成能力。
- BERT 系列:Google 发布的双向预训练模型。适用于 NLU 任务,如文本分类、命名实体识别。基于 Encoder 架构。
- RoBERTa:Facebook 改进的 BERT 变体,使用更大规模数据和更长训练时间,性能更优。
- T5:Google 的多任务预训练模型,将 NLP 任务统一为文本到文本格式。
- LLaMA 系列:Meta 发布的开源大模型,包含从 7B 到 65B 参数版本,支持多语言及代码生成。
- ChatGLM 系列:面向对话优化的中文大模型,采用 Prefix Decoder 架构,支持中英双语。
2. Prefix LM 和 Causal LM 区别是什么?
- Prefix LM (前缀语言模型):允许模型根据给定的前缀(部分文本)预测后续内容,同时可以关注前缀内的上下文。常用于摘要、续写等任务。
- Causal LM (因果语言模型):严格自回归,只能根据历史词预测下一个词,无法看到未来信息。是标准的大模型生成模式。
3. 涌现能力是啥原因?
- 数据量增加:互联网数据爆炸提供了丰富的语言知识。
- 计算能力提升:GPU/TPU 使得训练更大模型成为可能。
- 架构改进:Transformer 及其变体能捕捉长距离依赖。
- 训练策略:预训练 + 微调策略让模型从海量数据中学习通用语义。
4. 大模型 LLM 的架构介绍?
- Self-Attention:动态分配权重,捕捉上下文关系。
- Multi-Head Attention:并行多个注意力头,增强表示能力。
- Feed-Forward Network:全连接层处理特征变换。
- Layer Normalization:稳定训练分布。
- Positional Encoding:注入位置信息(如 RoPE, ALiBi)。
进阶面
1. LLMs 复读机问题
i. 什么是 LLMs 复读机问题?
指模型生成时无限复制输入或重复相同句子短语的现象,导致输出缺乏多样性。
ii. 为什么会出现?
- 数据偏差:训练数据中存在大量重复模式。
- 训练目标限制:自监督学习倾向于预测高频词。
- 缺乏多样性:语料库单一,未覆盖丰富表达。
- 参数设置:温度过低或 Beam Search 过于保守。
iii. 如何缓解?
- 多样性数据:使用多领域、多风格语料。
- 引入噪声:采样时增加随机性。
- 调整温度:提高 Temperature 值增加随机性。
- 后处理过滤:检测并去除重复片段。
2. Llama 输入句子长度理论上可以无限长吗?
- 计算资源:长序列显存占用呈二次方增长。
- 模型训练:长序列可能导致梯度消失/爆炸。
- 上下文建模:需有效机制捕捉长距离依赖。
优化方法包括分块处理、层次建模、优化注意力机制(如 FlashAttention)。
3. 什么情况用 Bert 模型,什么情况用 LLaMA、ChatGLM 类大模型?
- Bert:适合 NLU 任务(分类、抽取),基于 Encoder,擅长理解。
- LLaMA:适合英文生成任务,参数量大,推理能力强。
- ChatGLM:适合中文对话场景,中英双语优化,交互友好。
选择需考虑数据可用性、计算资源及任务类型。
4. 各个专业领域是否需要各自的大模型来服务?
- 领域知识:医疗、法律等术语特殊,需专用模型。
- 语言风格:不同领域行文习惯差异大。
- 需求差异:金融重数字,法律重条款。
- 数据稀缺:垂直领域数据少,通用模型难以覆盖。
可在通用模型基础上进行 SFT 微调以适应领域。
5. 如何让大模型处理更长的文本?
- 分块处理:将长文切分为重叠片段。
- 层次建模:段落 - 句子层级处理。
- 注意力优化:使用稀疏注意力或线性复杂度机制。
- 外推技术:如 YaRN, NTK-aware scaling 提升上下文窗口。
微调面
1. 如果想要在某个模型基础上做全参数微调,究竟需要多少显存?
- 模型权重:FP16 下 7B 模型约需 14GB。
- 优化器状态:Adam 优化器需额外存储动量和方差(约 2x 权重)。
- 激活值:中间层计算结果,随 Batch Size 增加。
- 梯度:反向传播需存储梯度。
粗略估算:全参数微调 7B 模型 FP16 至少需 24GB+ 显存,建议使用 ZeRO 优化或混合精度。
2. 为什么 SFT 之后感觉 LLM 傻了?
- 过拟合:数据集小,模型死记硬背。
- 数据偏移:SFT 数据分布与预训练差异大。
- 标注错误:噪声数据误导模型。
- 灾难性遗忘:新任务覆盖了旧知识。
解决:增加数据量、正则化、混合通用数据训练。
3. SFT 指令微调数据如何构建?
- 收集原始数据:对话、问答、指令对。
- 数据清洗:去噪、格式化。
- 标注:确保指令与回复准确对应。
- 划分集:训练/验证/测试。
- 格式转换:转为 JSONL 等模型兼容格式。
4. 领域模型 Continue PreTrain 数据选取?
- 领域相关数据:爬取行业文档、论文。
- 专家标注:高质量人工校验。
- 伪标签:利用现有模型生成辅助数据。
- 质量平衡:避免低质数据污染。
5. 领域数据训练后,通用能力往往会有所下降,如何缓解?
- 混合训练:加入部分通用语料(如 Wikipedia)。
- 课程学习:先学通用再学领域。
- 正则化:防止权重偏离过大。
6. 领域模型 Continue PreTrain,如何让模型在预训练过程中就学习到更多的知识?
- 数据配比:增加领域数据比例。
- Token 密度:筛选高信息密度文本。
- 多任务学习:结合多种预训练目标。
7. 进行 SFT 操作的时候,基座模型选用 Chat 还是 Base?
- Base:适合继续预训练或特定任务微调。
- Chat:已对齐对话格式,适合直接 SFT 对话任务。
通常对话任务选 Chat 基座,减少对齐成本。
8. 领域模型微调指令&数据输入格式要求?
{"instruction": "...", "input": "...", "output": "..."}
或特定 Tokenizer 要求的 Prompt 模板。
9. 领域模型微调领域评测集构建?
- 人工构造:专家编写典型问题。
- 自动评估:使用 BLEU/ROUGE 或 LLM-as-a-Judge。
- 真实日志:脱敏后的用户交互数据。
10. 领域模型词表扩增是不是有必要的?
若领域有大量专有名词(如医学缩写),建议扩增词表以减少 OOV 率,提升编码效率。
11. 如何训练自己的大模型?
准备算力 -> 清洗数据 -> 预训练 -> 指令微调 -> RLHF -> 部署。
12. 训练中文大模型有啥经验?
- 分词优化:针对中文特性调整 Tokenizer。
- 语料均衡:平衡新闻、小说、百科比例。
- 文化适配:注意中文语境下的礼貌与逻辑。
13. 指令微调的好处?
使模型理解人类意图,提升指令遵循能力,改善交互体验。
14. 预训练和微调哪个阶段注入知识的?
15. 想让模型学习某个领域或行业的知识,是应该预训练还是应该微调?
深度领域知识建议 Continue PreTrain,任务规范建议 SFT。
16. 多轮对话任务如何微调模型?
构建多轮对话数据,保留历史上下文,使用 Chat 格式模板。
17. 微调后的模型出现能力劣化,灾难性遗忘是怎么回事?
新数据分布覆盖旧分布,导致旧知识权重被更新。可通过回放旧数据缓解。
18. 微调模型需要多大显存?
参考全参数微调,或使用 PEFT 降低需求(LoRA 可降至 10GB 以下)。
19. 大模型 LLM 进行 SFT 操作的时候在学习什么?
20. 预训练和 SFT 操作有什么不同?
预训练是无监督预测下一个词,SFT 是有监督指令跟随。
21. 样本量规模增大,训练出现 OOM 错
减小 Batch Size,启用 Gradient Accumulation,或使用分布式训练。
22. 大模型 LLM 进行 SFT 如何对样本进行优化?
23. 模型参数迭代实验
记录超参数变化,对比 Loss 曲线与验证集指标。
参数高效微调 (PEFT) 面
1. LoRA 篇
- 思路:冻结原权重,训练低秩分解矩阵 A 和 B。
- 优点:显存占用少,训练快,易于切换任务。
- 合入权重:可将 LoRA 权重合并回原模型以部署。
2. QLoRA 篇
- 思路:量化基座模型(4-bit)+ LoRA。
- 特点:极大降低显存需求,适合消费级显卡。
3. AdaLoRA 篇
4. 提示学习 (Prompting)
- Why:无需更新参数即可适应下游任务。
- Methods:
- Prefix-tuning:添加可训练前缀向量。
- Prompt-tuning:软提示(Soft Prompts)。
- P-tuning:引入 LSTM 编码器生成提示。
- P-tuning v2:多层结构,效果更佳。
5. 适配器微调 (Adapter-tuning)
- 思路:在 Transformer 层间插入小型 Adapter 模块。
- 特点:模块化,便于多任务共享。
6. PEFT 最佳实践
- 优先尝试 LoRA。
- 注意 Rank 选择(通常 8-64)。
- 监控验证集 Loss 防止过拟合。
LangChain 面
1. 基于 LLM+ 向量库的文档对话
- 思路:文档切片 -> Embedding -> 向量存储 -> 检索 -> 生成。
- 核心技术:RAG (Retrieval-Augmented Generation)。
- 痛点:
- 切分粒度难控。
- 垂直领域表现不佳。
- 召回率低。
- 幻觉问题。
- 优化:混合检索(关键词 + 向量)、重排序(Rerank)、元数据过滤。
2. LangChain 核心概念
- Components:模型、提示、记忆、链。
- Chains:串联多个组件处理任务。
- Agents:自主规划工具调用。
- Indexes/Retrievers:文档索引与检索接口。
3. LangChain 替代方案
- LlamaIndex:侧重数据索引与 RAG。
- Semantic Kernel:微软出品,集成度高。
推理面
1. 为什么大模型推理时显存涨的那么多还一直占着?
KV Cache 缓存了所有生成的 Token 的 Key 和 Value,随生成长度线性增长,且需保持 GPU 驻留。
2. GPU 和 CPU 上推理速度如何?
GPU 远快于 CPU,因并行计算优势。CPU 仅适合极低并发或边缘场景。
3. Int8 和 FP16 比起来怎么样?
Int8 显存减半,速度提升,但精度略有损失,需校准。
4. 生成时的参数怎么设置?
- Temperature:控制随机性。
- Top-P:核采样阈值。
- Top-K:候选词数量。
5. 省内存的方法
量化(INT8/INT4)、FlashAttention、Continuous Batching。
6. 合规化输出
通过系统提示词约束、敏感词过滤、输出格式校验实现。
评测面
1. 大模型怎么评测?
- 自动化:MMLU, GSM8K, HumanEval。
- 人工:RLHF 偏好打分。
- 业务指标:准确率、响应时间。
2. Honest 原则如何实现?
训练模型承认未知,不编造事实,通过拒答机制或置信度阈值控制。
强化学习面
1. 奖励模型需要和基础模型一致吗?
2. RLHF 不足与解决
- 成本高:使用合成数据或 PPO 变体。
- 迭代慢:离线强化学习(Offline RL)。
- 资源消耗:减少模型数量,使用 DPO 替代 PPO。
软硬件配置面
- 推荐:A100/H100 集群,NVLink 互联。
- 存储:高速 SSD 用于数据加载。
训练集面
1. 数据格式
- SFT:JSONL (Instruction/Input/Output)。
- RM:Pairwise (Preferred/Rejected)。
- PPO:Context/Response/Reward。
2. 找数据集哪里找?
HuggingFace Datasets, Kaggle, 开源社区(如 Alpacas)。
3. 微调需要多少条数据?
SFT 千级至万级,PreTrain 亿级 Token。
Token 及模型参数准备篇
1. Token 重复是否影响性能?
2. SFT 需要训练 Token 数?
视任务复杂度,通常 100M-1B Tokens。
LLMs 位置编码篇
1. 什么是位置编码?
2. RoPE (旋转位置编码)
- 思路:通过旋转矩阵注入相对位置。
- 优点:支持外推,数学性质好。
- 应用:LLaMA, Yi。
3. ALiBi
- 思路:注意力矩阵加偏置。
- 优点:无需训练位置嵌入,支持长序列。
4. 长度外推问题
模型在训练长度之外表现下降。解决方法:NTK, YaRN, Linear Interpolation。
LLMs Tokenizer 篇
1. BPE (Byte-Pair Encoding)
2. WordPiece
3. SentencePiece
4. 对比
BPE 效率高,WordPiece 语义性好,SentencePiece 灵活。
Layer Normalization 篇
1. LN vs RMS Norm
- LN:减均值除标准差。
- RMS Norm:仅除均方根,去均值,更快。
- Deep Norm:归一化残差路径,稳定深层网络。
2. 公式
- LN: $\frac{x - \mu}{\sigma} \cdot \gamma + \beta$
- RMS: $\frac{x}{\sqrt{E[x^2]}} \cdot \gamma$
3. 各模型选择
- LLaMA: RMSNorm
- BERT: LayerNorm
- GPT-3: LayerNorm
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online