–https://doi.org/10.1038/s41592-024-02354-y
留意更多内容,欢迎关注微信公众号:组学之心
Language models for biological research: a primer
研究团队及研究单位
James Zou–Department of Biomedical Data Science, Stanford University, Stanford, USA
Kyle Swanson–Department of Computer Science, Stanford University, Stanford, USA
一、语言模型在多领域序列数据分析中的应用与优势
近年来,由于大规模、可公开访问的文本生成模型的发展,语言模型越来越受欢迎。由于这些模型是在大量异构序列集合上训练的,因此它们可以学习灵活的模式,并可以适应解决各种特定问题。
例如,ChatGPT 被训练来填补文本中缺失的单词,但这种训练过程使其能够推理语言并解决从总结论文到编写生物信息学代码等各种问题。
此外,语言模型可以适应解决它们最初没有被设计用于解决的问题,其表现优于专门针对这些问题进行训练的模型。由于这种灵活性,语言模型通常是实现广泛下游应用的基础模型。语言模型不仅限于自然语言,它们还可以处理由生物实体序列(例如氨基酸或基因)组成的生物语言。
1.基于Transformer架构的语言模型
Transformer这是一种可以捕获长序列模式的人工神经网络。它的相关专业术语如下:
- 1.语言模型:一种学习根据训练数据预测序列中项的可能性的人工智能模型。
- 2.自然语言模型:一种训练于人类语言文本序列上的语言模型。
- 3.生物语言模型:一种训练于生物实体序列(如氨基酸或基因)上的语言模型,这些生物实体被视为语言。
- 4.基础模型:一种可以灵活适应多种不同应用的人工智能模型。
- 5.Transformer:一种通过称为注意力的机制处理序列数据的模型,该机制动态地权衡输入数据不同部分的重要性。
- 6.Token:序列的基本单位,如单词、氨基酸或基因,作为语言模型的基本输入单位。
- 7.Embedding: 一种通过模型学习的输入的数值表示(数字列表),用于捕捉其语义或功能属性。
- 8.迁移学习:一种机器学习方法,其中在一个任务上训练的模型被调整以执行不同但相关的任务,通常需要较少的数据和训练时间。
- 9.预训练:迁移学习的第一步,机器学习模型在大型数据集上进行训练以学习通用特征。
- 10.微调:迁移学习的第二步,在此步骤中,预训练模型被调整以适应特定任务,通过在与预期目标相关的新数据上进行训练实现。这可能包括进一步训练原始模型或在新模型上训练语言模型中的嵌入。
- 11.多模态模型:一种可以处理和集成多种类型输入数据的模型,如文本和图像。
- 12.生成模型:一种训练生成与其训练数据相似的新数据的模型。
- 13.无监督学习:一种机器学习类型,学习从没有明确标签的数据集中的数据,通常用于在数据中找到模式或结构。
- 14.幻觉:生成看似合理但事实上不正确或不一致的语言模型输出。
- 15.降维:一种减少高维数据中特征数量的技术,同时保留其本质结构。通常使用降维技术将模型嵌入物减少到两个维度以便可视化。
- 16.掩码: 一种用于替换输入序列部分的特殊标记,模型通过预测围绕上下文来学习这些标记。
例如,它可以学习到一篇论文的摘要总结了后续文本,并且可以学习到蛋白质序列中氨基酸之间的物理接触,即使它们相距很远。这些模型通常以无监督的生成方式进行训练,这意味着训练序列没有特定的标签供模型预测(无监督);相反,它学习重新生成训练输入序列(生成)。通过这个生成过程,模型学习控制数据形式的底层规则。为了针对其他目标定制这些模型,已经在数据上训练过(预训练)的模型通常会在新数据上进一步训练(微调)。这个过程称为迁移学习,其中在更大的数据集上进行预训练为模型提供了对数据的基本理解,从而能够在微调过程中更有效地学习新目标。
2.语言模型在生物数据中的应用
语言模型可以应用于任何序列数据,无论序列的基本单位(称为Token)是句子中的单词还是蛋白质中的氨基酸。尽管句子和蛋白质是自然序列的,但其他类型的生物数据也可以表示为序列。
例如,单细胞基因表达数据通常不以序列表示,可以通过创建基因按其在细胞中的 RNA 表达水平顺序出现的序列来按顺序表示。通过将每个单细胞视为基因序列,生物语言模型可以使用这些序列作为输入来模拟细胞之间的单细胞 RNA 表达水平。当语言模型处理输入序列时,它会在内部计算嵌入,这是输入的数值表示,可以简洁地捕捉其语义或功能属性。
3.预训练语言模型的三种应用方法
预训练语言模型可通过三种常见方法用于解决许多研究问题:(1)直接预测、(2)嵌入分析和(3)迁移学习。
直接预测方法最简单;语言模型被赋予某些输入并按原样用于进行预测。Embedding 分析计算输入序列的 embeddings,以用于数据分析和可视化。在迁移学习方法中,对与期望目标相关的新数据进行额外训练。根据特定任务数据和计算资源的可用性,这可能涉及微调原始语言模型或使用语言模型中的嵌入训练新模型(这也可以被视为一种微调形式)。
二、自然语言模型
1.生物学自然语言模型简介
尽管生物学从根本上依赖于物理实体(蛋白质、基因和细胞)的特性,但我们对该领域的理解是通过科学论文、教科书、网页等以自然语言记录的。因此,人们越来越有兴趣使用自然语言模型,让生物学研究人员可以轻松访问这些书面资源中包含的大量生物学信息。
此外,自然语言模型可以通过来自其他模态(例如图像或基因序列)的数据进行扩充,以形成多模态模型,从而可以洞察各种形式的生物实体。
2.生物学的“通用”与“专用”自然语言模型
自然语言模型可以训练为通用模型(例如 ChatGPT 或 Claude),这些模型在包括 PubMed 等生物学来源的广泛文本语料库上进行训练。
或者,它们也可以设计为专用模型(例如 BioBERT 或 Med-PaLM 2),这些模型专门针对生物学文本进行训练或微调。由于知识广博,当前的专用模型在生物医学任务(例如回答医学考试问题)上的表现可以优于通用模型。
BioBERT—https://doi.org/10.1093/bioinformatics/btz682
Med-PaLM 2—https://arxiv.org/pdf/2305.09617
3.用于理解生物学文献的自然语言模型
自然语言模型的主要优势在于它们能够推理大量生物学文献并将信息提炼为易于理解的答案。例如,如果研究人员遇到不熟悉的技术概念(例如多序列比对),他们可以让语言模型用简洁的段落解释该概念,而无需花时间查找参考文献。此外,研究人员可以根据他们的背景修改输入,以获得适合他们的答案(例如,“向具有生物学入门背景的人解释多序列比对”)。
除了总结生物学概念外,自然语言模型还可以帮助研究人员快速理解新的科学内容。例如,科学家可以为语言模型提供新科学论文的链接,并要求模型总结内容或回答有关其方法论的特定技术问题。
自然语言模型甚至可以根据现有研究文献提出新的生物医学研究思路(例如,使用 AI 处理多序列比对的新方法)。
尽管自然语言模型是理解生物学文献的有力工具,但一个众所周知的局限性是它们倾向于“产生幻觉”,或生成包含事实错误的连贯文本。此外,这些模型可能不会批判性地评估它们处理的内容,可能会反映作者的解释,而不质疑这些解释是否得到数据的支持。因此,对自然语言模型的输出进行事实核查以确保其准确性,并批判性地评估模型得出的任何结论至关重要。
4.用于与软件交互的自然语言模型
除了理解科学文献之外,自然语言模型还可以通过帮助科学家与软件交互(包括编写和调试代码)来加速研究。自然语言模型包含有关生物信息学分析的重要知识,因此可以帮助研究人员编写用于数据处理、结果分析、绘图等的代码。当研究人员不熟悉特定领域的软件包(例如,用于单细胞分析的 Scanpy)时,这些模型特别有用,因为模型既知道这些包何时合适,又知道如何与每个包的各个组件交互。
自然语言模型也是出色的调试工具,可以为其提供损坏的代码和/或错误消息,并要求其编写更正的代码。此外,这些模型可以为软件工具提供自然语言界面,否则这些工具需要领域专业知识才能使用。例如,ChemCrow 允许用户以自然语言提出问题(例如,“设计可溶分子”),并修改用户的查询以使 ChatGPT 能够运行化学专用软件工具(例如,分子合成规划)。这种能力使得更广泛的科学受众能够使用这些工具。
ChemCrow—https://doi.org/10.1038/s42256-024-00832-8
三、生物语言模型
1.蛋白质语言模型
为什么大规模的预训练有用?在大型蛋白质序列数据集上预训练的蛋白质语言模型可以学习捕获蛋白质的进化约束和关键属性的表示。随后在较小的标记数据集上对这些模型进行微调,可以准确预测下游任务,例如稳定性、相互作用,甚至具有指定结构的序列设计。
1.1 蛋白质语言模型例子:ESM-2
这是一个 Transformer 神经网络,通过预测周围环境中随机屏蔽的氨基酸,对超过 2.5 亿个蛋白质序列进行训练。
ESM-2—https://www.science.org/doi/10.1126/science.ade2574
在训练过程中,每个序列中的随机氨基酸子集被假的“屏蔽”氨基酸替换,模型会预测被屏蔽的原始氨基酸。通过学习准确预测哪些氨基酸适合给定的序列环境,模型可以学习控制蛋白质结构和功能的模式和约束。正如自然语言模型种类繁多一样,也有各种蛋白质语言模型,它们的训练方式略有不同。例如,一些蛋白质语言模型可能使用专注于单个蛋白质家族的数据进行训练,或者它们可能按顺序预测氨基酸,更类似于自然语言模型,而不是随机屏蔽氨基酸。
ESM-2预测效果(左)和 AlphaFold2(右)比较
1.2 应用:直接预测
这些模型可以按照其最初的训练目标直接用于预测每种氨基酸出现在序列中给定位置的概率。由于训练数据涵盖了已知功能性蛋白质序列的全部范围,因此这些模型可以有效地学习蛋白质进化的模式。无需对突变的影响进行实验测量,该模型就可以隐式地了解哪些突变会对蛋白质功能有害,因为根据在整个进化过程中经验观察到的突变,这些突变不太可能发生。因此,这些预测可以开箱即用,用于估计蛋白质编码突变的影响。
可以通过在给定位置处特异性地屏蔽野生型氨基酸并要求模型根据其余序列推断屏蔽位置来获得突变的可能性。如果根据语言模型,突变的可能性低于野生型氨基酸,则表明该突变可能有害。评估突变致病性的实验研究已根据模型可能性验证了这些估计。
将蛋白质序列建模为语言的一个好处是这些序列不需要事先对齐或注释;其他方法需要进化对齐的蛋白质序列来预测突变的影响。语言模型对蛋白质序列可能性的估计也可用于估计蛋白质序列是否可能形成功能结构,这使得蛋白质语言模型能够评估和设计新的序列。
1.3 应用:embedding 分析
除了输出之外,蛋白质语言模型还提供有用的蛋白质嵌入。具体而言,当蛋白质序列通过模型运行时,可以提取该蛋白质中每种氨基酸的模型内部表示(嵌入)。然后可以单独使用每种氨基酸的嵌入,也可以将其组合成单个蛋白质表示。
例如,先前的研究发现,聚类蛋白质序列嵌入可以识别同源蛋白质。然后可以根据每种蛋白质中各个氨基酸嵌入之间的相似性将这些同源蛋白质构造成多序列比对(vcMSA)。
vcMSA–10.1101/gr.277675.123
1.4 应用:迁移学习
从这些模型中学习到的表示可用于解决更具体的任务。由于微调蛋白质语言模型的成本可能很高,因此许多应用程序使用来自模型的嵌入作为另一个在下游任务上训练的更小模型的输入。例如,这些嵌入已用于预测蛋白质稳定性、病毒抗原突变的免疫逃逸,以及使用少量标记数据预测错义变体的致病性。或者,有更新、更有效的微调技术,使研究人员能够使用更少的计算资源完全微调大型蛋白质语言模型(PEFT)。
PEFT–https://www.pnas.org/doi/full/10.1073/pnas.2405840121
1.5 蛋白质结构模型
蛋白质结构预测的模型,如AlphaFold2和ESMFold,将结构信息与蛋白质序列相结合来训练模型,就像在蛋白质结构预测模型中所做的那样,可以改善各种下游任务的蛋白质表示。蛋白质结构预测模型与语言模型一样,已被证明可以通过直接预测、嵌入分析和迁移学习广泛适用于各种下游应用。
2.单细胞语言模型
2.1 单细胞语言模型例子:Geneformer
Geneformer 与许多其他生物语言模型一样,它具有经过训练的转换器架构,可为许多下游应用提供基因和细胞的表示。Geneformer 将每个细胞表示为细胞中表达的前 2,048 个基因的列表,并根据 RNA 表达水平排序。训练过程类似于前面描述的蛋白质语言模型,其中基因子集被屏蔽,并且模型经过训练以预测缺失基因。为了正确预测缺失基因的表达水平顺序,模型必须了解各种基因表达水平之间的相互作用,并隐式学习特定于细胞类型的模式和上下文。Geneformer 在涵盖 40 种组织类型的 3000 万个单细胞转录组上进行了训练,这有助于它学习不同的表达模式。
Geneformer–https://doi.org/10.1038/s41586-023-06139-9
Geneformer 专注于每个基因的相对表达水平,而其他单细胞语言模型使用了其他方式。例如,scGPT 是在定量表达值上进行预训练的,从而支持不同的下游应用。scGPT 还可以包括实验meta数据,例如模态、批次和扰动条件。
scGPT–https://doi.org/10.1038/s41592-024-02201-0
2.2 应用:直接预测
单细胞语言模型的直接输出使各种创造性的计算机实验成为可能。该模型可以通过获取按表达排序的单个细胞中的原始基因列表,修改基因顺序并量化这如何改变输出来估计遗传扰动对细胞的影响。
例如,Geneformer 通过人工将 POU5F1、SOX2、KLF4 和 MYC 添加到细胞基因排名的顶部来模拟成纤维细胞的重编程,从而通过计算将细胞转向诱导多能干细胞状态。同样,单细胞语言模型可以通过人工从细胞的排序列表中删除基因并检查对细胞嵌入的影响来预测细胞对基因移除的敏感性。
2.3 应用:embedding 分析
单细胞语言模型包含每个基因的嵌入,这些嵌入可以组合(例如,取平均值)以为每个细胞创建一个表示。这些细胞嵌入可用于聚类、可视化和细胞类型标记。由于训练数据的多样性和数量,这些模型可以隐式地减少批次效应,同时保持生物变异性,从而使它们能够从包含许多实验批次的数据集中识别细微的细胞亚型(Geneformer)。
2.4 应用:迁移学习
虽然有意义的集群(例如细胞类型)可以出现在这些嵌入中,但模型也可以进行微调以预测单个细胞的特性。例如,单细胞语言模型可以进行微调以整合跨实验条件的数据并预测细胞类型标签和细胞状态。它们甚至可以支持基因的多模态表示。例如,scGPT 可以进行微调以包括染色质可及性和蛋白质丰度以及基因表达水平,从而实现跨模态的数据集集成。
四、生物学的多模态语言模型
多模态模型可以跨多种数据模态(例如文本和图像)进行推理,从而使这些模型能够解决本质上涉及多种类型数据的任务。例如,病理语言图像预训练 (PLIP) 在 Twitter 数据上进行训练,以将病理图像与其标题相匹配,使用户能够获取给定图像的标题或查找给定文本描述的图像。
PLIP–https://doi.org/10.1038/s41591-023-02504-3
同样,Med-PaLM Multimodal 经过训练以根据生物医学图像回答问题,而 MolT5 经过训练以根据分子结构用自然语言描述分子,包括有关其潜在生物学功能的信息。
MolT5–https://arxiv.org/pdf/2204.11817
有了足够的具有多种模态的数据点示例,研究人员也可以为其他类型的生物数据训练多模态模型。通过将生物文本的固定语言模型嵌入与其他领域的数据相结合,自然语言模型也可以应用于多模态设置,而无需额外的训练。例如,GenePT 首先使用 ChatGPT 嵌入来自 NCBI 的基因文本描述,然后通过平均基于文本的基因嵌入(按单细胞表达加权)来创建单细胞嵌入。
GENEPT–https://doi.org/10.1101/2023.10.16.562533
在某些应用中,这些来自自然语言模型的嵌入与来自生物语言模型(如 Geneformer)的嵌入相匹配或优于后者。类似的想法可以应用于生物学的其他领域;固定语言模型嵌入可以与来自替代模态的数据或模型合并,而无需额外的训练。
五、使用生物学语言模型实践
自然语言和生物语言模型在生物学研究中有众多应用。我们讨论了将这些模型应用于下游研究问题的三种方法:直接预测、嵌入分析和迁移学习。在这里,我们概述了决定哪些方法适合给定研究问题的过程。最佳方法取决于研究问题以及可用的数据和计算资源。
上图显示了一个简单的工作流程,总结了确定如何使用语言模型的主要决策点。
1.确定研究问题的目标
如果目的是数据探索,那么嵌入分析方法以及降维和聚类等技术可用于揭示数据中的结构。但是,如果目标是根据数据进行预测,那么直接预测和迁移学习方法往往更有用。
如果问题与模型的固有能力相匹配(基于其训练数据和目标),则直接预测方法是合适的,可能根据目标修改输入。如果项目目标与模型的能力有很大偏差,或者如果有更特定于感兴趣任务的数据,那么迁移学习可能会很有用。当有足够的数据和计算资源时,最好的方法可能是微调部分或全部语言模型。但是,如果数据或计算资源有限,另一种方法是使用语言模型计算新数据点的嵌入,并使用这些嵌入作为输入来训练单独的、通常较小的模型。
此外,一些模型仅作为 Web 界面或应用程序编程接口 (API) 提供,这可能会限制它们只能用于直接预测。具有开源代码和训练有素的模型参数的其他模型可用于嵌入分析或迁移学习。一些模型具有用户友好的 Web 界面,可以在其中进行预测。在其他情况下,可以从 Hugging Face 或 GitHub 下载代码和训练好的模型。一些模型附带 Jupyter 笔记本或 Google Colab 笔记本,演示如何将预训练模型用于各种应用。当不存在此类笔记本时,包含模型代码的 GitHub 存储库通常会提供文档或示例代码供参考。
2.局限性
它们可能无法学习控制训练数据的所有模式,以及训练数据的限制。
训练数据可能过时或嘈杂,并且它们可能存在某些类型的数据代表性不足的空白。
例如,自然语言模型仅包含训练数据中包含的生物学知识,因此它们不会意识到训练后发现的结果。蛋白质语言模型通常在标准氨基酸上进行训练,因此无法反映输入表示中任何翻译后修饰的重要性。单细胞表达数据可能很嘈杂,样本优先顺序可能会使数据量偏向特定组织类型和疾病状态,这两者都是影响模型性能的因素。
此外,针对特定生物应用量身定制的模型有时仍能胜过生物语言模型,特别是当先前知识可以为模型设计提供信息时。例如 AlphaMissense 和 LM-GVP 模型,已证明包含有关蛋白质结构的信息的方法优于使用在蛋白质序列上训练的语言模型的方法。
最后,评估适用于其他任务的语言模型的性能也需要谨慎。语言模型是在大量可能不公开共享的数据上进行训练的,因此确保语言模型的训练数据和下游任务的测试数据之间没有数据泄漏是比较困难的。
版权归原作者 组学之心 所有, 如有侵权,请联系我们删除。