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预测实现的语言模型,在表征和生成应用方面均能持续取得改进。这种方法使模型能够构建一个从数据中学习得到的共享多模态表征空间。随着计算资源和数据量的不断增加,该模型能够学习到越来越丰富、通用的特征空间。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在大型语言模型(LLM)框架内Transformer架构与混合专家(MoE)策略的概念整合

文章目录 传统的神经网络框架存在的问题一. Transformer架构综述1.1 transformer的输入1.1.1 词向量1.1.2 位置编码(Positional Encoding)1.1.3 编码器与解码器结构1.1.4 多头自注意力机制 二.Transformer分步详解2.1 传统词向量存在的问题2.2 详解编解码…

【黑马点评】 使用RabbitMQ实现消息队列——3.批量获取1k个用户token,使用jmeter压力测试

【黑马点评】 使用RabbitMQ实现消息队列——3.批量获取用户token,使用jmeter压力测试 3.1 需求3.2 实现3.2.1 环境配置3.2.2 修改登录接口UserController和实现类3.2.3 测试类 3.3 使用jmeter进行测试3.4 测试结果3.5 将用户登录逻辑修改回去3.6 批量删除生成的用户…

【安全靶场】信息收集靶场

靶场:https://app.hackinghub.io/hubs/prison-hack 信息收集 子域名收集 1.subfinder files.jabprisons.com staging.jabprisons.com cobrowse.jabprisons.com a1.top.jabprisons.com cf1.jabprisons.com va.cobrowse.jabprisons.com vs.jabprisons.com c…

springboot239-springboot在线医疗问答平台(源码+论文+PPT+部署讲解等)

💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm&#xf…

(一)获取数据和读取数据

获取公开数据 下载、爬虫、API 一些公开数据集网站: 爬虫: 发送请求获取网页源代码——解析网页源代码内容,提取数据 通过公开API获取: API定义了两个程序之间的服务合约,即双方是如何使用请求和响应来进行通讯的…

在MacBook Air上本地部署大模型deepseek指南

随着大模型技术的兴起,越来越多的人开始关注如何在本地部署这些强大的AI模型。如果你也想体验大模型的魅力,那么这篇文章将指导你如何在你的MacBook Air上本地部署大模型. 工具准备 为了实现本地部署,你需要以下工具: Ollama&a…

Windows中使用Docker安装Anythingllm,基于deepseek构建自己的本地知识库问答大模型,可局域网内多用户访问、离线运行

文章目录 Windows中使用Docker安装Anythingllm,基于deepseek构建自己的知识库问答大模型1. 安装 Docker Desktop2. 使用Docker拉取Anythingllm镜像2. 设置 STORAGE_LOCATION 路径3. 创建存储目录和 .env 文件.env 文件的作用关键配置项 4. 运行 Docker 命令docker r…

git学习【个人记录b站尚硅谷】

git学习 Git基本命令操作设置用户签名初始化本地库添加文件从工作区到暂存区将文件从暂存区添加到本地库修改文件重新提交 Git分支Github操作创建远程库上传到远程库克隆到本地文件夹拉取远程库最新版本到本地 总结 Git基本命令操作 设置用户签名 git config --global user.n…

【R语言】t检验

一、基本介绍 t检验(t-test)是用于比较两个样本均值是否存在显著差异的一种统计方法。 t.test()函数的调用格式: t.test(x, yNULL, alternativec("two.sided", "less", "greater"), mu0, pairFALSE, var.eq…

TDengine 产品由哪些组件构成

目 录 背景产品生态taosdtaosctaosAdaptertaosKeepertaosExplorertaosXtaosX Agent应用程序或第三方工具 背景 了解一个产品,最好从了解产品包括哪些内容开始,我这里整理了一份儿 TDegnine 产品包括有哪些组件,每个组件作用是什么的说明&a…

实现限制同一个账号最多只能在3个客户端(有电脑、手机等)登录(附关键源码)

如上图,我的百度网盘已登录设备列表,有一个手机,2个windows客户端。手机设备有型号、最后登录时间、IP等。windows客户端信息有最后登录时间、操作系统类型、IP地址等。这些具体是如何实现的?下面分别给出android APP中采集手机信…

使用 Docker 安装 Open WebUI 并集成 Ollama 的 DeepSeek 模型

文章目录 使用 Docker 安装 Open WebUI 并集成 Ollama 的 DeepSeek 模型前提条件1. 安装ollama2. 拉取deepseek的模型3. Open-WebUI 说明4. 启动容器文档的方法如下优化命令(可选)1. 增加了健康检查机制(--health-cmd)2. 使 WebUI…

Untiy3d 铰链、弹簧,特殊的物理关节

(一)铰链组件 1.创建一个立方体和角色胶囊 2.给角色胶囊挂在控制脚本和刚体 using System.Collections; using System.Collections.Generic; using UnityEngine;public class plyer : MonoBehaviour {// Start is called once before the first execut…

【NLP 21、实践 ③ 全切分函数切分句子】

当无数个自己离去,我便日益坦然 —— 25.2.9 一、jieba分词器 Jieba 是一款优秀的 Python 中文分词库,它支持多种分词模式,其中全切分方式会将句子中所有可能的词语都扫描出来。 1.原理 全切分方式会找出句子中所有可能的词语组合。对于一…

团结引擎 OpenHarmony 平台全面支持 UAAL,实现引擎能力嵌入原生应用

团结引擎1.4版本已于近日正式发布!在这一版本中,OpenHarmony 平台迎来了一个具有里程碑意义的更新:全面支持 Used as a Library(UAAL)。UAAL 这一技术方案,具有将引擎嵌入原生应用的独特能力,其…

自己部署DeepSeek 助力 Vue 开发:打造丝滑的标签页(Tabs)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 自己…

DeepSeek渣机部署编程用的模型,边缘设备部署模型

DeepSeek渣机部署编程用的模型,边缘设备部署模型 文章目录 DeepSeek渣机部署编程用的模型,边缘设备部署模型前言一、python代码二、构建一个简单的前端来接入接口2.读入数据 总结 前言 也许大家伙都想完成一些部署DeepSeek的东西,不过部署并…

VS2019打开《喜缺全书算法册》附带代码的方法兼述单元测试

下载地址(大量的题目和测试用例) 下载:地址一,几乎实时更新 GitCode下载。 下载地址二,不定期更新csdn打包下载 如果这两个链接打不开,可能是这两个资源处于审核状态,快则几分钟,慢则2天。 可以加本文末的&#xff31…

急停信号的含义

前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发C#的运动控制程序的时候,一个必要的步骤就是确认设备按钮的急停…

小白学网络安全难吗?需要具备哪些条件?

作为一名零基础小白,想要转行IT学习一门新技术,且上手难度低、就业前景好、薪资待遇高、入行门槛低,网络安全是最值得的选择,掌握它之后你可以获得一份收入不错的工作。那么零基础学网络安全好学吗?以下是具体内容介绍。 首先&am…