LLM面试问题

Transformer的原理与历史

1. Transformer的原理

Transformer是一种深度学习模型,由Vaswani等人在2017年的论文《Attention Is All You Need》中提出。其核心思想是通过自注意力(Self-Attention)机制处理序列数据,而不依赖于循环神经网络(RNN)或卷积神经网络(CNN)。

Transformer主要由以下几个部分组成:

  • 输入嵌入(Input Embedding):将输入序列转换为固定维度的向量表示。
  • 位置编码(Positional Encoding):因为Transformer没有循环结构,因此需要添加位置编码来表示单词的顺序。
  • 自注意力(Self-Attention):计算每个词对序列中所有其他词的重要性,生成新的表示。
  • 多头注意力(Multi-Head Attention):多个独立的注意力头并行计算,从不同角度提取信息。
  • 前馈神经网络(Feed-Forward Network, FFN):对每个注意力计算后的向量进行进一步的非线性变换。
  • 归一化与残差连接(Layer Normalization & Residual Connection):稳定训练并加速收敛。
  • 输出层:通过Softmax生成最终的预测。
自注意力的公式

自注意力的计算可以表示为:

其中:

  • QQ(Query):查询矩阵
  • KK(Key):键矩阵
  • VV(Value):值矩阵
  • dkd_k:注意力维度

2. Transformer的发展历史

  • 2017年:Transformer模型提出,突破了RNN在长距离依赖问题上的限制。
  • 2018年:BERT(Bidirectional Encoder Representations from Transformers)发布,首次采用双向Transformer编码器,提高了NLP任务的性能。
  • 2019年:GPT-2(Generative Pre-trained Transformer 2)发布,展示了大规模自回归语言模型的强大生成能力。
  • 2020年:T5(Text-To-Text Transfer Transformer)和GPT-3发布,推动NLP迈向大规模预训练时代。
  • 2021年至今:更大规模的模型(如GPT-4、PaLM、LLaMA等)不断涌现,Transformer在多模态、代码生成、医疗等领域拓展。

Transformer的QKV机制

在自注意力机制中,每个输入向量都会通过三个权重矩阵变换成查询(Query, Q)键(Key, K)和值(Value, V)

其中 XX 是输入序列的表示,WQ,WK,WVW_Q, W_K, W_V 是可训练的权重矩阵。

自注意力计算基于 Q 和 K 之间的点积相似度来决定每个词的重要性,最终结合 V 生成输出。

Transformer的Mask类型

Transformer通常使用三种Mask:

  1. Padding Mask:用于掩盖填充(padding)位置,确保模型不会将填充的0值误认为有效信息。
  2. Look-Ahead Mask(或Causal Mask):用于自回归任务(如GPT),保证每个位置只能看到之前的单词,而不会看到未来的信息。
  3. Attention Mask:用于限制某些特定单词之间的注意力(如T5中不同任务的指定注意力模式)。

BERT和GPT的区别

特性

BERT

GPT

结构

仅使用Transformer的编码器(Encoder)

仅使用Transformer的解码器(Decoder)

训练方式

双向(Bidirectional)

自回归(Autoregressive)

目标任务

掩码语言模型(Masked Language Model, MLM)

语言建模(Language Modeling, LM)

输入

整个句子(可看见左、右两侧)

逐词生成(只能看到左侧上下文)

适用任务

适合理解任务(如文本分类、阅读理解)

适合生成任务(如文本生成、对话)

是否可以用BERT替换Transformer

BERT本质上是Transformer的一个变体(专注于Encoder部分),如果目标任务需要一个完整的Transformer架构(Encoder-Decoder或Decoder-only),直接替换可能会导致架构上的不匹配。例如:

  • 在大模型(如T5、GPT)中,直接用BERT替换Transformer是不现实的,因为BERT缺乏解码器部分,无法执行生成任务。
  • 但如果是在Encoder部分使用BERT(如BART、T5的Encoder),则是可行的。

GQA和自注意力机制的差别

GQA(Grouped Query Attention) 是一种优化自注意力计算的方法,主要用于大规模模型,以减少计算复杂度。其主要区别在于:

  • 传统自注意力(Self-Attention):每个查询(Q)都会与所有键(K)进行点积计算,计算复杂度为

  • GQA:多个查询可以共享同一组键值(K, V),从而减少计算量,使得计算复杂度降低到 O(n) 级别。

千问1.5等大模型中,GQA可以大幅减少计算量,提高推理速度,同时保持注意力机制的有效性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值