Skip to content

GPT系列演进与经验总结

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. GPT源码中 past_key_value 的作用是什么?

在 GPT(Generative Pre-trained Transformer)中,past_key_value 是用于存储先前层的注意力权重的结构。在进行推理时,过去的注意力权重可以被重复使用,避免重复计算,从而提高推理效率。

核心价值:通过缓存历史注意力权重,实现增量推理(K-V Cache),大幅减少自回归生成时的重复计算开销。

2. GPT One-by-One 每一层如何输入输出?

在 GPT One-by-One(逐 token 生成)模式中,每一层的输入是上一层的输出。具体流程如下:

  1. 输入:一个序列的嵌入表示(通常是词嵌入)
  2. 处理:通过自注意力机制(Self-Attention)和前馈神经网络(FFN)进行处理
  3. 输出:得到输出序列的表示,传递给下一层

3. BERT 和 GPT 有什么区别?

对比维度BERTGPT
全称Bidirectional Encoder Representations from TransformersGenerative Pre-trained Transformer
架构类型双向编码器单向解码器
预训练目标预测输入序列中的缺失部分(MLM)生成文本的下一个单词(LM)
适用任务文本分类、命名实体识别等理解型任务文本生成、对话生成等生成型任务
注意力方向双向注意力单向(因果)注意力

4. 文本生成的几大预训练任务有哪些?

模型全称核心特点
GPT系列Generative Pre-trained Transformer使用 Transformer 架构在大规模语料上学习语言模型,能够生成连贯、具有语义的文本
BARTBidirectional and Auto-Regressive Transformer基于自回归解码器实现文本生成,通过自编码器预训练目标重构输入文本
T5Text-to-Text Transfer Transformer将不同 NLP 任务统一为文本到文本的转换任务,采用编码器-解码器结构
XLNet-采用自回归和自编码器的组合方式训练,引入全局上下文信息
UniLMUnified Language Model多任务学习预训练模型,将不同 NLP 任务转化为统一的生成式任务

5. T5 和 BART 的区别是什么?BART 的 DAE 任务是什么?

T5 vs BART 对比

对比维度T5BART
通用性更加通用,适用于多种 NLP 任务的文本转换更专注于生成式任务
优化方向统一文本到文本框架在生成文本的质量和连贯性上有所优化
结构编码器-解码器编码器-解码器(基于 T5 变种)

BART 的 DAE(Denoising AutoEncoder)任务

DAE 是 BART 模型的一种预训练目标:

  • 核心思想:要求模型从输入的有噪声文本中恢复原始的无噪声文本
  • 训练过程:向输入文本中添加噪声,要求模型重建无噪声文本
  • 学习效果:使 BART 学习到更好的文本表示和重构能力,从而提高生成文本的质量和准确性

6. BART 和 BERT 的区别是什么?

对比维度BARTBERT
侧重方向生成式任务和文本生成上下文表示和语境理解
架构自回归解码器 + 自编码器预训练双向 Transformer 编码器
应用场景文本生成、摘要生成、对话系统词嵌入、文本分类、命名实体识别
信息融合方式通过自编码器预训练目标重构输入文本将上下文信息融合到表示中

总结:BART 侧重于生成式任务和文本生成,而 BERT 侧重于上下文表示和语境理解。

7. GPT-3 和 GPT-2 的区别是什么?

对比维度GPT-2GPT-3
参数规模15亿参数1750亿参数
任务表现基础自然语言处理在 NLP 任务上表现更优,能生成更连贯、更具逻辑性的文本
零样本学习不支持支持零样本学习(Zero-shot Learning)
文本生成长度有一定限制能力更强大,可生成更长的文本
计算资源相对较低需要更高的计算资源和成本