论文

Galactica: A Large Language Model for Science 2211.09085

Galactica是一款专注于科学知识的大语言模型(LLM),在众多科学任务上超越了现有模型。它在诸如LaTeX公式和推理任务等技术知识测试中表现出色,在PubMedQA、MedMCQA上取得了新的最先进成果。尽管它并未在通用语料库上进行训练,但在BIG-bench测试中,其表现优于BLOOM和OPT-175B。

数据集

该语料库包含来自论文、参考资料、百科全书及其他科学资源的1060亿个标记(tokens)。自然语言资源(如论文和教科书)与自然序列(如蛋白质序列和化学公式)被整合在一起。无论何时捕获到LaTeX内容都会进行处理,并且还纳入了学术代码,以涵盖计算科学领域。

Galactica语料库

分词

鉴于存在不同的模态,分词是数据集设计的重要组成部分。例如,蛋白质序列是依据氨基酸残基来书写的,基于字符的分词方式在此处较为合适。为实现特定的分词目标,针对不同的模态使用了特殊的标记:

  • 引用内容会被特殊的参考标记[START_REF]和[END_REF]包裹。
  • 逐步推理的内容会被工作记忆标记包裹,模拟内部工作记忆上下文。
  • 对于数学内容,无论是否包含LaTeX,ASCII运算符号都会被拆分为单个字符。括号会被视为数字。其余运算符号允许不拆分重复。运算字符包括!”#$%&’*+,-./:;?^_’| ,括号为()[]{ }。
  • 数字会被拆分为单个数字。
  • SMILES公式会被[START_SMILES]和[END_SMILES]包裹,并采用基于字符的分词方式。
  • 氨基酸序列会被[START_AMINO]和[END_AMINO]包裹,并采用基于字符的分词方式。
  • DNA序列会被[START_DNA]和[END_DNA]包裹,并采用基于字符的分词方式。

工作记忆标记<work>

Transformer模型由于缺乏工作记忆,在处理需要多个步骤的任务时存在困难。研究人员通过将模型的输出上下文用作外部工作记忆来解决这一问题,这类似于人类使用草稿纸的方式。但这种方法存在一些缺点,比如寻找最佳提示以及迫使模型进行不理想的计算。为解决这些问题,Galactica引入了“<work>”工作记忆标记,在数据集中将逐步推理的内容嵌入到“<work></work>”标签内。尽管要完全实现这一目标可能需要对架构进行重大调整,但这种方法为实现该目标提供了一条途径,尽管目前还存在数据集方面的限制。

下面是一个使用工作记忆标记的示例答案。它会精确地执行方程重新排列的步骤,当遇到在前向传递中无法可靠求解的计算时,它会编写一个程序,然后可以将该程序转移到传统计算机上运行。

推理数据集(用于训练模型使用“work”标记)

提示预训练

Galactica的论文介绍了一种新颖的方法,通过在预训练过程中将提示与通用数据一起纳入,来增强语言模型。这一方法的灵感来源于训练标记数量和提示调整会影响模型性能的研究结果。经过微调的较小模型在某些任务中表现出色,这得益于其世界知识,但它们缺乏任务上下文知识。为解决这一问题,Galactica建议使用任务提示来扩充预训练数据,这有可能避免对更大数据集或模型的需求。最大的模型拥有1200亿个参数,在流行任务中表现良好,既能保持通用性,又能提升特定任务的性能。这种方法与ExT5类似,但它并不能替代指令调整,而指令调整可以进一步提高模型在各种任务中的性能。

“预训练将所有标记同等对待,作为自监督损失的一部分。这导致对感兴趣的任务来说,相对信号较弱,这意味着模型规模必须足够大才能发挥作用。指令调整在事后提高了性能,并且可以推广到未见过的感兴趣任务,但它存在在与指令集任务相差较远的任务中性能下降的风险。提示预训练对感兴趣任务的偏差比指令调整弱,但降低整体任务通用性的风险也较小。”

预训练提示

架构

Galactica采用仅解码器的Transformer架构,并进行了以下修改:

  • 所有模型规模均使用GeLU激活函数。
  • 所有模型规模均采用2048长度的上下文窗口。
  • 任何密集内核或层归一化中均无偏差。
  • 使用学习型位置嵌入。在较小规模上对ALiBi进行了实验,但未观察到显著提升。
  • 使用字节对编码(BPE)从训练数据中随机选择的2%子集构建了一个包含50k个标记的词汇表。

训练模型的详细信息

结果

LaTeX公式

整理了一个包含434个来自化学、物理、数学、统计学和经济学领域的常用LaTeX公式的数据集,以评估Galactica对公式的零样本记忆能力。

LaTeX公式探测

LaTeX公式的结果

领域探测

  • AminoProbe:一个包含20种常见氨基酸的名称、结构和属性的数据集。
  • BioLAMA:一个包含生物医学事实知识三元组的数据集。
  • 化学反应:一个包含化学反应的数据集。
  • 星系团:一个包含星系团及其星座分类的数据集。
  • 矿物群:一个包含矿物及其矿物群分类的数据集。

化学反应

领域探测的结果

推理

数学MMLU的结果

MATH的结果

Galactica在评估时未使用少样本示例。通过思维链(chain-of-thought)和标记提示,Galactica以比PaLM小18倍的容量超越了PaLM的性能。使用<work>标记似乎比Chinchilla更能提升性能,即使是较小的300亿参数的Galactica模型也是如此。

下游科学自然语言处理

问答结果

Chinchilla在一些数学性较弱、记忆密集型的任务子集中表现似乎更强。Galactica在数学和研究生水平的任务中往往表现更好。由于Galactica语料库主要由论文组成,偏向于研究生科学知识,这就解释了它在高中科目任务中表现不佳的原因。

引用准确性

整理了3个数据集来评估模型的引用能力:

  • PWC引用:一个包含644对机器学习概念及其引入论文的数据集。概念包括来自Papers with Code的方法(如ResNet)和数据集(如ImageNet)。
  • 扩展引用:一个包含110对非机器学习概念及其引入论文的数据集。概念示例包括Kozac序列和Breit-Wigner分布。
  • 上下文引用:一个包含1869对来自arXiv验证集的引用和上下文的数据集。该数据集通过对1000个随机引用进行采样并收集其上下文构建而成。

对于PWC引用和扩展引用数据集,引用预测任务被构建为一个文本生成任务。会给模型一个类似 “在本文中,我们使用ResNet方法[START_REF]” 的提示,以便为ResNet概念生成预测。对于上下文引用数据集,在输入上下文之后提供引用提示,上下文以[START_REF]结束。

在这个任务上,Galactica与基于稀疏和密集检索的方法进行了比较。在稀疏基线方法中,使用ElasticSearch根据参考文献的标题、摘要和上下文片段创建索引。当给定文本查询时,系统会根据所选字段的匹配分数检索排名靠前的参考文献。密集检索方法则涉及对每个参考文献的标题和摘要进行编码,使用相同的模型对文本查询进行编码,并使用FAISS索引返回匹配的参考文献。

引用预测准确性

通用能力

Galactica在57个BIG-bench任务上进行了评估,采用5次射击(5-shot),并使用BIG-bench的默认提示风格。

BIG-bench 57任务结果

Galactica在较小规模下的表现优于通用开放模型。

IUPAC名称预测

SMILES(简化分子输入线输入系统)是一种将化学结构表示为字符序列的符号表示法。进行了一项测试,根据化合物的SMILES公式预测其IUPAC名称。

IUPAC命名的结果

模型的准确率随着训练数据规模的增加而提高。为了解模型在学习什么,作者可视化了预测过程中的平均原子注意力。结果表明,模型在预测名称时会关注正确的化学基团,这表明它是从分子结构推断名称的。

MoleculeNet

其目标是通过在自然语言和诸如SMILES等科学模态之间创建接口,探索传统的药物发现任务,以在化学空间中进行导航。使用MoleculeNet分类基准来评估这种方法。

用于评估的MoleculeNet数据集

为了进行评估,通过将训练集转换为文本格式将其纳入预训练过程。使用提示随机化,改变问题的提出方式。对于像BBBP这样的数据集,训练提示采用不同的形式。这种方法与直接微调或监督不可比,但可以被视为一种弱监督形式。

BBBP提示

我们纳入SMILES并以自然语言提出分类问题。

对于某些MoleculeNet数据集,其他模态也隐含存在。例如,在Tox21数据集中,生物测定聚焦于特定的受体,如雄激素受体(AR)。作为一项实验,该任务以文本格式构建,将蛋白质序列和SMILES作为提示的一部分。

Tox21提示

我们纳入蛋白质序列和SMILES公式,并以自然语言提出分类问题。

SMILES表示形式会进行Kekulize处理,以匹配PubChem的表示形式。使用DeepChem库推荐的划分方式进行评估。

MoleculeNet分类的结果

结果通过ROC-AUC进行评分。对未来工作的启示表明,可以使用自然语言提示来学习药物发现任务。如果能够在具有丰富信号的文档上下文(如在线化学数据库)中自动学习这些关系,那么在执行这些任务时,就可以减少对监督数据集的依赖。此外,可以对各层的注意力头进行平均,以可视化模型在预测过程中关注的位置,特别是在SMILES序列(原子注意力)中。

序列验证困惑度

尽管Galactica并未明确考虑蛋白质的三维结构,但它关注线性氨基酸序列及其与蛋白质功能的关系。因此,使用多个保留集上的困惑度来评估性能,这表明除了与训练数据高度相似的序列外,模型具有很强的泛化能力。模型在某些数据集上的过拟合现象凸显了处理多样的“域外”蛋白质时可能面临的挑战,这表明未来可以在训练中减少重复数据并增加蛋白质的多样性。

蛋白质验证困惑度

与训练集具有更高潜在序列相似性的验证集,其困惑度比受限集(CASP验证集)更低。

功能关键词预测

此任务专注于将蛋白质序列转换为自然语言,特别是用于蛋白质注释等任务。Galactica用于从蛋白质序列推断UniProt关键词。然而,推断关键词的能力似乎取决于序列与训练集中序列的相似性,如CASPSimSeq的饱和现象所示。Galactica利用其对不同生物体中相似蛋白质的知识来辅助注释。Galactica学习到了一种隐式的序列相似性度量,用于关联预测的关键词,但无法直接解释它关注的位置。这与化学分析不同,在化学分析中,注意力可以根据潜在的原子结构进行解释。

蛋白质关键词预测

显示的指标是F1分数。在各个保留集上,性能随着模型规模的增加而提高。请注意,我们未纳入CASPSeq,因为这些序列没有我们可以测试的UniProt关键词。

蛋白质功能描述

任务是从蛋白质序列生成自由格式的蛋白质功能描述。将UniProt的功能描述与Galactica生成的描述进行比较。

蛋白质功能预测

显示的指标是ROUGE-L。性能随着模型规模的增加而提高。与关键词预测任务一样,Galactica似乎是通过将序列与训练中见过的相似序列进行匹配来学习,并以此形成描述。这表明用于蛋白质序列的语言模型可以作为现有搜索方法(如BLAST和MMseqs2)的有用替代方案。

## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!

本文由mdnice多平台发布


柏企科技圈
15 声望4 粉丝