ESM3(1)-介绍:用语言模型模拟5亿年的进化历程

超过30亿年的进化在天然蛋白质空间中编码形成了一幅生物学图景。在此,作者证明在进化数据上进行大规模训练的语言模型,能够生成与已知蛋白质差异巨大的功能性蛋白质,并推出了ESM3,这是一款前沿的多模态生成式语言模型,可对蛋白质的序列、结构和功能进行推理。ESM3能够遵循结合了多种模态的复杂提示,并且对校准(alignment)反应灵敏,以此提高其准确性。作者用ESM3生成荧光蛋白。在作者合成的产物中,发现了一种与已知荧光蛋白差异极大(序列同一性为58%)的明亮荧光蛋白,据估计,这相当于模拟了5亿年的进化。

来自:Simulating 500 million years of evolution with a language model, Science, 2025

目录

  • 背景概述
  • ESM3

背景概述

如今存在的蛋白质是在数十亿年的自然进化过程中发展成现在的形式的,它们历经了巨大的进化筛选。在时间尺度上,大自然产生随机突变并进行选择,根据蛋白质无数的序列、结构和功能对它们进行筛选。因此,我们观察到的蛋白质模式反映了生物学深层隐变量的作用,这些变量在漫长的时间里塑造了蛋白质的进化。最近对地球生物多样性的基因测序研究正在对蛋白质的序列和结构进行编目,其中包含数十亿的序列和数亿的结构,这些信息揭示了生命演化过程中的变异模式。人们逐渐达成共识,在这些序列背后存在一种蛋白质生物学的基本 “语言”,并且可以通过语言模型来理解。

目前,已有多种蛋白质序列语言模型被开发和评估。研究发现,语言模型中产生的表征能够反映蛋白质的生物学结构和功能,并且这些表征是在没有针对这些属性进行任何监督的情况下学习得到的,其性能会随着规模的扩大而提升。在人工智能领域,人们发现了scaling law,该定律可以预测随着规模的增加,模型能力的增长情况,它描绘了计算能力、参数数量和数据量方面的前沿发展趋势。

在此,作者推出ESM3,这是一种前沿的多模态生成模型,能够对蛋白质的序列、结构和功能进行推理。ESM3是一个针对每个模态的离散token进行训练的生成式掩码语言模型。ESM3通过将3D原子结构编码为离散token来实现结构推理,而不是像近期的蛋白质结构预测模型(Accurate structure prediction of biomolecular interactions with AlphaFold 3)和生成模型(De novo design of protein structure and function with RFdiffusion)那样采用复杂的架构和三维空间扩散方法。对离散token进行all-to-all建模的可扩展性,这使得ESM3能够接受其任意模态组合的提示,从而实现对蛋白质的可控生成,生成结果符合提示组合的要求。


all-to-all 建模是指对离散token进行全面关联建模的方法。在 ESM3 模型中,蛋白质的序列、结构和功能都被表示为离散token。通过这种建模方式,模型能够对这些离散token进行全方位的处理和关联分析,实现对蛋白质多模态信息的综合理解和处理。


作者发现,ESM3对提示的响应非常灵敏,能够为复杂的提示组合找到创造性的解决方案,包括一些在自然界中找不到匹配结构的解决方案。各种规模的模型都可以通过校准更好地遵循提示,并且规模更大的模型对校准的响应要灵敏得多。ESM3还生成了一种变异绿色荧光蛋白(GFP)变体,其与现有蛋白质的差异程度相当于模拟了超过5亿年的进化。

ESM3

ESM3通过语言建模,实现了对蛋白质的三种基本属性——序列、结构和功能的可扩展生成模型构建。以往针对蛋白质的生成建模工作主要集中在单个模态上,并且在将蛋白质作为3D对象进行结构建模时,依赖复杂的架构和训练目标。到目前为止,已实现大规模的语言模型也是仅针对蛋白质序列。在ESM3中,序列、结构和功能通过离散token字母表来表示。这些模态作为单独的序列track进行输入和输出,并在模型内部融合到一个单一的潜在空间中。这种简洁性使ESM3能够利用可扩展的Transformer架构进行训练,其参数高达980亿。

ESM3通过在其所有track上进行生成式掩码语言建模目标的训练:
L = − E x , m 1 ∣ m ∣ ∑ i ∈ m log ⁡ p ( x i ∣ x ∖ m ) \mathcal{L}=-\mathbb{E}_{x, m} \frac{1}{|m|} \sum_{i \in m} \log p\left(x_{i} | x_{\setminus m}\right) L=Ex,mm1imlogp(xixm)

其中, L \mathcal{L} L表示损失函数, E x , m \mathbb{E}_{x, m} Ex,m是关于变量 x x x m m m的期望, x x x代表描述蛋白质的token, m m m是一个随机掩码, ∣ m ∣ |m| m是掩码中元素的数量, i i i是掩码中的索引位置, p ( x i ∣ x ∖ m ) p\left(x_{i} | x_{\setminus m}\right) p(xixm)表示在给定除 x i x_i xi之外的所有token x ∖ m x_{\setminus m} xm的情况下, x i x_i xi的预测概率。

在训练过程中,根据噪声调度对掩码进行采样,该调度会改变被掩码位置的比例,以便ESM3能看到许多不同的掩码序列、结构和功能组合,并从任意其他模态的组合中预测出完成的结果。这与传统的掩码语言建模不同,其监督是应用于所有可能的掩码率,而不是单一固定的掩码率。这种监督将给定先前token的任意组合下,对下一个token的所有可能预测的概率分布进行分解,确保可以从任何起点以任何顺序生成token

要从ESM3生成蛋白质,需进行迭代采样token。从完全或部分掩码的上下文开始,token可以按任意顺序逐个采样或并行采样,直到所有位置都完全取消掩码(图1A)。除了能够进行生成任务外,ESM3的训练目标对表征学习也很有效。高掩码率可提高生成能力,而低掩码率则有助于提升表征学习效果。作者选择使用噪声调度来训练ESM3,以平衡其生成能力和表征学习能力。

ESM3是一种双向Transformer模型。序列、结构和功能token在输入时被嵌入并融合,然后通过一组Transformer模块进行处理(图1B)。在模型的输出端,多层感知器(MLP)头将最后一层的表征映射为每个track的token概率。ESM3使用token化,而不是专门的架构组件,在学习到的多模态特征空间中表示蛋白质的复杂性。这种方法实现了高效且高度可扩展的训练。

蛋白质结构由离散自编码器进行token化,该编码器经过训练,可将三维结构压缩为离散token(图1C)。作者提出了一种不变几何注意力机制,以高效处理三维结构。该机制在由每个氨基酸的key几何形状定义的局部参考系中运行,并通过转换到全局参考系,使局部参考系能够进行全局交互。每个氨基酸周围的局部结构邻域被编码为一系列离散token,每个氨基酸对应一个token。

在预测或生成蛋白质结构时,ESM3输出的结构token会通过解码器,解码器会重建完整的原子结构。自动编码器经过训练,利用一种几何损失来编码和重建原子坐标,这种损失用于监控键向量和法线的成对距离以及相对取向。这种token化方式能够实现蛋白质结构的近乎完美重建(在CAMEO数据集上的均方根偏差小于0.5 Å)。

由于每个结构token的局部邻域包含有关结构相邻部分的信息,作者还为模型提供了一种机制,使其能够在第一个Transformer模块中通过几何注意力机制直接以骨干原子坐标为条件进行计算。为了支持对结构的更高级理解,作者加入了二级结构(SS8)token和溶剂可及表面积(SASA)token的信息通道。描述生物活性的关键词,如结合、酶功能以及结构域或折叠分类等,能够对蛋白质的结构和功能进行更高级的语义描述。这些关键词源自InterPro和基因本体(GO)中对每个残基的文本描述,经过token化处理、嵌入操作后,在网络输入时进行加和。残基水平的注释则对单个残基的功能进行多热编码,例如催化位点和翻译后修饰。


多热编码(Multi-Hot Encoding)是对独热编码(One-Hot Encoding)的扩展,在文本分类、生物信息学等领域有着广泛应用。

  • 定义与原理:在独热编码中,对于具有 n n n个不同类别的变量,会用一个长度为 n n n的向量来表示,向量中只有一个元素为1,其余为0,以表明该变量所属的类别。而多热编码允许向量中有多个1 ,用于表示一个样本可以同时属于多个类别。假设存在一个变量,它可以属于{A, B, C, D}这4个类别中的多个,当该变量属于A和C时,其多热编码可能是[1, 0, 1, 0] 。在这种编码方式下,向量的每一个维度都对应一个类别,值为1表示样本属于该类别,值为0则表示不属于。
  • 在生物信息学中的应用:在分析蛋白质的功能位点时,一个蛋白质可能具有多种功能,如既具有催化功能,又具有结合功能。通过多热编码,可以将蛋白质所具有的多种功能用一个向量表示,向量中的不同位置对应不同功能,1表示具有该功能,0表示不具有,有助于研究人员从多个功能维度对蛋白质进行分析和研究。

fig1

  • 图1. ESM3是一个能对蛋白质的序列、结构和功能进行推理的生成式语言模型。
  • A) 使用ESM3进行迭代采样。以生成α/β水解酶为例,序列、结构和功能都可用于向模型发出提示。在每个时间步 t t t,对部分被掩码的位置进行采样,直至所有位置都不再被掩码。
  • B) ESM3的架构。序列、结构和功能在输入和输出时均表示为离散token的序列。该模型由一系列Transformer模块组成,所有序列在单个潜在空间中融合;第一个模块中的几何注意力机制允许以原子坐标为条件进行计算。ESM3在监督下预测被掩码的token。
  • C) 结构的token化。每个氨基酸周围的局部原子结构被编码为token。
  • D) 模型在三个规模上进行训练:分别具有14亿、70亿和980亿个参数。测试集上的负对数似然(对不同掩码率求平均后的NLL)作为Y轴,训练浮点运算次数(FLOPs)作为X轴,且展示了模型对不同输入条件的响应。
  • E) ESM3 98B的无条件生成的结果(根据与训练集中最接近序列的序列同一性进行着色),由ESM3嵌入,并通过UMAP投影,同时展示来自UniProt的随机采样序列(灰色)。生成的结果具有多样性和高质量,覆盖了天然序列的分布范围。

最大的ESM3模型是在从序列和结构数据库中收集的27.8亿个天然蛋白质上进行训练的。由于与序列相比,通过实验确定的蛋白质结构只占一小部分,因此作者利用了预测结构。作者使用隐马尔可夫模型库为序列添加功能关键词注释。还利用逆折叠模型为所有结构(包括预测的结构)生成合成序列。总体而言,这使得训练数据增加到31.5亿个蛋白质序列、2.36亿个蛋白质结构和5.39亿个带有功能注释的蛋白质,总计7710亿个token。

作者训练了三个不同规模的ESM3模型,参数分别为14亿、70亿和980亿。在最初一系列评估架构超参数对表征学习性能影响的实验中,发现增加网络深度比增加宽度对模型性能的提升效果更显著。这一结果为最终架构选择相对较深的网络提供了依据,其中980亿参数的模型包含216个Transformer模块。

将ESM3的参数从14亿扩展到980亿,使得测试集中所有track的损失都有显著改善,其中序列损失的改善最为明显(图1D)。无条件和有条件负对数似然(NLL)之间的差距也随着模型规模的增大而扩大。在单序列结构预测方面,ESM3 98B超越了ESMFold(在CAMEO测试集中,平均局部距离差异测试(LDDT)得分分别为0.880和0.861)。无条件生成能够产生高质量的蛋白质,这些蛋白质在序列和结构上都具有多样性,涵盖了已知蛋白质的分布范围(图1E)。

研究结果表明,借助token化、高效架构,以及掩码token预测实现的语言模型,在表征和生成应用方面均能持续取得改进。这种方法使模型能够构建一个从数据中学习得到的共享多模态表征空间。随着计算资源和数据量的不断增加,该模型能够学习到越来越丰富、通用的特征空间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/968461.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CondaValueError: Malformed version string ‘~‘: invalid character(s)

CondaValueError: Malformed version string ‘~‘: invalid character(s) 送一张 GPT plus 、 deepseek-R1 满血 体验卡~ https://bbs.csdn.net/topics/619568415 ​ 报错原因 使用conda安装一些库时出现以下报错: CondaValueError: Malformed versio…

01、单片机上电后没有正常运行怎么办

单片机上电后没有运转, 首先要检查什么? 1、单片机供电是否正常? &电路焊接检查 如果连最基本的供电都没有,其它都是空谈啊!检查电路断路了没有?短路了没有?电源合适吗?有没有虚焊? 拿起万用表之前,预想一下测量哪里?供电电压应该是多少?对PCB上电压测量点要…

基于Java的分布式系统架构设计与实现

Java在大数据处理中的应用:基于Java的分布式系统架构设计与实现 随着大数据时代的到来,数据处理的规模和复杂性不断增加。为了高效处理海量数据,分布式系统成为了必不可少的架构之一。而Java,凭借其平台独立性、丰富的生态系统以…

【含文档+PPT+源码】基于Python的全国景区数据分析以及可视化实现

项目介绍 本课程演示的是一款基于Python的全国景区数据分析以及可视化实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该…

Apache Kafka 中的认证、鉴权原理与应用

编辑导读:本篇内容将进一步介绍 Kafka 中的认证、鉴权等概念。AutoMQ 是与 Apache Kafka 100% 完全兼容的新一代 Kafka,可以帮助用户降低 90%以上的 Kafka 成本并且进行极速地自动弹性。作为 Kafka 生态的忠实拥护者,我们也会持续致力于传播 …

初阶数据结构:树---二叉树的链式结构

目录 一、二叉树的链式结构 (一)、概念 二、二叉树链式结构的实现 (一)、二叉树链式结构的遍历 1、前序遍历 2、中序遍历 3、后序遍历 4、层序遍历 (二)、二叉树的构建 (三&#xff0…

SurfGen爬虫:解析HTML与提取关键数据

一、SurfGen爬虫框架简介 SurfGen是一个基于Swift语言开发的爬虫框架,它提供了丰富的功能,包括网络请求、HTML解析、数据提取等。SurfGen的核心优势在于其简洁易用的API和高效的性能,使得开发者能够快速构建爬虫程序。以下是SurfGen的主要特…

pyrender 渲染报错解决

pyrender渲染后,出来的图样子不对: 正确的图: 解决方法: pip install numpy1.26 下面的不是必须的: pip install pyrender0.1.45 os.environ["PYOPENGL_PLATFORM"] "egl" os.environ[EGL_DEVI…

C++,STL容器,unordered_map/unordered_multimap:无序映射/无序多重映射深入解析

文章目录 一、容器概览与核心特性核心特性对比二、底层实现原理:哈希表架构1. 哈希表核心结构2. 动态扩容机制三、核心操作详解1. 容器初始化与配置2. 元素插入与更新3. 元素访问与查找4. 元素删除策略四、实战应用场景1. 缓存系统实现2. 分布式系统路由表五、性能优化策略1. …

Qt 控件整理 —— 按钮类

一、PushButton 1. 介绍 在Qt中最常见的就是按钮,它的继承关系如下: 2. 常用属性 3. 例子 我们之前写过一个例子,根据上下左右的按钮去操控一个按钮,当时只是做了一些比较粗糙的去演示信号和槽是这么连接的,这次我们…

python-leetcode 27.合并两个有序链表

题目: 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 方法一:递归 函数在运行时调用自己,这个函数叫递归函数…

Unity中实现动态图集算法

在 Unity 中,动态图集(Dynamic Atlas)是一种在运行时将多个纹理合并成一个大纹理图集的技术,这样可以减少渲染时的纹理切换次数,提高渲染效率。 实现原理: 动态图集的核心思想是在运行时动态地将多个小纹理…

公然上线传销项目,Web3 的底线已经被无限突破

作者:Techub 热点速递 撰文:Yangz,Techub News 今天早些时候,OKX 将上线 PI 的消息在圈内引起轩然大波,对于上线被板上钉钉为传销盘子的「项目」 ,Techub News 联系了 OKX 公关,但对方拒绝置评…

元宵节快乐

早上吃的一碗小颗粒汤圆。 晚上做了三个小菜,一碗米饭和一杯饮料。 整理了Chrome浏览器收藏夹书签,删除了太多不需要的书签,重新分类,更加细化。 看到某博主推荐的5本书,下载这学期看看。点击此处下载 看来这段关系…

SAP系统常见的接口方式及特点介绍

【SAP系统研究】 在SAP系统中,接口主要用于系统间或系统与外部应用的数据交换和集成。以下是常见的接口方式及其特点: 一、IDoc方式 IDoc,Intermediate document,是SAP历史很悠久的接口技术,是一种系统间通用的数据交换媒介文件。IDoc基于XML的标准格式,常用于EDI、系…

【嵌入式Linux应用开发基础】open函数与close函数

目录 一、open函数 1.1. 函数原型 1.2 参数说明 1.3 返回值 1.4. 示例代码 二、close函数 2.1. 函数原型 2.2. 示例代码 三、关键注意事项 3.1. 资源管理与泄漏防范 3.2. 错误处理的严谨性 3.3. 标志(flags)与权限(mode&#xff…

LabVIEW国内外开发的区别

LabVIEW作为全球领先的图形化编程平台,在国内外工业测控领域均占据重要地位。本文从开发理念、技术生态、应用深度及自主可控性四个维度,对比分析国内外LabVIEW开发的差异,并结合国内实际应用场景,探讨其未来发展趋势。 ​ 一、开…

【大模型】阿里云百炼平台对接DeepSeek-R1大模型使用详解

目录 一、前言 二、DeepSeek简介 2.1 DeepSeek 是什么 2.2 DeepSeek R1特点 2.2.1 DeepSeek-R1创新点 2.3 DeepSeek R1应用场景 2.4 与其他大模型对比 三、阿里云百炼大平台介绍 3.1 阿里云百炼大平台是什么 3.2 阿里云百炼平台主要功能 3.2.1 应用场景 3.3 为什么选…

【DuodooBMS】给PDF附件加“受控”水印的完整Python实现

给PDF附件加“受控”水印的完整Python实现 功能需求 在实际工作中,许多文件需要添加水印以标识其状态,例如“受控”“机密”等。对于PDF文件,添加水印不仅可以增强文件的可识别性,还可以防止未经授权的使用。本代码的功能需求是…

linux的三剑客和进程处理

Linux三剑客: grep:查找 sed:编辑 awk:分析 grep - 正则表达式 [rootlocalhost ~]# grep ^a hello.txt abc grep - 忽略大小写,还有一些场景需要查询出来对应字符串所在的行号,方便我们快速在文件中定位字…