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可以大幅减少计算量,提高推理速度,同时保持注意力机制的有效性。

### 大型语言模型基础面试问题 #### 定义与基本概念 大型语言模型(Large Language Model, LLM)是指那些参数量巨大、训练数据集庞大且能够执行多种自然语言处理任务的人工智能模型。这些模型通过大量的文本数据进行预训练,从而具备了一定的语言理解和生成能力[^1]。 ```python class LargeLanguageModel: def __init__(self, parameters_count, training_data_size): self.parameters_count = parameters_count self.training_data_size = training_data_size def generate_text(self, prompt): # Generate text based on the given prompt using trained parameters and data. pass ``` #### 架构特点与发展历程 LLM的发展经历了四个主要阶段:早期探索期、技术突破期、性能提升期以及应用拓展期。随着计算资源的增长和技术的进步,LLM逐渐从简单的神经网络演变为复杂的多层结构,并实现了前所未有的大规模并行化训练方式。 #### 关键差异对比 相比于传统的预训练语言模型(Pre-trained Language Model, PLM),LLM具有三个显著的不同之处: - **规模上的飞跃**:拥有更多的参数数量; - **更强的数据适应性**:可以更好地利用未标注的大规模语料库; - **更广泛的下游应用场景**:不仅限于特定的任务领域,而是能够在多个方面展现出强大的泛化能力和迁移学习效果。 #### 数据获取与管理策略 对于构建高质量的LLM而言,确保充足而优质的输入数据至关重要。这通常涉及到制定清晰的数据可用性声明和选择合适的数据存储解决方案来保存海量的历史对话记录或其他形式的文字材料[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值