外观
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 生成)模式中,每一层的输入是上一层的输出。具体流程如下:
- 输入:一个序列的嵌入表示(通常是词嵌入)
- 处理:通过自注意力机制(Self-Attention)和前馈神经网络(FFN)进行处理
- 输出:得到输出序列的表示,传递给下一层
3. BERT 和 GPT 有什么区别?
| 对比维度 | BERT | GPT |
|---|---|---|
| 全称 | Bidirectional Encoder Representations from Transformers | Generative Pre-trained Transformer |
| 架构类型 | 双向编码器 | 单向解码器 |
| 预训练目标 | 预测输入序列中的缺失部分(MLM) | 生成文本的下一个单词(LM) |
| 适用任务 | 文本分类、命名实体识别等理解型任务 | 文本生成、对话生成等生成型任务 |
| 注意力方向 | 双向注意力 | 单向(因果)注意力 |
4. 文本生成的几大预训练任务有哪些?
| 模型 | 全称 | 核心特点 |
|---|---|---|
| GPT系列 | Generative Pre-trained Transformer | 使用 Transformer 架构在大规模语料上学习语言模型,能够生成连贯、具有语义的文本 |
| BART | Bidirectional and Auto-Regressive Transformer | 基于自回归解码器实现文本生成,通过自编码器预训练目标重构输入文本 |
| T5 | Text-to-Text Transfer Transformer | 将不同 NLP 任务统一为文本到文本的转换任务,采用编码器-解码器结构 |
| XLNet | - | 采用自回归和自编码器的组合方式训练,引入全局上下文信息 |
| UniLM | Unified Language Model | 多任务学习预训练模型,将不同 NLP 任务转化为统一的生成式任务 |
5. T5 和 BART 的区别是什么?BART 的 DAE 任务是什么?
T5 vs BART 对比
| 对比维度 | T5 | BART |
|---|---|---|
| 通用性 | 更加通用,适用于多种 NLP 任务的文本转换 | 更专注于生成式任务 |
| 优化方向 | 统一文本到文本框架 | 在生成文本的质量和连贯性上有所优化 |
| 结构 | 编码器-解码器 | 编码器-解码器(基于 T5 变种) |
BART 的 DAE(Denoising AutoEncoder)任务
DAE 是 BART 模型的一种预训练目标:
- 核心思想:要求模型从输入的有噪声文本中恢复原始的无噪声文本
- 训练过程:向输入文本中添加噪声,要求模型重建无噪声文本
- 学习效果:使 BART 学习到更好的文本表示和重构能力,从而提高生成文本的质量和准确性
6. BART 和 BERT 的区别是什么?
| 对比维度 | BART | BERT |
|---|---|---|
| 侧重方向 | 生成式任务和文本生成 | 上下文表示和语境理解 |
| 架构 | 自回归解码器 + 自编码器预训练 | 双向 Transformer 编码器 |
| 应用场景 | 文本生成、摘要生成、对话系统 | 词嵌入、文本分类、命名实体识别 |
| 信息融合方式 | 通过自编码器预训练目标重构输入文本 | 将上下文信息融合到表示中 |
总结:BART 侧重于生成式任务和文本生成,而 BERT 侧重于上下文表示和语境理解。
7. GPT-3 和 GPT-2 的区别是什么?
| 对比维度 | GPT-2 | GPT-3 |
|---|---|---|
| 参数规模 | 15亿参数 | 1750亿参数 |
| 任务表现 | 基础自然语言处理 | 在 NLP 任务上表现更优,能生成更连贯、更具逻辑性的文本 |
| 零样本学习 | 不支持 | 支持零样本学习(Zero-shot Learning) |
| 文本生成长度 | 有一定限制 | 能力更强大,可生成更长的文本 |
| 计算资源 | 相对较低 | 需要更高的计算资源和成本 |