跳转至

06 - 大模型基础理论面试题

⚠️ 时效性说明:本章涉及前沿模型/价格/榜单等信息,可能随版本快速变化;请以论文原文、官方发布页和 API 文档为准。

Transformer 、预训练、微调等核心理论

📖 章节概述

本章将整理大模型基础理论相关的面试题,包括 Transformer 架构、预训练方法、微调技术等内容。

🎯 学习目标

完成本章后,你将能够:

  • 掌握大模型的核心理论
  • 熟悉常见的面试题型
  • 理解 Transformer 架构
  • 了解预训练和微调方法

1. Transformer 架构

Q1: Transformer 的核心组件是什么

解答: Transformer 的核心组件包括:

  1. 自注意力机制( Self-Attention ):计算序列中每个位置与其他所有位置的关系
  2. 多头注意力( Multi-Head Attention ):并行计算多个注意力,捕获不同的特征
  3. 位置编码( Positional Encoding ):为序列添加位置信息
  4. 前馈网络( Feed-Forward Network ):对每个位置独立应用非线性变换
  5. 残差连接( Residual Connection ):缓解梯度消失问题
  6. 层归一化( Layer Normalization ):稳定训练过程

Q2: 自注意力机制是如何工作的

解答: 自注意力机制的工作步骤:

  1. 计算 Q 、 K 、 V:通过线性变换得到查询( Q )、键( K )、值( V )
  2. 计算注意力分数: Q 和 K 的点积
  3. 缩放:除以√d_k (控制点积方差,避免 softmax 过于尖锐)
  4. Softmax 归一化:得到注意力权重
  5. 加权求和:用注意力权重对 V 进行加权求和

公式

Text Only
Attention(Q, K, V) = softmax(QK^T / √d_k) V

Q3: 位置编码有哪些类型

解答: 常见的位置编码类型:

  1. 绝对位置编码
  2. 正弦/余弦位置编码(原始 Transformer )
  3. 可学习的位置嵌入

  4. 相对位置编码

  5. T5 Bias
  6. Transformer-XL

  7. 旋转位置编码( RoPE )

  8. 近年在大语言模型中较常见
  9. 通过旋转矩阵编码位置信息

  10. ALiBi ( Attention with Linear Biases )

  11. 通过线性偏置编码相对位置

2. 预训练

Q4: 什么是预训练?为什么需要预训练

解答: 预训练是在大规模数据上训练模型,学习通用的语言表示。

需要预训练的原因: 1. 数据效率:大规模数据学习更有效的表示 2. 知识迁移:学习到的知识可以迁移到下游任务 3. 泛化能力:提高模型的泛化能力 4. 加速收敛:下游任务训练更快收敛

Q5: 常见的预训练目标有哪些

解答: 常见的预训练目标:

  1. MLM ( Masked Language Modeling )
  2. BERT 使用
  3. 随机 mask 部分 token ,预测被 mask 的 token

  4. CLM ( Causal Language Modeling )

  5. GPT 使用
  6. 自回归预测下一个 token

  7. NSP ( Next Sentence Prediction )

  8. BERT 使用
  9. 预测两个句子是否连续

  10. Span Prediction

  11. T5 使用
  12. 预测被 mask 的 span

  13. Denoising Autoencoding

  14. BART 使用
  15. 去噪自编码

Q6: 什么是 Scaling Law

解答: Scaling Law 描述了模型性能与模型大小、数据量、计算资源之间的关系。

主要发现: 1. 模型性能与模型大小呈幂律关系 2. 模型性能与数据量呈幂律关系 3. 模型性能与计算量呈幂律关系 4. 三者之间存在权衡关系

公式

Text Only
L(N, D) = A · N^(-α) + B · D^(-β) + E

其中 N 是模型参数量, D 是数据量, E 是不可约损失(自然语言固有的熵), A 、 B 、α、β为拟合常数。计算量 C ≈ 6ND ,与 N 、 D 不独立,不作为联合公式中的独立变量。

3. 微调

Q7: 什么是微调?微调有哪些方法

解答: 微调是在预训练模型基础上,使用特定任务的数据进行训练。

微调方法: 1. 全量微调( Full Fine-tuning ): - 更新所有参数 - 需要大量数据和计算资源

  1. 部分微调( Partial Fine-tuning )
  2. 只更新部分层
  3. 减少计算量

  4. 参数高效微调( PEFT )

  5. LoRA ( Low-Rank Adaptation )
  6. Adapter
  7. Prefix Tuning
  8. Prompt Tuning

Q8: LoRA 的原理是什么

解答: LoRA 通过低秩分解来减少可训练参数。

核心思想: - 假设权重更新ΔW 是低秩的 - ΔW = BA ,其中 B 和 A 是低秩矩阵 - 只训练 B 和 A ,参数量大幅减少

公式

Text Only
W' = W + ΔW = W + BA

优势: - 参数量少(通常<1%) - 不增加推理开销 - 可以合并到原始权重

Q9: QLoRA 相比 LoRA 有什么改进

解答: QLoRA ( Quantized LoRA )相比 LoRA 的改进:

  1. 量化基础模型:将基础模型量化到 4 位
  2. 低秩适配器:使用 LoRA 进行微调
  3. 显存大幅降低:显存需求降低约 75%

优势: - 可以在消费级 GPU 上微调大模型 - 精度损失小 - 推理速度不受影响

4. 练习题

基础练习

  1. 实现自注意力
Python
# 练习: 实现自注意力机制
def self_attention(Q, K, V):
    # 你的代码
    pass
  1. 实现位置编码
Python
# 练习: 实现正弦位置编码
def positional_encoding(seq_len, d_model):
    # 你的代码
    pass

进阶练习

  1. 实现 LoRA
Python
# 练习: 实现LoRA
class LoRALayer(nn.Module):
    def __init__(self, in_features, out_features, rank=8):
        # 你的代码
        pass

    def forward(self, x):
        # 你的代码
        pass
  1. 实现 MLM 预训练
Python
# 练习: 实现MLM预训练
class MLMPretraining(nn.Module):
    def __init__(self, model):
        # 你的代码
        pass

    def forward(self, input_ids, attention_mask, labels):
        # 你的代码
        pass

5. 答题建议

✅ 面试技巧

  1. 理解核心概念
  2. 深入理解 Transformer 架构
  3. 掌握预训练和微调方法
  4. 了解代表性研究方向与工程权衡

  5. 准备代码示例

  6. 准备关键算法的实现
  7. 理解代码细节
  8. 能够解释代码

  9. 结合实际项目

  10. 将理论与项目经验结合
  11. 举例说明应用场景
  12. 展示实践经验

❌ 避免做法

  1. 死记硬背
  2. 理解核心原理
  3. 掌握关键公式
  4. 能够灵活应用

  5. 忽视细节

  6. 注意技术细节
  7. 理解设计决策
  8. 了解权衡取舍

  9. 缺乏实践

  10. 结合实际项目
  11. 展示应用能力
  12. 分享经验教训

6. 总结

本章介绍了大模型基础理论的面试题:

  • Transformer 架构: 自注意力、多头注意力、位置编码
  • 预训练: MLM 、 CLM 、 Scaling Law
  • 微调: 全量微调、 LoRA 、 QLoRA

掌握这些理论知识是面试的基础。

7. 下一步

继续学习07-Transformer 架构面试题,深入了解 Transformer 架构的细节。


⚠️ 核验说明(2026-04-03):本页已完成 2026-04-03 人工复核。自注意力、Scaling Law、LoRA/QLoRA 等表述已按更稳妥的数学和工程口径收紧;若面试追问到具体模型版本或论文数字,应回到原论文与官方实现。

最后更新日期: 2026-04-03