如果想在 AI 领域引领一轮新浪潮,就需要使用到 Transformer。
尽管取名为 Transformer,但它们不是电视银幕上的变形金刚,也不是电线杆上垃圾桶大小的变压器。
什么是 Transformer 模型?
Transformer 模型是一种神经网络,通过追踪连续数据(例如句子中的单词)中的关系了解上下文,进而理解其含义。
Transformer 模型使用一套不断发展的数学方法(这套方法被称为注意力或自注意力),以检测一系列数据元素之间的微妙影响和依赖关系,包括距离遥远的数据元素。
谷歌在 2017 年的一篇论文中首次描述了 Transformer,一种迄今为止所发明的最新、最强大的模型。这种模型正在推动机器学习领域的进步浪潮,一些人将其称为 Transformer AI。
斯坦福大学的研究人员在 2021 年 8 月的一篇论文中将 Transformrer 称为“基础模型”,因为他们认为其推动了 AI 的范式转变。他们在论文中写道:“在过去几年中,基础模型的规模之大、范围之广超出了我们的想象。”
Transformer 模型能够做什么?
Transformer 可以近乎实时地翻译文本和语音,为不同人群和听障人士提供会议和课堂服务。
它们还帮助研究人员了解 DNA 中的基因链和蛋白质中的氨基酸,从而加快药物设计的速度。
Transformer 可通过检测趋势和异常现象,为防止欺诈、简化制造流程、提供在线建议或改善医疗服务提供助力。
每当人们在谷歌或微软必应上进行搜索时,就会用到 Transformer。
Transformer AI 的良性循环
Transformer 模型适用于一切使用连续文本、图像或视频数据的应用。
这使这些模型可以形成一个良性的 Transformer AI 循环:使用大型数据集创建而成的 Transformer 能够做出准确的预测,从而得到越来越广泛的应用,因此产生的数据也越来越多,这些数据又被用于创建更好的模型。
Transformer 取代 CNN 和 RNN
Transformer 正在许多场景中取代卷积神经网络和递归神经网络(CNN 和 RNN),而这两种模型在七年前还是最流行的深度学习模型。
事实上,在过去几年发表的关于 AI 的 arXiv 论文中,有 70% 都提到了 Transformer。这与 2017 年 IEEE 的研究报告将 RNN 和 CNN 称为最流行的模式识别模型时相比,是一个翻天覆地的变化。
无标记且性能更强大
在 Transformer 出现之前,用户不得不使用大量带标记的数据集训练神经网络,而制作这些数据集既费钱又耗时。Transformer 通过数学方法发现元素之间的模式,因此实现了不需要进行标记,这让网络和企业数据库中的数万亿张图像和数 PB 文本数据有了用武之地。
此外,Transformer 使用的数学方法支持并行处理,因此这些模型可以快速运行。
Transformer 目前在流行的性能排行榜上独占鳌头,比如 2019 年为语言处理系统开发的基准测试 SuperGLUE。
Transformer 的注意力机制
与大多数神经网络一样,Transformer 模型本质上是处理数据的大型编码器/解码器模块。
其能够独占鳌头的原因是在这些模块的基础上,添加了其他微小但具有战略意义的模块(如下图所示)。
Transformer 使用位置编码器标记进出网络的数据元素。注意力单元跟踪这些标签,计算每个元素与其他元素间关系的代数图。
注意力查询通常通过计算被称为多头注意力中的方程矩阵并行执行。
通过这些工具,计算机就能看到人类所看到的模式。
自注意力机制能够发现意义
例如在下面的句子中:
她把壶里的水倒到杯子里,直到它被倒满。
我们知道这里的“它”指的是杯子,而在下面的句子中:
她壶里的水倒到杯子里,直到它被倒空。
我们知道这里的“它”指的是壶。
领导 2017 年这篇开创性论文研究工作的前 Google Brain 高级研究科学家 Ashish Vaswani 表示:“意义是事物之间的关系所产生的结果,而自注意力是一种学习关系的通用方法。”
Vaswani 表示:“由于需要单词之间的短距离和长距离关系,因此机器翻译能够很好地验证自注意力。”
“现在我们已经看到,自注意力是一种强大、灵活的学习工具。”
Transformer 名称的由来
注意力对于 Transformer 非常关键,谷歌的研究人员差点把这个词作为他们 2017 年模型的名称。
在 2011 年就开始研究神经网络的 Vaswani 表示:“注意力网络这个名称不够响亮。”
该团队的高级软件工程师 Jakob Uszkoreit 想出了“Transformer”这个名称。
Vaswani 表示:“我当时觉得我们是在转换表征,但其实转换的只是语义。”
Transformer 的诞生
在 2017 年 NeurIPS 大会上发表的论文中,谷歌团队介绍了他们的 Transformer 及其为机器翻译创造的准确率记录。
凭借一系列技术,他们仅用 3.5 天就在 8 颗 NVIDIA GPU 上训练出了自己的模型,所用时间和成本远低于训练之前的模型。这次训练使用的数据集包含多达十亿对单词。
2017 年参与这项工作并做出贡献的谷歌实习生 Aidan Gomez 回忆道:“距离论文提交日期只有短短三个月的时间。”
“提交论文的那天晚上,Ashish 和我在谷歌熬了一个通宵。我在一间小会议室里睡了几个小时,醒来时正好赶上提交时间。一个来得早的人开门撞到了我的头。”
这让我一下子清醒了。
“那天晚上,Ashish 告诉我,他相信这将是一件足以改变游戏规则的大事。但我不相信,我认为这只是让基准测试进步了一点。事实证明他说得非常对。”Gomez 现在是初创公司 Cohere 的首席执行官,该公司提供基于Transformer 的语言处理服务。
机器学习的重要时刻
Vaswani 回忆道,当看到结果超过了 Facebook 团队使用 CNN 所得到的结果时,他感到非常兴奋。
Vaswani 表示:“我觉得这可能成为机器学习的一个重要时刻。”
一年后,谷歌的另一个团队尝试用 Transformer 处理正向和反向文本序列。这有助于捕捉单词之间的更多关系,提高模型理解句子意义的能力。
他们基于 Transformer 的双向编码器表征(BERT)模型创造了 11 项新记录,并被加入到谷歌搜索的后台算法中。
“由于文本是公司最常见的数据类型之一”,在短短几周内,全球的研究人员就将 BERT 应用于多个语言和行业的用例中。 Anders Arpteg,这位拥有 20 年机器学习研究经验的专家表示,因为文本是公司最常见的数据类型之一,所以这种调整变得尤为重要。
让 Transformer 发挥作用
很快,Transformer 模型就被应用于科学和医疗领域。
伦敦的 DeepMind 使用一种名为 AlphaFold2 的 Transformer 加深了对蛋白质这一生命基础构件的理解。最近《自然》期刊上的一篇文章对该 Transformer 进行了描述。这种 Transformer 能够像处理文本字符串一样处理氨基酸链,为描述蛋白质的折叠方式打开了新的思路,这项研究可以加快药物发现的速度。
阿斯利康和 NVIDIA 共同开发了一个专为药物发现量身定制的 Transformer MegaMolBART。MegaMolBART 是该制药公司 MolBART Transformer 的一个版本,使用NVIDIA Megatron 在一个大型、无标记的化合物数据库上训练,以创建大规模 Transformer 模型。
阅读分子和医疗记录
阿斯利康分子 AI、发现科学和研发部门负责人 Ola Engkvist 在 2020 年宣布这项工作时表示:“正如 AI 语言模型可以学习句子中单词之间的关系一样,我们的目标是使在分子结构数据上训练而成的神经网络能够学习现实世界分子中原子之间的关系。”
为了从海量临床数据中提炼洞察,加快医学研究的速度,佛罗里达大学学术健康中心与 NVIDIA 研究人员联合创建了 GatorTron 这个 Transformer 模型。
Transformer 增长
在研究过程中,研究人员发现大型 Transformer 性能更好。
慕尼黑工业大学 Rostlab 的研究人员推动着 AI 与生物学交叉领域的前沿研究,他们利用自然语言处理技术来了解蛋白质。该团队在 18 个月的时间里,从使用具有 9000 万个参数的 RNN 升级到具有 5.67 亿个参数的 Transformer 模型。
OpenAI 实验室的生成式预训练 Transformer(GPT)证明了规模越大越好。其最新版本 GPT-3 有 1750 亿个参数,而 GPT-2 只有 15 亿个。
凭借更多的参数,GPT-3 即使在没有经过专门训练的情况下,也能回答用户的问询。思科、IBM、Salesforce 等公司已经在使用 GPT-3。
巨型 Transformer 的故事
NVIDIA 和微软在 2022 年 11 月发布了拥有 5300 亿个参数的 Megatron-Turing 自然语言生成模型(MT-NLG)。与它一起发布的新框架 NVIDIA NeMo Megatron 旨在让任何企业都能创建自己的十亿或万亿参数 Transformer,为自定义聊天机器人、个人助手以及其他能理解语言的 AI 应用提供助力。
MT-NLG 首次公开亮相是作为 Toy Jensen (TJ)虚拟形象的大脑,帮助 TJ 在 NVIDIA 2021 年 11 月的 GTC 上发表了一部分主题演讲。
负责 NVIDIA 团队训练该模型的 Mostofa Patwary 表示:“当我们看到 TJ 回答问题,也就是我们的首席执行官展示我们的工作成果时,我们感到十分兴奋。”
创建这样的模型并非易事。MT-NLG 使用数千亿个数据元素训练而成,整个过程需要数千颗 GPU 运行数周时间。
Patwary 表示:“训练大型 Transformer 模型既昂贵又耗时,如果前一两次没有成功,项目就可能被取消。”
万亿参数 Transformer
如今,许多 AI 工程师正在研究万亿参数 Transformer 及其应用。
Patwary 表示:“我们一直在研究这些大模型如何提供更好的应用。我们还在研究它们会在哪些方面失败,这样就能创建出更好、更大的模型。”
为了提供这些模型所需的算力,NVIDIA的加速器内置了一个 Transformer 引擎并支持新的 FP8 格式,既加快了训练速度,又保持了准确性。
黄仁勋在 GTC 2022 上表示,通过这些及其他方面的进步,“Transformer 模型的训练时间可以从数周缩短到数天。”
MoE 对于 Transformer 的意义更大
谷歌研究人员 2021 年介绍的 Switch Transformer 是首批万亿参数模型之一。该模型利用 AI 稀疏性、复杂的混合专家(MoE)架构等先进技术提高了语言处理性能并使预训练速度加快了最多 7 倍。
微软 Azure 则与 NVIDIA 合作,在其翻译服务中使用了 MoE Transformer。
解决 Transformer 所面临的挑战
如今,一些研究人员的目标是开发出参数更少、性能接近最大模型但却更简单的 Transformer。
Cohere 的 Gomez 以 DeepMind 的 Retro 模型为例:“我看到基于检索的模型将大有可为并实现弯道超车,对此我感到非常兴奋。”
基于检索的模型通过向数据库提交查询来进行学习。他表示:“这很酷,因为你可以对放到知识库中的内容进行选择。”
Vaswani 现在是一家隐形 AI 初创公司的联合创始人,他表示最终目标是“让这些模型像人类一样,在现实世界中使用极少的数据就能从上下文中学习。”
他想象未来的模型可以在前期进行更多计算,从而减少对数据的需求,使用户能够更好地提供反馈。
“我们的目标是创建能够在日常生活中帮助人们的模型。”
安全、负责任的模型
其他研究人员正在研究如何在模型放大错误或有害语言时消除偏见或毒性,例如斯坦福大学专门创建了基础模型研究中心探究这些问题。
NVIDIA 研究科学家 Shrimai Prabhumoye 是业内众多研究这一领域的人士之一。他表示:“这些都是在安全部署模型前需要解决的重要问题。”
“如今,大多数模型需要的是特定的单词或短语。但在现实生活中,这些内容可能会以十分微妙的方式呈现,因此我们必须考虑整个上下文。”
Gomez 表示:“这也是 Cohere 最关心的问题。如果这些模型会伤害到人,就不会有人使用它们,所有创建最安全、最负责任的模型是最基本的要求。”
展望未来
在 Vaswani 的想象中,未来能够自我学习、由注意力驱动的 Transformer 最有可能成为 AI 的“杀手锏”。
他表示:“我们现在有机会实现人们在创造‘通用人工智能’一词时提到的一些目标,我觉得这给我们带来了巨大的启发。”
“在当前这个时代,神经网络等各种简单的方法正在赋予我们大量新的能力。”了解更多有关 Transformer 的信息,请访问 https://developer.nvidia.com/blog/tag/transformers/