LLM 相关面试问题及详解

1. 请简述 Transformer 模型的基本结构和工作原理。

  • 编码器-解码器架构(Encoder-Decoder Architecture)
    • 编码器(Encoder):处理输入序列
    • 解码器(Decoder):生成输出序列
  • 自注意力机制(Self-Attention Mechanism):允许模型关注输入序列的不同部分
  • 多头注意力(Multi-Head Attention):并行计算多个注意力头
  • 前馈神经网络(Feed-Forward Neural Network):在注意力层之后应用
  • 残差连接(Residual Connections)层归一化(Layer Normalization):促进梯度流动,稳定训练
  • 位置编码(Positional Encoding):为模型提供序列中元素位置信息

2. 什么是自注意力机制(Self-Attention Mechanism),它在大模型中起到了什么作用?

  • 定义:允许模型在处理序列数据时,考虑序列中所有位置之间关系的机制
  • 核心组成
    • 查询(Query)键(Key)值(Value)向量
  • 作用
    • 捕捉长距离依赖(Long-range Dependencies)
    • 并行计算(Parallel Computation)
    • 动态关注(Dynamic Attention)
    • 增强表示能力(Enhanced Representation)

3. 自注意力机制为什么能提升并行化计算?

  • 独立计算:每个位置的注意力分数可以同时计算
  • 矩阵运算:可以利用 GPU 进行高效的并行矩阵乘法
  • 无序列依赖:不像 RNN,不需要等待前一个时间步的计算结果
  • 批处理友好:可以同时处理多个序列

4. 编码器-解码器注意力层(Encoder-Decoder Attention)工作原理与作用是什么?

  • 工作原理
    • 解码器的查询(Query)与编码器的键(Key)和值(Value)交互
    • 允许解码器访问输入序列的完整信息
  • 作用
    • 建立输入和输出之间的联系
    • 使解码器能够根据输入信息生成相关输出
    • 在翻译等任务中尤为重要,允许模型对齐源语言和目标语言

5. 在 Encoder-Decoder 注意力层中,如何确保 Decoder 准确捕捉输入的关键信息?

  • 多头注意力机制(Multi-Head Attention):从不同角度关注输入信息
  • 注意力权重学习:通过训练学习最相关的输入部分
  • 残差连接(Residual Connections):保留原始信息,防止信息丢失
  • 层归一化(Layer Normalization):稳定注意力层的输出
  • 掩码(Masking):在解码过程中防止看到未来信息

6. 多头自注意力机制(MHSA)的优势是什么?多头的数量如何影响模型性能?

  • 优势
    • 捕捉多种类型的依赖关系
    • 增强模型的表示能力
    • 提高模型的鲁棒性
  • 多头数量的影响
    • 增加头数可以提升性能,但存在diminishing returns
    • 过多的头数可能导致过拟合和计算开销增加
    • 最佳头数通常通过实验确定,常见值为 8 或 16

7. BERT 和 GPT 的主要区别及预训练模型的挑战与选择是什么?

  • 主要区别
    • BERT:双向编码器,使用掩码语言模型(Masked Language Model)
    • GPT:单向自回归模型,使用自回归语言建模
  • 预训练模型的挑战
    • 计算资源需求大
    • 需要大量高质量数据
    • 模型大小与效率平衡
    • 领域适应性问题
  • 选择考虑因素
    • 任务类型(理解vs生成)
    • 可用计算资源
    • 数据相似性
    • 微调难度
    • 推理速度要求

8. 为什么 Transformer 比 RNN 更适合处理长距离依赖?

  • 并行计算:Transformer 可以并行处理整个序列
  • 直接连接:自注意力机制允许直接计算任意两个位置之间的关系
  • 无梯度消失/爆炸:不存在 RNN 中的长期依赖问题
  • 多头注意力:可以同时关注多个方面的信息
  • 位置编码:明确编码位置信息,不依赖序列顺序传递

9. 微调(Fine-Tuning)和迁移学习(Transfer Learning)的区别及应用场景是什么?

  • 微调(Fine-Tuning)
    • 在预训练模型基础上进行进一步训练
    • 适用于数据量较大的任务
    • 可以调整所有层的权重
  • 迁移学习(Transfer Learning)
    • 将预训练模型的知识应用到新任务
    • 适用于数据量较少的任务
    • 通常只训练最后几层或添加新层
  • 应用场景
    • 微调:领域特定任务,如情感分析、命名实体识别
    • 迁移学习:跨领域任务,资源受限场景