近年来,随着各学科领域研究的进步,科学文献和数据呈爆炸式增长,使学术研究者从大量信息中发现有用的见解变得越来越困难。通常,人们借助搜索引擎来获取科学知识,但搜索引擎不能自主组织科学知识。
现在,来自 Meta AI 的研究团队提出了一种新的大型语言模型 Galactica,可以存储、组合和推理科学知识。
- 论文地址:https://galactica.org/static/paper.pdf
- 试用地址:https://galactica.org/
Galactica 模型有多强大呢,它可以自己总结归纳出一篇综述论文:
也可以生成词条的百科查询:
对所提问题作出知识性的回答:
这些任务对于人类学者来说尚且是具有挑战性的任务,但 Galactica 却很好地完成了。图灵奖得主 Yann LeCun 也在推特上发文称赞:
我们来看一下 Galactica 模型的具体细节。
模型概述
Galactica 模型是在大量的论文、参考资料、知识库和许多其他来源的科学语料库上进行训练的,包括超过 4800 万篇论文、教科书和讲义、数百万种化合物和蛋白质知识、科学网站、百科全书等。与依赖于未经整理的、基于网络爬虫文本的现有语言模型不同,Galactica 训练所用的语料库是高质量且经过高度整理的。该研究在不过拟合的前提下对模型进行多个 epoch 的训练,其中在上游和下游任务上的性能通过使用重复的 token 得到改善。
Galactica 的性能在一系列科学任务上优于现有模型。在 LaTeX 方程式等技术知识的探索任务上,Galactica 与 GPT-3 的性能是 68.2% VS 49.0%。Galactica 在推理方面也表现出色,在数学 MMLU 基准上的表现显著优于 Chinchilla。
尽管没有接受过通用语料库的训练,Galactica 在 BIG-bench 上的性能也优于 BLOOM 和 OPT-175B。此外,它还在 PubMedQA 和 MedMCQA 开发等下游任务上创下了 77.6% 和 52.9% 的性能新高。
简单来说,该研究将逐步推理封装在特殊的 token 中,以模仿内部工作原理。这允许研究人员使用自然语言与模型进行交互,下图是 Galactica 的试用界面。
值得一提的是,除了文本生成,Galactica 还可以执行涉及化学公式和蛋白质序列的多模态任务。这将为药物发现领域做出贡献。
实现细节
本文的语料库包含 1060 亿个 token,这些 token 来自论文、参考文献、百科全书以及其他科学资料。可以说该研究将自然语言资源(论文、参考书)与自然界中的序列(蛋白质序列、化学形式)都囊括了。表 1 和表 2 中显示了语料库的细节。
语料库有了,接下来是对数据怎么操作。一般来讲,对 tokenization 的设计是非常重要的。例如,蛋白质序列是根据氨基酸残基来编写的,那么基于字符的 tokenization 是合适的。为了实现 tokenization,该研究对不同的模态进行了专门的 token 化。具体表现在(包括但不仅限于):
- 引用:用特殊的参考 token[START_REF]和 [END_REF] 来包装引用;
- 逐步推理:用 working memory token 来封装逐步推理,模拟内部 working memory 上下文;
- 数字:把数字分成单独的 token。例如, 737612.62 → 7,3,7,6,1,2,.,6,2;
- SMILES 公式:用 [START_SMILES] 和[END_SMILES]包装序列,并应用基于字符的 tokenization。同样,该研究使用 [START_I_SMILES] 和[END_I_SMILES]来表示异构体 SMILES。例如:C(C(=O)O)N→C,(,C,(,=,O,),O,),N;
- DNA 序列:应用一种基于字符的 tokenization,将每个核苷酸碱基视为一个 token,其中起始 token 为 [START_DNA] 和[END_DNA]。例如,CGGTACCCTC→C, G, G, T, A, C, C, C, T, C。
如下图 4 显示了对一篇论文的引用进行处理的示例。在处理引用时使用全局标识符和特殊 token[START_REF]和 [END_REF] 来表示引用的地方。
数据集处理好之后,接下来就是怎么实现。Galactica 在 Transformer 架构的基础上进行了以下修改:
- GeLU 激活:将 GeLU 激活用于各种大小的模型;
- 上下文窗口:对于不同大小的模型,使用 2048 长度的上下文窗口;
- 无偏置:遵循 PaLM,在密集内核或层规范中不使用偏置;
- 学习位置嵌入:学习位置嵌入用于模型;
- 词汇表:使用 BPE 构建一个包含 50k token 的词汇表。
表 5 列出了不同大小模型以及训练超参数。
实验
重复的 token 被认为是无害的
从图 6 可以看出,在经过四个 epoch 的训练之后,验证损失继续下降。拥有 120B 参数的模型在第五个 epoch 开始时才开始过拟合。这是出乎意料的,因为现有的研究表明重复的 token 可能对性能有害。该研究还发现,30B 和 120B 的模型在 epoch-wise 后表现出双下降效应,即验证损失达到平稳(或上升),然后是下降。这种效果在每个 epoch 后都变得更强,最明显的是 120B 模型在训练结束时。
图 8 结果显示实验没有出现过拟合迹象,这表明重复 token 能够提高下游和上游任务性能。
其他结果
键入公式太慢了,现在用提示就能生成 LaTeX:
在化学反应中,要求 Galactica 在化学方程 LaTeX 中预测反应的产物,模型仅根据反应物就能进行推理,结果如下:
表 7 中报告了一些其他结果:
Galactica 的推理能力。该研究首先在 MMLU mathematics 基准上进行评估,并在表 8 中报告了评估结果。Galactica 与较大的基础模型相比表现强劲,并且使用 token 似乎可以提高 Chinchilla 的性能,即使对于较小的 30B Galactica 模型也是如此。
该研究还对 MATH 数据集进行了评估,以进一步探索 Galactica 的推理能力:
从实验结果可以得出:Galactica 在思维链和提示方面都大大优于基础 PaLM 模型。这表明 Galactica 在处理数学任务上是个更好的选择。
在下游任务的评估结果如表 10 所示。Galactica 显着优于其他语言模型,并且在大多数任务中优于更大的模型(Gopher 280B)。与 Chinchilla 相比,性能表现差异更大,Chinchilla 在子集任务上似乎更强:特别是高中科目以及数学较少、记忆密集型任务。相比之下,Galactica 往往在数学和研究生水平的任务中表现更好。
该研究还评估了 Chinchilla 在给定输入上下文的情况下预测引用的能力,这是对 Chinchilla 组织科学文献能力的一个重要测试。结果如下:
更多实验内容,请参考原论文。