文章目录
- 知识回顾
- GPT-3的自回归架构
- 何为自回归架构
- 为什么架构会影响任务表现
- 自回归架构的局限性
- 与双向模型的对比
- 小结
- 为何无需梯度更新和微调
- 为什么不需要
- 怎么做到不需要
🍃作者介绍:双非本科大四网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发,目前开始人工智能领域相关知识的学习
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹
知识回顾
如果对GPT-3的原理不清楚的,可以看我这篇解读GPT-3论文的文章:
《速通GPT-3:Language Models are Few-Shot Learners全文解读》:
https://blog.csdn.net/qq_60735796/article/details/141996726
GPT-3的自回归架构
GPT-3 的架构是基于 自回归语言模型(autoregressive model),具体来说,GPT-3 是基于 Transformer 架构的 Decoder 部分。这意味着它在生成文本时是逐步生成的,也就是说,它只使用已经生成的前文来预测下一个词,而不是像双向模型那样能够同时利用上下文信息。
何为自回归架构
GPT-3 使用的是自回归语言模型的架构。
简单来说,它是一种 从左到右 的生成模式,在预测下一个词时,只依赖已经生成的前面的词。
自回归的特点是,模型只关注已生成的上下文,而不会参考未来的词(即右边的上下文)。
GPT-3 的架构由 Transformer Decoder 组成,这种模型通过前一部分的生成信息来逐步生成文本。
具体来说:
- 每次生成一个词:自回归模型是根据当前的上下文预测下一个词,然后把它作为新的上下文的一部分,继续预测下一个词。
- 单向模型:由于它是单向的,GPT-3 无法“看未来”,即在预测某个词时,它不会参考后面的词,只能依赖前面已经生成的内容。
为什么架构会影响任务表现
GPT-3 的自回归架构限制了它在一些需要整体理解上下文的任务中的表现。
这是因为自回归模型只能从左到右逐词处理信息,而不能像双向模型那样能够同时考虑句子或段落的前后文信息。
自回归架构的局限性
架构的局限性主要表现在以下几个方面:
- 缺乏双向性:自回归模型在生成下一个词时,不能参考未来的词(即它只能“向前看”),这使得它在处理需要前后对比、结合长篇段落信息的任务时表现较差。
- 比如在 WiC(Word-in-Context) 任务中,需要判断一个词在两个句子中的意思是否相同,这要求模型能够同时关注两个句子的语境。由于 GPT-3 是单向的,它无法很好地进行这种语义比较。
- 缺乏全局一致性:自回归模型可能生成局部连贯的内容,但随着生成内容的长度增加,它容易失去全局一致性。这就是为什么 GPT-3 在生成长文本时有时会失去连贯性,甚至出现自相矛盾的情况。
- 不适合某些推理任务:像 ANLI(Adversarial NLI)这样的推理任务需要对两个句子的关系进行推理,比如判断一个句子是否暗示另一个句子。这类任务需要模型能在同一时间段内处理多个段落的信息,而 GPT-3 由于其单向生成的限制,难以在没有未来上下文的情况下很好地完成此类任务。
与双向模型的对比
与 GPT-3 的自回归架构不同,像 BERT 这样的双向模型可以同时考虑句子的前后文信息,因此在许多 NLP 任务中表现优越,特别是涉及上下文比较和推理的任务。
- 双向模型 可以在一次性处理整个句子时,参考句子的前后信息,这使它在需要整体理解的任务中表现出色,比如阅读理解和句子比较。
- 去噪目标(如 BERT 的训练方式)允许模型更好地从上下文中捕捉到全局信息,提升在特定任务上的表现。
小结
GPT-3 使用自回归架构使它擅长生成任务,但在一些依赖于前后文关系的任务中,它的单向性限制了它的表现。这就是为什么 GPT-3 在某些任务中不如双向模型(如 BERT),因为它无法同时利用前后文信息来进行更复杂的推理和语义比较。
为何无需梯度更新和微调
作者训练了 GPT-3,这是一种自回归语言模型(autoregressive language model),拥有 1750 亿 个参数。这个模型的参数数量是之前任何非稀疏语言模型的 10 倍。接着,作者测试了 GPT-3 在 few-shot 学习环境下的表现,也就是说,模型在不进行梯度更新和微调的情况下,仅通过提供少量示例来完成任务。
为什么不需要
GPT-3 的设计使得它在执行任务时,不需要像传统方法那样进行 梯度更新(gradient updates) 和 微调(fine-tuning)。
这个特性在论文中被称为 “in-context learning”。也就是说,GPT-3 只需要通过上下文信息(在推理时的文本输入)来学习和完成任务,而不是通过修改模型参数(即梯度更新)的方式。
论文对这一点的解释如下:
原文引用:
“For all tasks, GPT-3 is applied without any gradient updates or fine-tuning, with tasks and few-shot demonstrations specified purely via text interaction with the model.”
解释
:
对于所有任务,GPT-3 在不进行任何梯度更新或微调的情况下使用,仅通过文本交互(即通过自然语言任务描述和少量示例)来指定任务和演示。
这意味着
,GPT-3 能够通过给定的文本信息直接完成任务,而不需要修改其内部的参数。
怎么做到不需要
原因在于 GPT-3 是通过 大量预训练 实现的。
在预训练阶段,它接触了大量的文本数据,学会了大量的语言模式和任务结构。
因此,在实际推理时,GPT-3 不需要像传统的机器学习模型那样对特定任务进行再训练或微调,它可以通过上下文中的少量示例来推断出任务的要求。
这种能力与其庞大的参数量(1750 亿参数)直接相关
,这使得它能够泛化并在多个任务中表现良好。
这在论文中被称为 “meta-learning” 或 “in-context learning”,即模型在预训练过程中已经学到了大量的任务模式,推理时无需再修改模型的权重就能执行不同的任务。