充分利用预训练模型

已发表: 2022-03-11

大多数新发布的深度学习模型,尤其是 NLP 中的模型,都非常非常大:它们的参数从数亿到数百亿不等。

给定足够好的架构,模型越大,它的学习能力就越大。 因此,这些新模型具有巨大的学习能力,并且在非常非常大的数据集上进行训练。

正因为如此,他们学习了他们训练的数据集的整个分布。 可以说它们编码了这些数据集的压缩知识。 这使得这些模型可以用于非常有趣的应用——最常见的应用是迁移学习。 迁移学习是在自定义数据集/任务上微调预训练模型,它需要的数据要少得多,并且与从头开始训练相比,模型收敛速度非常快。

预训练模型如何成为未来的算法

尽管预训练模型也用于计算机视觉,但本文将重点介绍它们在自然语言处理 (NLP) 领域的前沿应用。 Transformer 架构是这些模型中使用的最常见和最强大的架构。

谷歌 2017 年论文“Attention is All You Need”中介绍的 Transformer 架构。

虽然 BERT 开启了 NLP 迁移学习革命,但我们将探索 GPT-2 和 T5 模型。 这些模型是预先训练的——在特定应用程序上对它们进行微调会产生更好的评估指标,但我们将开箱即用地使用它们,即无需微调。

预训练的 NLP 模型:OpenAI 的 GPT-2

GPT-2 早在 2019 年发布时就引起了不小的争议。由于它非常擅长生成文本,因此引起了媒体的高度关注,并提出了很多关于人工智能未来的问题。

GPT-2 在 40 GB 的文本数据上进行训练,是一个非常大的模型,包含来自互联网各个领域的大量压缩知识

GPT-2 有很多潜在的用例。 它可以用来预测一个句子的概率。 反过来,这可用于文本自动更正。 接下来,单词预测可以直接用于为 IDE(如 Visual Studio Code 或 PyCharm)构建自动完成组件,用于编写代码以及一般文本编写。 我们将使用它进行自动文本生成,并且可以使用大量文本语料库进行自然语言分析。

GPT-2 根据文本输入生成建议。左边的输入是“人工智能承担了大部分工作”。右边建议的三个输出是“事实上,公司在 5 月份的第一次招聘”、“唯一没有被录用的工作是那个”和“'当我年轻的时候,就像是”没有结束语标记。

文本生成

像 GPT-2 这样的预训练模型生成连贯文本的能力令人印象深刻。 我们可以给它一个前缀文本并要求它生成下一个单词、短语或句子。

一个示例用例是生成产品评论数据集,以查看在正面评论和负面评论中通常使用哪种类型的词。

让我们看一些例子,如果我们以正面前缀“真的很喜欢这部电影!”开头,我们会得到什么。

样品 1 喜欢这个角色在不断危险中的情绪,以及他内心的恐惧是如何被这些事件慢慢克服的。 也很喜欢他如此专注于生存; 甚至有一段时间,感觉就像蝙蝠侠大战超人中的某些东西再次出现,因为你总是知道无论如何你的敌人最终会出现:)结局主题也让我印象深刻......我的意思是,他们确实必须......
样品 2 它完全按照我的意愿去做,非常有趣。 演员阵容很棒,在 IMDB 上看到其他所有内容后,这个故事到目前为止很有意义。 由于他们的“力量”(或缺乏力量),从远古时代就有关于在地下城市中的暗示,但他们并没有真正说明那么多......我认为这更像是一个大谜团,而不是其他一些方面现在与我在一起虽然……应该……

如您所见,评论一词不在前缀中的任何位置,但由于大多数评论是标题后跟评论正文,这迫使模型适应该分布。 还要注意对Batman v Superman的引用。

让我们看另一个例子。 我们将尝试使用否定前缀“垃圾产品! 别买。”

样品 1 请不要尝试将其用作花园或草坪的肥料 - 如果被鱼和鸟摄入,会造成严重的水损害。 谨慎使用,因为有机杂货店网上提供的宠物食品中可能含有杀虫剂,例如 Petsmart、PetSmart 和 Safeway 等过于“好”的名称。食物垃圾的毒性有多大? 废物可以贡献大量 - 足以使甚至非常......
样品 2 没有人会再给你一块垃圾。 只是帮自己和您的企业一个忙,在购买之前清理干净,无非是为了将来节省一些钱或方便。1/2 盎司瓶装塑料食品储存包装 + 1 包 #1636370105702615(P,3ml)7 美元立即购买您可以在任何零售店购买这些瓶子,但这里是如何获得……

同样,前缀可以推断为产品评论的标题,因此模型开始按照该模式生成文本。 GPT-2 可以像这样生成任何类型的文本。

Google Colab 笔记本已准备好用于实验,“Write With Transformer”现场演示也是如此。

问答

是的,由于 GPT-2 是在网络上训练的,它“知道”许多截至 2019 年在线发布的人类知识。它也可以处理上下文问题,但我们必须遵循“问题:X,答案:”,然后让它尝试自动完成。 但是如果我们强制模型回答我们的问题,它可能会输出一个非常模糊的答案。 以下是试图强迫它回答开放式问题以测试其知识的情况:

样品 1 问:谁发明了进化论?
答:进化论最早由查尔斯·达尔文于 1859 年提出。
样品 2 问:人有多少颗牙齿?
答:人类有21颗牙齿。

正如我们所看到的,预训练模型对第一个问题给出了非常详细的答案。 第二,它尽了最大努力,但它不能与谷歌搜索相提并论。

很明显,GPT-2 具有巨大的潜力。 微调它,它可以以更高的精度用于上述示例。 但即使是我们正在评估的预训练 GPT-2 仍然没有那么糟糕。

预训练的 NLP 模型:Google 的 T5

Google 的 T5 是迄今为止最先进的自然语言模型之一。 它总体上建立在先前关于 Transformer 模型的工作之上。 与只有编码器块的 BERT 和只有解码器块的 GPT-2 不同,T5 使用两者

T5 输入和输出。 1)“把英语翻译成德语:那很好,”变成了“Das ist gut”。 2)“可乐句:The course is jumping well”变成“不可接受”。 3)“stsb sentence1:犀牛在草地上吃草。sentence2:犀牛在田里吃草”变成“3.8”。 4)“总结:国家当局周二派出紧急救援人员调查密西西比州遭遇恶劣天气后的损失……”变成“阿塔拉县暴风雨后六人住院”。
T5 模型的输入和相应输出示例,来自 Google 2019 年的论文“Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer”。

GPT-2 在 40 GB 的文本数据上进行训练已经令人印象深刻,但T5 在 7 TB 数据集上进行了训练。 即使它经过了非常非常大量的迭代训练,它也无法遍历所有文本。 虽然 T5 可以像 GPT-2 一样进行文本生成,但我们会将它用于更有趣的业务用例。

总结

让我们从一个简单的任务开始:文本摘要。 对于那些想要构建一个总结新闻文章的应用程序的 AI 开发公司来说,T5 非常适合这项任务。 例如,将这篇文章交给 T5,下面是它产生的三个不同的总结:

V1 命运 2 的下个赛季,从 3 月 10 日开始,将重做剑。 他们将有充电能量用于为重击和守卫提供动力。 情人节活动,深红色的日子,也在这个月发生。
V2 邦吉透露,命运2的下一季将大幅重做剑。 工作室对于这一季的内容一直很腼腆。 重新思考将使剑部分绕过 AI 敌人的盾牌。
V3 命运 2 的下个赛季将重做剑,让他们绕过 AI 敌人的盾牌。 赛季从 3 月 10 日开始。 你可以在深红色的日子里玩命运 2,情人节活动。

正如我们所看到的,它在总结文章方面做得非常好。 此外,每个摘要都与其他摘要不同。

使用预训练模型进行总结具有巨大的潜在应用。 一个有趣的用例可能是自动生成每篇文章的摘要,并将其放在只需要概要的读者的开头。 可以通过个性化每个用户的摘要来进一步实现。 例如,如果某些用户的词汇量较小,则可以为他们提供一个包含不太复杂的单词选择的摘要。 这是一个非常简单的示例,但它展示了该模型的强大功能。

另一个有趣的用例可能是在网站的 SEO 中使用此类摘要。 尽管可以训练 T5 自动生成非常高质量的 SEO,但使用摘要可能会提供开箱即用的帮助,而无需重新训练模型。

阅读理解

T5 也可用于阅读理解,例如,从给定的上下文中回答问题。 这个应用程序有非常有趣的用例,我们稍后会看到。 但让我们从几个例子开始:

谁发明了进化论?
语境
(大英百科全书)
在阿根廷发现大型已灭绝哺乳动物的骨骼化石以及在加拉帕戈斯群岛观察到多种雀类,这些事件都被认为激发了达尔文对物种起源的兴趣。 1859 年,他发表了《通过自然选择的方式来研究物种的起源》,这是一篇建立进化论的论文,最重要的是,它确立了自然选择在决定进化过程中的作用。
回答达尔文

没有明确提到达尔文发明了该理论,但该模型利用其现有知识以及一些背景来得出正确的结论。

一个非常小的上下文怎么样?

我们去哪儿了?
语境在我生日那天,我们决定去巴基斯坦北部地区。 那个真的很好玩。
回答巴基斯坦北部地区

好的,这很容易。 哲学问题怎么样?

什么是生命的意义?
语境
(维基百科)
我们所感知的生命的意义来源于对存在、社会关系、意识和幸福的哲学和宗教沉思和科学探究。 还涉及许多其他问题,例如象征意义、本体论、价值、目的、伦理、善恶、自由意志、一个或多个神的存在、上帝的概念、灵魂和来世。 科学贡献主要集中在描述有关宇宙的相关经验事实,探索有关生命“如何”的背景和参数。
回答对存在、社会关系、意识和幸福的哲学和宗教沉思和科学探究

虽然我们知道这个问题的答案非常复杂,但 T5 试图想出一个非常接近但又明智的答案。 赞!

让我们更进一步。 让我们以前面提到的 Engadget 文章为背景提出几个问题。

这是关于什么的?
回答命运2将大幅重做
我们什么时候可以期待这个更新?
回答3月10日

可以看到,T5 的上下文问答非常好。 一个业务用例可能是为网站构建上下文聊天机器人,以回答与当前页面相关的查询。

另一个用例可能是从文档中搜索一些信息,例如,提出诸如“将公司笔记本电脑用于个人项目是否违反合同?”之类的问题。 使用法律文件作为上下文。 尽管 T5 有其局限性,但它非常适合此类任务。

读者可能会想,为什么不为每个任务使用专门的模型呢? 这是一个很好的观点:与 T5 的预训练 NLP 模型相比,专业模型的准确性会更高,部署成本也会更低。 但 T5 的美妙之处恰恰在于它是“一个模型来统治一切”,也就是说,您几乎可以将一个预训练模型用于任何 NLP 任务。 此外,我们希望开箱即用地使用这些模型,无需重新训练或微调。 因此,对于创建总结不同文章的应用程序以及进行上下文问答的应用程序的开发人员来说,相同的 T5 模型可以同时完成这两者。

预训练模型:即将普及的深度学习模型

在本文中,我们探讨了预训练模型以及如何将它们开箱即用地用于不同的业务用例。 就像经典排序算法几乎无处不在用于排序问题一样,这些预训练模型将用作标准算法。 很明显,我们所探索的只是 NLP 应用程序的皮毛,这些模型可以做的事情还有很多。

StyleGAN-2 和 DeepLabv3 等预训练的深度学习模型可以以类似的方式为计算机视觉应用提供支持。 我希望你喜欢这篇文章,并期待在下面听到你的评论。