57、探索BERT与GPT-2:自然语言处理的强大工具

探索BERT与GPT-2:自然语言处理的强大工具

在自然语言处理(NLP)领域,Transformer架构的出现带来了重大变革。不过,Transformer存在一个缺点,即注意力层所需的内存会随着输入大小的增加而急剧增长。不过,我们可以调整注意力机制和Transformer,以在不同情况下降低成本。

1. Transformer基础架构

完整的Transformer模型由编码器和解码器组成。编码器负责分析输入文本,创建一系列描述它的上下文向量;解码器则利用这些信息自回归地生成输入的翻译。编码器和解码器的组成模块并非专门用于翻译,它们由一个或多个注意力层,后跟一对1×1卷积组成。这些模块可作为通用处理器,用于处理序列元素之间的关系,尤其在语言处理方面表现出色。

2. BERT模型

BERT,即“Bidirectional Encoder Representations from Transformers”,是一种通用语言模型。它的结构始于词嵌入器和位置嵌入器,随后是多个Transformer编码器块。

BERT基本结构

原始的“大型”BERT版本有3.4亿个权重或参数,它在维基百科和超过10000本书籍上进行训练。目前,有24个预训练版本的原始BERT系统可在网上免费获取,同时还有许多基于其基本方法的变体和改进版本。

BERT在两项任务上进行训练:
- 下一句预测(NSP) :给BERT同时输入两句话(用特殊标记分隔),让它判断第二句话是否合理地跟随第一句话。
- 填空任务 :给BERT输入一些部分单词被移除的句子,让它填补空白。

与之前基于RNN的方法相比,BERT的注意力层能从输入中提取更多信息。RNN模型最初是单向的,后来发展为双向,而BERT可以说是“深度双向”的,因为它能同时考虑每个单词,确定每个单词对其他单词的影响。

下面我们通过实际例子看看BERT的表现:
- 语法判断任务 :使用一个包含12个编码器块的预训练BERT模型,微调它以判断输入句子是否语法正确。经过四个训练周期后,在约1000个句子的测试集上,这个小版本的BERT正确率约为82%,一些BERT变体在该任务上的正确率超过88%。
| 句子 | 语法判断结果 |
| — | — |
| Chris walks, Pat eats broccoli, and Sandy plays squash. | 正确 |
| There was some particular dog who saved every family. | 正确 |
| Susan frightens her. | 正确 |
| The person confessed responsible. | 错误 |
| The cat slept soundly and furry. | 错误 |
| The soundly and furry cat slept. | 错误 |

  • 情感分析任务 :使用预训练的DistillBERT模型对约7000条电影评论进行情感分类。在测试集的1730条评论中,DistillBERT正确预测了约82%的评论情感。
    | 评论 | 情感分类结果 |
    | — | — |
    | a beautiful, entertaining two hours | 积极 |
    | this is a shrewd and effective film from a director who understands how to create and sustain a mood | 积极 |
    | a thoroughly engaging, surprisingly touching british comedy | 积极 |
    | the movie slides downhill as soon as macho action conventions assert themselves | 消极 |
    | a zombie movie in every sense of the word mindless, lifeless, meandering, loud, painful, obnoxious | 消极 |
    | it is that rare combination of bad writing, bad direction and bad acting the trifecta of badness | 消极 |
3. GPT - 2模型

GPT - 2使用一系列解码器块来生成新文本。由于没有编码器阶段来接收KV值,它从每个解码器块中移除了Q/KV多头注意力层,只保留了掩码自注意力和一对1×1卷积。

GPT - 2架构

原始的GPT - 2模型有多种不同大小,最大的版本每次处理512个标记,通过48个解码器块,每个块有12个注意力头,总共有15.42亿个参数。它在包含约八百万个文档、总计约40GB文本的WebText数据集上进行训练。

使用GPT - 2时,通常从预训练模型开始,然后通过提供额外的数据集进行微调。启动文本生成器有不同的方式:
- 零样本场景 :只给出一般指导和提示,系统没有任何示例可参考。例如,给出提示 “I woke up this morning to the roar of a hippopotamus”,系统可能会生成重复且无聊的文本。

graph LR
    A[零样本提示] --> B[生成初始文本]
    B --> C{是否重复或无聊}
    C -- 是 --> D[改进处理]
    C -- 否 --> E[输出文本]
    D --> B
  • 单样本场景 :给出指令、一个示例和提示,示例可以帮助引导系统输出我们想要的内容。
  • 少样本场景 :给出两到三个示例,人们通常更喜欢需要尽可能少示例的生成器。

为了让GPT - 2生成的文本更有趣,我们可以进行以下改进:
- n - gram惩罚 :对重复生成相同单词组的系统进行惩罚,例如只惩罚重复的单词对(2 - grams)。
- 束搜索 :对于每个单词,生成多个后续单词路径,然后对这些路径进行评分,选择概率最高的路径的第一个单词作为预测单词。同时,增加单词选择过程的“温度”,使输出不那么可预测。

经过改进后,使用相同的起始句子 “I woke up this morning to the roar of a hippopotamus”,GPT - 2生成的文本质量有了显著提升。

此外,GPT - 2还能很好地完成其他任务,如进行填空测试、预测至少50个标记之前出现关键信息的短语的下一个单词、回答关于文本的问题、总结文档以及进行语言翻译等。

探索BERT与GPT - 2:自然语言处理的强大工具

4. 从GPT - 2到GPT - 3

GPT - 2展示了通过48个解码器层(每层12个注意力头)每次处理512个标记,使用15亿个参数能够生成相当不错的文本。那么,如果我们进一步扩大规模会怎样呢?这就是GPT - 3的思路。

GPT - 3的架构与GPT - 2类似,但规模要大得多。它每次处理2048个标记,有96个解码器层,每层96个注意力头,总共有1750亿个参数。它在Common Crawl数据集上进行训练,该数据集最初包含约一万亿个单词,清理后仍有大约4200亿个单词。

GPT - 3在一段时间内作为测试版向公众开放,人们用它完成了许多应用:
- 代码编写 :为网页布局编写代码,编写实际的计算机程序。
- 文本处理 :将法律文本改写为通俗易懂的语言,生成类似法律语言的新文本。
- 创意写作 :创作小说和诗歌等创意体裁的文本。
- 模拟面试 :进行虚拟就业面试。

然而,强大的能力也带来了一些问题:
- 微调难度大 :微调GPT - 3这样的系统需要巨大的资源,而且随着任务特定数据需要与原始数据区分开来,微调变得越来越困难。
- 缺乏常识和公正性 :GPT - 3等文本生成器只是根据单词组合的概率生成单词,它们没有真正的理解能力,会盲目地重复训练数据中的刻板印象和偏见,在重要的社会问题如道德和法律方面表现不佳。

研究人员估计,使用一万亿个参数在一万亿个标记上训练的模型,至少从NLP任务的角度来看,可以提取文本中我们所需的所有信息。虽然这只是粗略的预测,但它引发了人们的思考:是否存在一个临界点,使得一堆解码器块(以及一些支持机制)能够从一段文本中提取几乎所有我们需要的信息。

5. 文本生成系统的综合评估

为了评估文本生成系统的性能,一项研究让包括GPT - 3在内的许多语言生成器执行57项任务,这些任务涵盖了从人文领域(如法律和历史)到社会科学(如经济学和心理学)再到STEM学科(如物理和数学)等多个主题。结果显示,大多数输出远不及人类表现,尤其是在重要的社会问题上。

评估维度 表现情况
人文领域(法律、历史) 多数输出未达人类水平,在道德和法律等问题上表现差
社会科学(经济学、心理学) 表现一般,缺乏对问题的深入理解
STEM学科(物理、数学) 难以准确处理专业知识和逻辑推理
6. 有趣的应用与展望

尽管存在一些问题,但我们可以通过一些有趣的方式与这些文本生成系统互动。例如,我们可以在线玩一个由GPT - 3驱动的交互式文本幻想游戏。该系统在多种体裁上进行训练,从幻想、赛博朋克到间谍故事等。最有趣的玩法是将AI视为即兴表演的伙伴,同意并扩展系统给出的内容,跟随AI设定的节奏。

graph LR
    A[玩家输入提示] --> B[GPT - 3生成文本]
    B --> C[玩家回应并扩展]
    C --> B

生成的文本在短时间内可能表现良好,但当我们深入研究时,就会发现它们的局限性。未来,随着更多拥有巨大资源的大公司推出自己基于庞大数据库训练的巨型NLP系统,我们有望看到这些系统在性能和能力上的进一步提升,但同时也需要关注如何解决它们存在的缺乏常识、公正性等问题,以更好地服务于各个领域的应用。

总之,BERT、GPT - 2和GPT - 3等基于Transformer架构的模型在自然语言处理领域展现了强大的能力,但也面临着一些挑战。我们需要在利用它们的优势的同时,不断探索改进的方法,以推动自然语言处理技术的发展。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值