AI 大模型面试题精选(第二辑):20 道必知的试题
本文是大模型面试题精选的第二辑,从不同角度精选20道高频面试题,涵盖模型架构、训练技巧、部署优化、Agent、多模态等核心知识点,适合准备大模型相关岗位面试的同学。
本文是大模型面试题精选的第二辑,从不同角度精选20道高频面试题,涵盖模型架构、训练技巧、部署优化、Agent、多模态等核心知识点,适合准备大模型相关岗位面试的同学。
一、模型架构与设计篇(5题)
01|GPT 和 BERT 的区别是什么?
参考答案:
GPT(Generative Pre-trained Transformer):
- • 架构:Decoder-only(只有解码器)
- • 训练方式:自回归(Autoregressive),从左到右生成
- • 预训练任务:语言建模(Language Modeling),预测下一个 token
- • 特点:擅长生成任务,可以生成连贯的文本
- • 应用:文本生成、对话、代码生成
BERT(Bidirectional Encoder Representations from Transformers):
- • 架构:Encoder-only(只有编码器)
- • 训练方式:双向编码,可以同时看到上下文
- • 预训练任务:掩码语言建模(MLM)+ 下一句预测(NSP)
- • 特点:擅长理解任务,对文本有深度理解
- • 应用:文本分类、命名实体识别、问答
核心区别:
| 特性 | GPT | BERT |
|---|---|---|
| 架构 | Decoder-only | Encoder-only |
| 注意力 | 掩码自注意力(只能看前面) | 双向自注意力(可以看全部) |
| 训练 | 自回归 | 双向编码 |
| 优势 | 生成能力强 | 理解能力强 |
| 应用 | 生成任务 | 理解任务 |
为什么 GPT 用 Decoder-only?
- • 生成任务需要自回归特性
- • 训练时只能看到前面的 token,推理时也如此
- • 保持训练和推理的一致性
为什么 BERT 用 Encoder-only?
- • 理解任务需要双向信息
- • 可以同时利用上下文信息
- • 对文本有更全面的理解
02|什么是 MoE(Mixture of Experts)?它的优势是什么?
参考答案:
MoE(Mixture of Experts,专家混合) 是一种模型架构设计,将模型分成多个"专家"(Expert),每个专家负责处理不同类型的输入。
工作原理:
-
- 专家网络
- • 模型包含多个专家网络(如 8 个、16 个)
- • 每个专家是一个完整的神经网络
- • 不同专家学习不同的特征和模式
-
- 门控网络(Gating Network)
- • 根据输入决定激活哪些专家
- • 输出每个专家的权重(通常是稀疏的)
- • 例如:只激活 Top-2 个专家
-
- 加权组合
- • 将激活的专家输出加权组合
- • 公式:
output = Σ w_i * Expert_i(input)
优势:
-
- 参数效率
- • 模型总参数量大,但每次只激活部分参数
- • 例如:1.7T 参数的模型,每次只激活 13B 参数
- • 显存和计算量大幅减少
-
- 可扩展性
- • 可以轻松增加专家数量
- • 模型容量可以非常大(如 1.7T 参数)
-
- 专业化
- • 不同专家可以学习不同的知识领域
- • 提升模型的表达能力
-
- 训练效率
- • 可以并行训练多个专家
- • 训练速度更快
挑战:
-
- 负载均衡
- • 需要确保所有专家都被充分使用
- • 避免某些专家过载,某些专家闲置
-
- 路由学习
- • 门控网络需要学习如何正确路由
- • 训练难度较高
-
- 通信开销
- • 多 GPU 训练时,专家之间的通信开销大
应用:
- • Switch Transformer:Google 的 MoE 模型
- • GShard:大规模 MoE 训练框架
- • Mixtral 8x7B:Mistral AI 的 MoE 模型
03|什么是 Grouped Query Attention(GQA)?它如何优化注意力机制?
参考答案:
GQA(Grouped Query Attention,分组查询注意力) 是 Multi-Head Attention 的一种变体,通过减少 Query 头的数量来优化注意力计算。
标准 Multi-Head Attention:
- • Q、K、V 都有相同数量的头(如 32 个头)
- • 每个头独立计算注意力
- • 参数量:
3 × num_heads × head_dim
GQA 的设计:
- • Query 头:减少数量(如 8 个头)
- • Key/Value 头:保持数量(如 32 个头)
- • 分组共享:多个 Query 头共享一组 Key/Value 头
- • 例如:8 个 Query 头,32 个 Key/Value 头,每组 4 个 Query 共享 1 组 Key/Value
优势:
-
- 减少 KV Cache 显存
- • KV Cache 大小与 Key/Value 头数量相关
- • GQA 减少 Key/Value 头数量,显存减少
- • 例如:从 32 头减少到 8 头,KV Cache 减少 75%
-
- 保持模型性能
- • Query 头数量减少,但 Key/Value 头保持
- • 模型表达能力基本不变
- • 性能损失很小(通常 < 5%)
-
- 推理加速
- • 减少注意力计算量
- • 提升推理速度
对比:
| 方法 | Query 头 | Key/Value 头 | KV Cache | 性能 |
|---|---|---|---|---|
| MHA | 32 | 32 | 100% | 100% |
| MQA | 1 | 1 | 3% | 85% |
| GQA | 8 | 8 | 25% | 98% |
MQA vs GQA:
- • MQA(Multi-Query Attention):所有 Query 共享一组 Key/Value,显存最少但性能损失大
- • GQA:平衡了显存和性能,是更好的选择
应用:
- • LLaMA 2:使用 GQA
- • PaLM 2:使用 GQA
- • 大多数新的大模型都采用 GQA
04|什么是 RMSNorm?它相比 LayerNorm 有什么优势?
参考答案:
RMSNorm(Root Mean Square Layer Normalization) 是 LayerNorm 的简化版本,去掉了均值中心化,只进行缩放。
LayerNorm 公式:
LN(x) = γ * (x - μ) / √(σ² + ε) + β其中:μ = mean(x) # 均值σ² = var(x) # 方差
RMSNorm 公式:
RMSNorm(x) = γ * x / RMS(x)其中:RMS(x) = √(mean(x²) + ε)
关键区别:
- • LayerNorm:减去均值,再除以标准差
- • RMSNorm:不减去均值,只除以 RMS(均方根)
优势:
-
- 计算更简单
- • 不需要计算均值
- • 只需要计算均方根
- • 计算量减少约 10-15%
-
- 数值稳定性
- • 不涉及减法,数值更稳定
- • 减少浮点误差
-
- 训练速度
- • 计算更快,训练速度提升
- • 在 GPU 上效率更高
-
- 性能相当
- • 在大多数任务上性能与 LayerNorm 相当
- • 有些任务甚至更好
为什么可以去掉均值?
- • 在 Transformer 中,残差连接和 LayerNorm 的组合已经提供了足够的归一化
- • 均值中心化在某些情况下不是必需的
- • RMSNorm 通过缩放已经能够稳定训练
应用:
- • LLaMA:使用 RMSNorm
- • PaLM:使用 RMSNorm
- • 许多新的大模型都采用 RMSNorm
05|什么是 SwiGLU 激活函数?它相比 ReLU 有什么优势?
参考答案:
SwiGLU(Swish-Gated Linear Unit) 是一种激活函数,结合了 Swish 和 GLU(Gated Linear Unit)的特点。
公式:
SwiGLU(x) = Swish(xW + b) ⊙ (xV + c)其中:Swish(x) = x * sigmoid(x)⊙ 是逐元素乘法
GLU(Gated Linear Unit)原理:
- • 将输入分成两部分:
[A, B] - • A 作为主路径,B 作为门控
- • 输出:
A ⊙ sigmoid(B) - • 门控机制可以控制信息流
SwiGLU 的特点:
- • 使用 Swish 作为激活函数(而不是 sigmoid)
- • Swish 是平滑、非单调的函数
- • 在负值区域也有梯度,避免死神经元
优势:
-
- 性能更好
- • 在语言模型任务上表现优于 ReLU
- • 提升模型表达能力
-
- 平滑性
- • Swish 是平滑函数,梯度更稳定
- • 训练更稳定
-
- 门控机制
- • GLU 的门控机制可以控制信息流
- • 提升模型的表达能力
对比:
| 激活函数 | 公式 | 特点 | 应用 |
|---|---|---|---|
| ReLU | max(0, x) | 简单、快速 | 广泛使用 |
| GELU | x * Φ(x) | 平滑、性能好 | BERT、GPT-2 |
| Swish | x * sigmoid(x) | 平滑、非单调 | 某些模型 |
| SwiGLU | Swish(xW) ⊙ (xV) | 门控+平滑 | LLaMA、PaLM |
应用:
- • LLaMA:使用 SwiGLU
- • PaLM:使用 SwiGLU
- • 许多新的大模型都采用 SwiGLU
为什么需要门控?
- • 门控机制可以动态控制信息流
- • 让模型学习何时传递信息,何时抑制信息
- • 提升模型的表达能力
二、训练技巧与优化篇(5题)
06|什么是梯度累积(Gradient Accumulation)?它的作用是什么?
参考答案:
梯度累积(Gradient Accumulation) 是一种训练技巧,通过多次前向传播累积梯度,然后一次性更新参数,从而在有限的显存下模拟更大的 batch size。
工作原理:
-
- 正常训练
- • Batch size = 32
- • 一次前向传播 + 反向传播
- • 更新一次参数
-
- 梯度累积
- • Batch size = 8,累积步数 = 4
- • 4 次前向传播,每次计算梯度
- • 累积 4 次梯度(不更新参数)
- • 第 4 次后,更新参数(相当于 batch size = 32)
伪代码:
optimizer.zero_grad()for i inrange(accumulation_steps): loss = model(inputs[i]) loss = loss / accumulation_steps # 归一化 loss.backward() # 累积梯度optimizer.step() # 更新参数
作用:
-
- 模拟大 batch size
- • 显存不足时,可以用小 batch + 梯度累积
- • 效果接近大 batch size
-
- 稳定训练
- • 大 batch size 通常训练更稳定
- • 梯度累积可以达到类似效果
-
- 灵活调整
- • 可以根据显存情况调整累积步数
- • 不需要修改模型结构
注意事项:
- • 需要将 loss 除以累积步数,保证梯度大小正确
- • 学习率可能需要调整(因为有效 batch size 变了)
- • 训练时间会增加(需要多次前向传播)
应用场景:
- • 显存不足,无法使用大 batch size
- • 需要大 batch size 来稳定训练
- • 多 GPU 训练时,每个 GPU 的 batch size 较小
07|什么是学习率调度(Learning Rate Scheduling)?常见的策略有哪些?
参考答案:
学习率调度(Learning Rate Scheduling) 是在训练过程中动态调整学习率的方法,可以提升训练效果和模型性能。
为什么需要学习率调度?
- • 训练初期:需要大学习率快速收敛
- • 训练后期:需要小学习率精细调整
- • 固定学习率可能导致训练不稳定或收敛慢
常见策略:
-
- 固定学习率(Constant)
- • 整个训练过程使用固定学习率
- • 优点:简单
- • 缺点:可能收敛慢或不稳定
-
- 线性衰减(Linear Decay)
- • 学习率线性减少
- • 公式:
lr(t) = lr_0 * (1 - t/T) - • 适用:大多数场景
-
- 余弦退火(Cosine Annealing)
- • 学习率按余弦函数衰减
- • 公式:
lr(t) = lr_min + (lr_max - lr_min) * (1 + cos(πt/T))/2 - • 优点:平滑衰减,效果好
- • 适用:长时间训练
-
- 阶梯衰减(Step Decay)
- • 在特定 epoch 降低学习率
- • 例如:每 10 个 epoch 降低 10 倍
- • 适用:需要快速调整的场景
-
- Warmup + Decay
- • 训练初期逐渐增加学习率(Warmup)
- • 然后逐渐减少(Decay)
- • 优点:训练更稳定
- • 适用:大模型训练
-
- OneCycleLR
- • 学习率先增后减,形成一个周期
- • 优点:可以找到更好的学习率
- • 适用:需要快速实验的场景
Warmup 的作用:
- • 训练初期,模型参数随机初始化
- • 大学习率可能导致训练不稳定
- • Warmup 让学习率从 0 逐渐增加到目标值
- • 通常 Warmup 10% 的训练步数
最佳实践:
- • 大模型训练:Warmup + Cosine Annealing
- • 小模型训练:Linear Decay 或 Step Decay
- • 快速实验:OneCycleLR
- • 根据验证集性能调整策略
08|什么是标签平滑(Label Smoothing)?它的作用是什么?
参考答案:
标签平滑(Label Smoothing) 是一种正则化技术,将硬标签(one-hot)转换为软标签,减少模型过度自信的问题。
问题背景:
- • 标准分类使用 one-hot 标签:
[0, 0, 1, 0] - • 模型会过度自信,对正确类别输出接近 1 的概率
- • 可能导致过拟合,泛化能力差
标签平滑方法:
- • 原始标签:
[0, 0, 1, 0] - • 平滑后:
[ε/K, ε/K, 1-ε+ε/K, ε/K] - • 其中:ε 是平滑系数(通常 0.1),K 是类别数
例如(4 类,ε=0.1):
- • 原始:
[0, 0, 1, 0] - • 平滑:
[0.025, 0.025, 0.925, 0.025]
作用:
-
- 防止过度自信
- • 模型不会对正确类别输出接近 1 的概率
- • 提升模型的校准度(Calibration)
-
- 提升泛化能力
- • 减少过拟合
- • 模型对相似类别有更好的区分能力
-
- 训练更稳定
- • 梯度更平滑
- • 训练过程更稳定
数学原理:
- • 原始损失:
L = -log(p_correct) - • 平滑后损失:
L = -(1-ε)log(p_correct) - ε/K * Σlog(p_i) - • 第二项鼓励模型对所有类别都有一定的概率
参数选择:
- • ε = 0.1:常用值,适合大多数场景
- • ε = 0.05:轻微平滑,适合简单任务
- • ε = 0.2:强平滑,适合复杂任务
应用场景:
- • 图像分类
- • 文本分类
- • 大模型训练(如 GPT、BERT)
注意事项:
- • 不适合所有任务(如需要高置信度的任务)
- • 需要根据任务调整平滑系数
09|什么是 Dropout?它在 Transformer 中如何使用?
参考答案:
Dropout 是一种正则化技术,在训练时随机丢弃部分神经元,防止过拟合。
工作原理:
- • 训练时:以概率 p 随机将神经元输出设为 0
- • 推理时:保留所有神经元,但输出乘以 (1-p)
数学表示:
- • 训练:
y = x * mask / (1-p),其中 mask 是随机二值矩阵 - • 推理:
y = x * (1-p)
在 Transformer 中的应用:
-
- Attention Dropout
- • 在注意力权重上应用 Dropout
- • 位置:
softmax(QK^T / √d)之后 - • 作用:防止注意力过度集中在某些位置
-
- FFN Dropout
- • 在前馈网络的激活函数之后应用 Dropout
- • 位置:
FFN(x) = Dropout(Activation(Linear(x))) - • 作用:防止前馈网络过拟合
-
- Embedding Dropout
- • 在词嵌入层应用 Dropout
- • 位置:输入嵌入之后
- • 作用:防止嵌入层过拟合
Dropout 率的选择:
- • Attention Dropout:通常 0.1-0.2
- • FFN Dropout:通常 0.1-0.3
- • Embedding Dropout:通常 0.1
为什么 Transformer 需要 Dropout?
- • Transformer 参数量大,容易过拟合
- • Dropout 可以提升泛化能力
- • 训练更稳定
注意事项:
- • 推理时必须关闭 Dropout
- • Dropout 率不能太大,否则影响训练
- • 不同层可以使用不同的 Dropout 率
现代趋势:
- • 一些新模型(如 LLaMA)不使用 Dropout
- • 依赖其他正则化方法(如权重衰减、标签平滑)
- • 大模型训练时,Dropout 的影响较小
10|什么是梯度裁剪(Gradient Clipping)?为什么需要它?
参考答案:
梯度裁剪(Gradient Clipping) 是一种训练技巧,限制梯度的大小,防止梯度爆炸问题。
问题背景:
- • 深度网络训练时,梯度可能变得非常大
- • 梯度爆炸会导致训练不稳定,甚至发散
- • 特别是在 RNN/Transformer 等序列模型中
两种裁剪方式:
-
- 按值裁剪(Clip by Value)
- • 将梯度限制在 [-threshold, threshold] 范围内
- • 公式:
grad = clip(grad, -threshold, threshold) - • 简单直接
-
- 按范数裁剪(Clip by Norm)
- • 如果梯度范数超过阈值,按比例缩放
- • 公式:
grad = grad * min(1, threshold / ||grad||) - • 保持梯度方向不变
为什么需要梯度裁剪?
-
- 防止梯度爆炸
- • 限制梯度大小,避免参数更新过大
- • 训练更稳定
-
- 提升训练稳定性
- • 特别是在训练初期,梯度可能很大
- • 裁剪后训练更平滑
-
- 允许更大的学习率
- • 梯度被限制后,可以使用更大的学习率
- • 训练速度更快
参数选择:
- • 按值裁剪:通常 threshold = 1.0 或 0.5
- • 按范数裁剪:通常 threshold = 1.0 或 5.0
- • 需要根据模型和任务调整
应用场景:
- • RNN/Transformer 训练
- • 大模型训练
- • 训练不稳定时
注意事项:
- • 不要裁剪过度,否则可能影响训练
- • 如果经常裁剪,可能需要降低学习率
- • 现代优化器(如 Adam)对梯度爆炸有更好的处理
三、Agent 与工具调用篇(4题)
11|什么是 AI Agent?它的核心组件有哪些?
参考答案:
AI Agent(智能体) 是一个能够感知环境、做出决策并执行行动的自主系统,可以理解用户意图、规划任务、调用工具并完成任务。
核心组件:
-
- 规划模块(Planning)
- • 理解用户意图,分解复杂任务
- • 制定执行计划
- • 例如:将"帮我订机票"分解为"查询航班"→“选择航班”→“填写信息”→“支付”
-
- 工具调用(Tool Calling)
- • 调用外部工具和 API
- • 例如:搜索、计算器、数据库查询
- • 扩展模型的能力边界
-
- 记忆管理(Memory)
- • 短期记忆:当前对话的上下文
- • 长期记忆:历史对话、用户偏好
- • 工作记忆:当前任务的状态
-
- 反思与修正(Reflection)
- • 评估执行结果
- • 发现错误并修正
- • 优化执行策略
工作流程:
用户输入 → 理解意图 → 规划任务 → 调用工具 → 执行行动 → 评估结果 → 返回用户
类型:
-
- ReAct Agent
- • 结合推理(Reasoning)和行动(Acting)
- • 交替进行思考和行动
-
- Plan-and-Execute Agent
- • 先制定完整计划,再执行
- • 适合复杂、多步骤任务
-
- AutoGPT Agent
- • 自主执行任务,持续运行
- • 可以自我反思和修正
应用场景:
- • 代码生成和执行
- • 数据分析
- • 自动化工作流
- • 智能助手
挑战:
- • 工具调用的准确性
- • 长期记忆管理
- • 错误处理和恢复
- • 安全性问题
12|什么是 ReAct?它的工作原理是什么?
参考答案:
ReAct(Reasoning + Acting) 是一种 Agent 框架,通过交替进行推理(Reasoning)和行动(Acting)来完成任务。
核心思想:
- • 传统方法:先推理再行动,或先行动再推理
- • ReAct:推理和行动交替进行,动态调整策略
工作流程:
-
- 观察(Observation)
- • 获取当前环境状态
- • 例如:搜索结果、工具返回结果
-
- 思考(Thought)
- • 分析当前情况
- • 决定下一步行动
- • 例如:“我需要搜索更多信息”
-
- 行动(Action)
- • 执行具体行动
- • 例如:调用搜索工具
-
- 观察结果
- • 获取行动结果
- • 继续思考下一步
示例:
用户:北京的天气怎么样?Agent:Thought: 用户想知道北京的天气,我需要调用天气API。Action: search_weather(city="北京")Observation: 北京今天晴天,温度25度Thought: 我已经获得了天气信息,可以回答用户了。Action: answer("北京今天晴天,温度25度")
优势:
-
- 动态调整
- • 根据观察结果动态调整策略
- • 不需要预先制定完整计划
-
- 可解释性
- • 思考过程可见,易于理解
- • 便于调试和优化
-
- 错误恢复
- • 可以及时发现错误
- • 通过思考修正策略
-
- 灵活性
- • 适合各种类型的任务
- • 可以处理意外情况
实现方式:
- • 使用大模型的工具调用能力
- • 通过 prompt 引导模型进行思考和行动
- • 使用 LangChain、AutoGPT 等框架
应用:
- • 问答系统
- • 代码生成和执行
- • 数据分析
- • 自动化任务
13|什么是 Function Calling?它如何实现工具调用?
参考答案:
Function Calling(函数调用) 是大模型调用外部工具和函数的能力,让模型可以执行搜索、计算、数据库查询等操作。
工作原理:
-
- 定义工具```plaintext
{“name”:“search_weather”,“description”:“查询天气”,“parameters”:{“type”:“object”,“properties”:{“city”:{“type”:“string”,“description”:“城市名称”}}}}
- 定义工具```plaintext
- • 描述工具的功能、参数、返回值
- • 使用 JSON Schema 格式
-
- 模型选择工具
- • 模型根据用户输入,决定调用哪个工具
- • 生成符合 Schema 的参数
- • 返回工具调用请求
-
- 执行工具
- • 系统执行工具,获取结果
- • 将结果返回给模型
-
- 模型生成回答
- • 模型基于工具结果生成最终回答
示例流程:
用户:北京的天气怎么样?模型输出:{ "function_call": { "name": "search_weather", "arguments": {"city": "北京"} }}系统执行:search_weather("北京") → "晴天,25度"模型最终回答:北京今天晴天,温度25度。
优势:
-
- 扩展能力
- • 模型可以调用任意工具
- • 突破训练数据的限制
-
- 准确性
- • 使用实时数据,而不是训练时的数据
- • 减少幻觉问题
-
- 灵活性
- • 可以定义各种工具
- • 适应不同场景
实现方式:
- • OpenAI API:支持 function calling
- • Anthropic Claude:支持 tool use
- • LangChain:提供工具调用框架
- • 自定义实现:通过 prompt 引导模型
最佳实践:
- • 工具描述要清晰准确
- • 参数 Schema 要完整
- • 处理工具调用失败的情况
- • 验证工具返回结果
14|什么是 Tool-Use?它和 Function Calling 有什么区别?
参考答案:
Tool-Use(工具使用) 是 Anthropic Claude 的工具调用机制,类似于 OpenAI 的 Function Calling,但有一些设计差异。
相同点:
- • 都是让大模型调用外部工具
- • 都需要定义工具 Schema
- • 工作流程类似:定义工具 → 模型选择 → 执行工具 → 生成回答
区别:
-
- API 设计
- • Function Calling:使用
functions参数定义工具 - • Tool-Use:使用
tools参数定义工具
-
- 返回格式
- • Function Calling:返回
function_call对象 - • Tool-Use:返回
tool_use对象,包含id字段
-
- 多工具调用
- • Function Calling:一次只能调用一个工具
- • Tool-Use:可以同时调用多个工具(并行)
-
- 工具结果处理
- • Function Calling:需要将结果作为消息传入
- • Tool-Use:使用
tool_result消息,通过id关联
Tool-Use 的优势:
-
- 并行调用
- • 可以同时调用多个工具
- • 提升效率
-
- 更好的关联
- • 使用
id关联工具调用和结果 - • 支持多轮工具调用
-
- 更灵活
- • 支持更复杂的工具调用场景
示例(Tool-Use):
# 定义工具tools = [{"name": "search_weather","description": "查询天气","input_schema": {"type": "object","properties": {"city": {"type": "string"} } }}]# 模型调用response = model.messages.create( messages=[{"role": "user", "content": "北京和上海的天气"}], tools=tools)# 模型可能同时调用两个工具# tool_use_1: search_weather(city="北京")# tool_use_2: search_weather(city="上海")
选择建议:
- • 使用 OpenAI:Function Calling
- • 使用 Claude:Tool-Use
- • 需要并行调用:Tool-Use
- • 简单场景:两者都可以
四、多模态与部署篇(3题)
15|什么是多模态大模型?它的架构特点是什么?
参考答案:
多模态大模型(Multimodal Large Language Model) 是能够理解和处理多种模态(文本、图像、音频、视频等)信息的大模型。
核心能力:
- • 文本理解:理解自然语言
- • 图像理解:理解图像内容
- • 跨模态理解:理解文本和图像的关系
- • 多模态生成:根据一种模态生成另一种模态
架构特点:
-
- 多模态编码器
- • 文本编码器:Transformer Encoder(如 BERT)
- • 图像编码器:Vision Transformer(ViT)或 CNN
- • 音频编码器:音频 Transformer
- • 将不同模态转换为统一表示
-
- 模态对齐(Modality Alignment)
- • 将不同模态映射到同一语义空间
- • 使用对比学习(如 CLIP)对齐文本和图像
- • 让模型理解跨模态的语义关系
-
- 融合机制
- • 早期融合:在输入层融合
- • 晚期融合:在特征层融合
- • 交叉注意力:使用 Cross-Attention 融合
-
- 统一解码器
- • 使用 Transformer Decoder 生成文本
- • 可以生成图像描述、回答图像相关问题
典型架构:
-
- CLIP(Contrastive Language-Image Pre-training)
- • 文本编码器 + 图像编码器
- • 对比学习对齐两种模态
- • 应用:图像检索、零样本分类
-
- GPT-4V(Vision)
- • 图像编码器 + 文本编码器
- • 统一到 Transformer 架构
- • 应用:图像理解、视觉问答
-
- LLaVA(Large Language and Vision Assistant)
- • 图像编码器(CLIP) + 大语言模型(LLaMA)
- • 投影层连接两种模态
- • 应用:视觉对话、图像理解
训练方式:
-
- 预训练
- • 大规模多模态数据
- • 图像-文本对对比学习
- • 图像描述生成
-
- 指令微调
- • 多模态指令数据
- • 视觉问答、图像理解任务
应用场景:
- • 图像描述生成
- • 视觉问答
- • 图像检索
- • 多模态对话
挑战:
- • 模态对齐困难
- • 计算成本高
- • 需要大量多模态数据
16|大模型部署时需要考虑哪些因素?
参考答案:
大模型部署 是将训练好的模型部署到生产环境,需要考虑多个因素:
1. 性能优化
- • 推理速度
- • 使用量化(INT8/INT4)
- • 使用推理框架(vLLM、TensorRT)
- • 优化 KV Cache
- • 批处理优化
- • 延迟要求
- • 实时对话:< 1 秒
- • 批量处理:可以接受更长延迟
- • 根据场景调整优化策略
2. 资源管理
- • 显存优化
- • 模型量化
- • KV Cache 优化
- • 动态批处理
- • 计算资源
- • GPU 选择(A100、H100 等)
- • 多 GPU 部署
- • CPU 推理(量化模型)
3. 可扩展性
- • 水平扩展
- • 多实例部署
- • 负载均衡
- • 自动扩缩容
- • 垂直扩展
- • 使用更强的 GPU
- • 增加显存
4. 成本控制
- • 硬件成本
- • 选择合适的 GPU
- • 使用云服务还是自建
- • 运营成本
- • 电力消耗
- • 维护成本
5. 可靠性
- • 容错机制
- • 多实例备份
- • 故障自动切换
- • 健康检查
- • 监控告警
- • 性能监控
- • 错误监控
- • 资源使用监控
6. 安全性
- • 数据安全
- • 输入输出过滤
- • 防止注入攻击
- • 数据加密
- • 访问控制
- • API 密钥管理
- • 速率限制
- • 权限控制
7. 易用性
- • API 设计
- • RESTful API
- • 清晰的文档
- • 错误处理
- • SDK 支持
- • Python SDK
- • 其他语言 SDK
部署方案:
-
- 云端部署
- • AWS、Azure、GCP
- • 阿里云、腾讯云
- • 优点:灵活、易扩展
- • 缺点:成本较高
-
- 边缘部署
- • 本地服务器
- • 边缘设备
- • 优点:低延迟、数据安全
- • 缺点:资源有限
-
- 混合部署
- • 云端 + 边缘
- • 根据场景选择
推荐框架:
- • vLLM:高性能推理框架
- • TensorRT:NVIDIA 优化框架
- • ONNX Runtime:跨平台推理
- • Triton:模型服务框架
17|什么是模型量化?常见的量化方法有哪些?
参考答案:
模型量化(Quantization) 是将模型参数从高精度(如 FP32、FP16)转换为低精度(如 INT8、INT4)的技术,可以大幅减少模型大小和显存占用。
量化原理:
- • FP32:32 位浮点数,精度高但占用空间大
- • INT8:8 位整数,精度降低但占用空间减少 75%
- • 通过映射函数将浮点数映射到整数范围
量化公式:
Q = round((F - zero_point) / scale)其中:F:原始浮点数Q:量化后的整数scale:缩放因子zero_point:零点偏移
常见方法:
-
- 训练后量化(Post-Training Quantization)
- • 静态量化:使用校准集确定量化参数
- • 动态量化:运行时动态确定量化参数
- • 优点:不需要重新训练
- • 缺点:可能损失精度
-
- 量化感知训练(Quantization-Aware Training, QAT)
- • 训练时就考虑量化
- • 模拟量化过程,让模型适应量化
- • 优点:精度损失小
- • 缺点:需要重新训练
-
- 权重量化(Weight Quantization)
- • 只量化权重,激活值保持 FP16
- • 优点:简单、速度快
- • 缺点:显存减少有限
-
- 激活量化(Activation Quantization)
- • 量化激活值
- • 优点:显存大幅减少
- • 缺点:可能影响精度
-
- 全量化(Full Quantization)
- • 权重和激活值都量化
- • 优点:显存减少最多
- • 缺点:精度损失可能较大
量化位数:
- • INT8 量化
- • 显存减少 50%
- • 精度损失通常 < 5%
- • 最常用
- • INT4 量化
- • 显存减少 75%
- • 精度损失可能 5-10%
- • 需要特殊硬件支持
- • 混合精度
- • 关键层保持 FP16,其他层量化
- • 平衡精度和效率
量化工具:
- • GPTQ:训练后量化,效果好
- • AWQ:激活感知量化
- • LLM.int8():Hugging Face 的量化方法
- • TensorRT:NVIDIA 的量化工具
选择建议:
- • 追求极致速度:INT4 量化
- • 平衡精度和速度:INT8 量化
- • 精度要求高:量化感知训练
- • 快速部署:训练后量化
五、评估与评测篇(3题)
18|如何评估大模型的性能?常见的评估指标有哪些?
参考答案:
大模型评估 是衡量模型性能的关键,需要从多个维度评估:
1. 语言能力评估
- • 困惑度(Perplexity, PPL)
- • 衡量模型对文本的预测能力
- • 越低越好
- • 公式:
PPL = exp(cross_entropy)
- • BLEU 分数
- • 评估生成文本的质量
- • 比较生成文本和参考文本的 n-gram 重叠
- • 范围:0-1,越高越好
- • ROUGE 分数
- • 评估摘要质量
- • ROUGE-L:基于最长公共子序列
- • ROUGE-N:基于 n-gram 重叠
2. 任务特定评估
- • 分类任务
- • 准确率(Accuracy)
- • F1 分数
- • 精确率、召回率
- • 问答任务
- • EM(Exact Match):完全匹配率
- • F1:token 级别的 F1
- • BLEU:生成质量
- • 代码生成
- • Pass@K:K 个生成中至少一个通过测试的比例
- • 代码执行正确率
3. 综合评估基准
- • MMLU(Massive Multitask Language Understanding)
- • 57 个任务,涵盖多个领域
- • 评估模型的综合能力
- • HellaSwag
- • 常识推理任务
- • 评估模型的推理能力
- • HumanEval
- • 代码生成任务
- • 164 个编程问题
- • GSM8K
- • 数学问题求解
- • 评估模型的数学能力
4. 安全性评估
- • 毒性检测
- • 评估模型生成有害内容的比例
- • 使用 RealToxicityPrompts 等数据集
- • 偏见检测
- • 评估模型是否存在性别、种族等偏见
- • 使用 BOLD 等数据集
5. 效率评估
- • 推理速度
- • Tokens/秒
- • 延迟(Latency)
- • 资源占用
- • 显存占用
- • 模型大小
评估方法:
-
- 零样本评估(Zero-shot)
- • 不提供示例,直接评估
- • 评估模型的泛化能力
-
- 少样本评估(Few-shot)
- • 提供少量示例
- • 评估模型的上下文学习能力
-
- 微调后评估(Fine-tuned)
- • 在特定任务上微调后评估
- • 评估模型的适应能力
最佳实践:
- • 使用多个评估指标
- • 在多个数据集上评估
- • 考虑实际应用场景
- • 关注模型的弱点和优势
19|什么是数据泄露(Data Leakage)?如何避免?
参考答案:
数据泄露(Data Leakage) 是指测试集中的数据在训练时被模型看到,导致评估结果虚高,不能反映模型的真实性能。
类型:
-
- 直接泄露
- • 测试集数据直接出现在训练集
- • 例如:同一篇文章出现在训练和测试集
-
- 时间泄露
- • 未来数据出现在训练集
- • 例如:用 2024 年的数据训练,用 2023 年的数据测试
-
- 分布泄露
- • 训练集和测试集分布不一致
- • 例如:训练集是新闻,测试集是社交媒体
-
- 标签泄露
- • 测试标签信息泄露到训练集
- • 例如:测试集的答案出现在训练文本中
影响:
- • 评估结果虚高,不能反映真实性能
- • 模型可能过拟合到测试集
- • 部署到真实场景时性能下降
如何避免:
-
- 数据划分
- • 严格划分训练集、验证集、测试集
- • 测试集只在最终评估时使用
- • 使用时间顺序划分(时间序列数据)
-
- 去重处理
- • 检查训练集和测试集是否有重复
- • 使用去重工具(如 MinHash)
-
- 时间顺序
- • 时间序列数据按时间划分
- • 训练集时间 < 验证集时间 < 测试集时间
-
- 分布一致性
- • 确保训练集和测试集分布一致
- • 使用分层采样
-
- 交叉验证
- • 使用 K-fold 交叉验证
- • 多次划分,取平均结果
-
- 外部测试集
- • 使用完全独立的外部测试集
- • 例如:使用其他来源的数据
检测方法:
-
- 相似度检测
- • 计算训练集和测试集的相似度
- • 使用 TF-IDF、Embedding 等
-
- 性能异常
- • 如果测试集性能异常高,可能存在泄露
- • 对比验证集和测试集性能
-
- 人工检查
- • 随机抽样检查
- • 查找重复内容
最佳实践:
- • 数据划分要早,避免后续处理导致泄露
- • 使用版本控制管理数据集
- • 记录数据来源和处理过程
- • 定期检查数据质量
20|什么是 Chain-of-Thought(CoT)?它如何提升模型性能?
参考答案:
Chain-of-Thought(CoT,思维链) 是一种提示技术,通过引导模型展示推理过程来提升复杂推理任务的性能。
核心思想:
- • 传统方法:直接给出答案
- • CoT:先展示推理步骤,再给出答案
- • 让模型"思考"过程可见
示例:
传统提示:
问题:一个篮子里有 5 个苹果,吃掉 2 个,还剩几个?答案:3 个
CoT 提示:
问题:一个篮子里有 5 个苹果,吃掉 2 个,还剩几个?推理:1. 初始有 5 个苹果2. 吃掉 2 个,所以减少 2 个3. 剩余 = 5 - 2 = 3 个答案:3 个
为什么有效?
-
- 分解复杂问题
- • 将复杂问题分解为简单步骤
- • 每一步都更容易解决
-
- 减少错误
- • 展示推理过程,更容易发现错误
- • 可以逐步验证
-
- 利用模型能力
- • 大模型擅长逐步推理
- • CoT 激活了这种能力
类型:
-
- Zero-shot CoT
- • 直接要求模型展示推理过程
- • 提示:“让我们一步步思考”
-
- Few-shot CoT
- • 提供几个 CoT 示例
- • 模型学习推理模式
-
- Self-Consistency
- • 生成多个推理路径
- • 选择最一致的答案
应用场景:
- • 数学问题求解
- • 逻辑推理
- • 常识推理
- • 复杂问答
效果:
- • 在数学问题上提升 20-50%
- • 在逻辑推理上提升 10-30%
- • 在复杂任务上效果显著
进阶技术:
-
- Tree of Thoughts
- • 探索多个推理路径
- • 选择最佳路径
-
- ReAct
- • 结合推理和行动
- • 动态调整策略
-
- Self-Correct
- • 模型自我纠正
- • 发现并修正错误
最佳实践:
- • 根据任务复杂度选择 CoT 类型
- • 提供清晰的推理示例
- • 鼓励模型展示完整推理过程
- • 验证推理步骤的正确性
总结
这 20 道面试题(第二辑)涵盖了大模型的不同维度:
✅ 模型架构:GPT vs BERT、MoE、GQA、RMSNorm、SwiGLU 等
✅ 训练技巧:梯度累积、学习率调度、标签平滑、Dropout、梯度裁剪等
✅ Agent 技术:AI Agent、ReAct、Function Calling、Tool-Use 等
✅ 多模态与部署:多模态模型、部署考虑、模型量化等
✅ 评估与评测:性能评估、数据泄露、Chain-of-Thought 等
学习建议:
-
- 结合第一辑和第二辑,全面掌握大模型知识
-
- 理解每个技术的原理和应用场景
-
- 关注最新研究进展(如 MoE、GQA 等新架构)
-
- 动手实践,加深理解
推荐资源:
- • 论文:GPT、BERT、LLaMA、MoE 等经典论文
- • 开源项目:LangChain、vLLM、LLaMA 等
- • 实践:实现简单的 Agent、RAG 系统等
想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!
👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势
想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:
1. 100+本大模型方向电子书

2. 26 份行业研究报告:覆盖多领域实践与趋势
报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:
- 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
- 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
- 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
- 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。
3. 600+套技术大会 PPT:听行业大咖讲实战
PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

- 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
- 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
- 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
- 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。
二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走
想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位
面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点
针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题
专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:

三、路线必明: AI 大模型学习路线图,1 张图理清核心内容
刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代
L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊
L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计
L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】

四、资料领取:全套内容免费抱走,学 AI 不用再找第二份
不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:
👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!
更多推荐


所有评论(0)