机器学习领域的最新进展利用了多序列比对中的进化信息来预测蛋白质结构。这里作者则展示了如何使用大语言模型从蛋白质的一级序列直接推断出完整的原子级蛋白质结构。随着蛋白质序列语言模型的参数扩展到150亿,蛋白质结构的原子分辨率图像在学习到的表征中逐渐显现。这使得高分辨率结构预测的速度提升了一个数量级,从而能够对蛋白质进行大规模的结构表征。作者运用这一能力构建了ESM宏基因组图谱,对超过6.17亿个宏基因组蛋白质序列的结构进行了预测,其中包括超过2.25亿个高置信度的预测结果,这让后续的研究得以一窥天然蛋白质的广泛多样性。
来自:Evolutionary-scale prediction of atomic-level protein structure with a language model, Science, 2023
背景概述
在进化尺度上,蛋白质序列蕴含着生物结构和功能的信息。蛋白质的生物学特性限制了其序列中通过进化选择的突变。因此,蛋白质的结构和功能可以从序列模式中推断出来。从经典方法到深度学习的引入,再到如今的高精度结构预测,这一认知一直是计算结构预测取得进展的核心。
语言模型有潜力学习蛋白质序列在进化过程中的模式。这一想法推动了对进化尺度语言模型的研究,在这类模型中,基础模型学习反映潜在生物学特征的表征,并且随着表征能力的增强,能够在低分辨率下捕捉蛋白质的二级结构和三级结构。 从香农的文本熵模型开始,复杂度不断提升的语言模型得以开发,最终发展出现代基于注意力机制的大规模架构。尽管文本语言模型的训练目标很简单,比如填充缺失单词或预测下一个单词,但它们展现出了涌现能力,这种能力会随着计算能力、数据量和参数数量的增加而发展。现代语言模型拥有数百亿甚至数千亿参数,并展现出诸如少样本语言翻译、常识推理和数学问题解决等能力,而且这些都无需明确的监督。
作者认为,在进化过程中填补蛋白质序列中缺失氨基酸的任务,需要语言模型理解产生这些序列模式的潜在结构。随着语言模型的表征能力以及其在训练中接触到的蛋白质序列多样性的增加,有关蛋白质序列生物学特性的深层次信息将会显现,因为正是这些特性产生了人们在序列中观察到的模式。为了研究这种涌现现象,作者将语言模型的参数规模从800万扩展到150亿。发现原子分辨率的结构在语言模型中逐渐显现,并且在参数规模跨越四个数量级的过程中持续改进。语言模型对蛋白质序列的理解程度(困惑度)与结构预测的准确性之间存在很强的相关性,这揭示了语言建模与结构学习之间的紧密联系。
作者证明了语言模型能够直接从序列实现快速的端到端原子分辨率结构预测。该方法利用语言模型捕获的进化模式来生成精确的原子级预测。这消除了当前最先进的结构预测流程中成本高昂的部分,既无需进行多序列比对(MSA),又极大地简化了用于推理的神经架构。这使得仅推理前向传递的速度就提高了多达60倍,同时还完全省去了相关蛋白质的搜索过程。使用AlphaFold和RoseTTAFold的高灵敏度流程时,搜索过程可能需要超过10分钟,即使是最近灵敏度较低的快速流程,搜索过程也是计算成本的重要组成部分。在实际应用中,这意味着与最先进的预测流程相比,速度提升了一到两个数量级。
这种速度优势使得将结构预测扩展到宏基因组规模的数据集成为可能。在过去十年中,人们致力于通过宏基因组采样,将对蛋白质序列的认知扩展到地球上微生物的巨大自然多样性领域。这些努力促使蛋白质序列数据库的规模呈指数级增长,如今数据库中已包含数十亿种蛋白质。最近,对人类蛋白质组中约2万种蛋白质以及UniProt中约2亿种已编目的蛋白质的计算结构表征工作已经完成,但宏基因组蛋白质的庞大数量对结构表征来说是一个更大的挑战。宏基因组结构的范围和多样性仍是未知的,这是生物学知识的前沿领域。
作者对宏基因组蛋白质进行了进化尺度的结构表征,几乎对MGnify90数据库中的所有序列(超过6.17亿种蛋白质)进行了折叠预测。作者在由2000个GPU组成的异构集群上,仅用2周就完成了这一表征工作,这表明该方法可扩展应用于更大规模的数据库。作者对超过2.25亿个结构进行了高置信度预测,揭示并描绘了与现有认知相距甚远的宏基因组空间区域。这些预测的结构可在ESM宏基因组图谱(https://esmatlas.com)这一开放科学资源中获取。
在基于蛋白质序列训练的语言模型中,原子分辨率的结构逐渐显现
作者训练了一系列基于Transformer的蛋白质语言模型ESM-2,其参数规模从800万到150亿不等。与上一代模型ESM-1b相比,ESM-2在架构(带RoPE的BERT)、训练参数方面进行了改进,并增加了计算资源和数据量。由此产生的ESM-2模型系列在参数数量相当的情况下,性能优于之前最先进的ESM-1b。并且在结构预测benchmark上优于其他蛋白质语言模型。
ESM-2 被训练用于预测从蛋白质序列中随机被屏蔽掉的氨基酸的类别: L M L M = − ∑ i ∈ M log p ( x i ∣ x / M ) \mathcal{L}_{MLM}=-\sum_{i \in M} \log p(x_{i} | x_{/M}) L