跳到正文

目录

Biohub/esm:蛋白质世界的世界模型,从序列预测到药物设计

快速信息卡

  • GitHub: Biohub/esm
  • Stars: 2,700+
  • Forks: 300+
  • License: NOASSERTION(GitHub 未能识别为标准许可,商用前需查阅仓库 LICENSE 文件)
  • 语言: Python / Jupyter Notebook
  • 维护状态: 活跃(2026-07 仍有提交)

学习目标

读完后你应该能:

  1. 说清 ESM 的三层架构(ESMC 语言模型、ESMFold2 结构预测、ESM Atlas 可解释层)和各层职责
  2. 说明 ESMFold2 相比 AlphaFold3 的优势与局限,以及官方结论的证据强度
  3. 解释 ESM Atlas 如何用稀疏自编码器把神经网络表征翻译成可读的生物学描述
  4. 判断 ESM 在蛋白质设计任务中的适用边界(已验证能力 vs 尚未充分验证的)
  5. 评估 ESM 是否适合你的场景,并知道从哪一步开始

目录


Biohub/esm:蛋白质世界的世界模型

一句话判断

esm 不是单个预测模型,而是一条从序列理解到结构预测、再到功能解释的完整推理链。ESMFold2 在蛋白质-蛋白质和抗体-抗原结合的基准上已展示出可比肩甚至超过 AlphaFold3 的成绩,ESM Atlas 把「世界模型」从概念推进到了可检索的生物学空间。值得注意的是,这些结论目前主要来自官方发布与预印本,第三方独立复现有限。

系统地图

esm 由三层组件构成一个流水线,每一层解决一类问题:

┌───────────────────────────────────────────────┐
│     ESM Atlas(可搜索图谱)                    │
│     68 亿条序列 + 11 亿个预测结构               │
│     稀疏自编码器(SAE) → 可解释特征 → 自然语言描述 │
├───────────────────────────────────────────────┤
│     ESMFold2(结构预测层)                     │
│     在冻结的 ESMC-6B 表征上接扩散结构预测头       │
├───────────────────────────────────────────────┤
│     ESMC(蛋白质语言模型)                     │
│     300M / 600M / 6B 三档,在约 28 亿条序列上训练 │
└───────────────────────────────────────────────┘

三层关系:ESMC 是底层世界模型,学习序列背后的进化规律;ESMFold2 基于它的表征做结构预测;ESM Atlas 再用稀疏自编码器把 ESMC 的内部表征拆解成可解释特征并映射到已知数据库。

核心组件逐层解析

ESMC:蛋白质语言模型

ESMC(Evolutionary Scale Modeling of the Cambrian)是一个掩码语言模型,训练目标是在遮住部分氨基酸后预测完整序列,上下文是进化留下的蛋白质序列,而不是自然语言句子。Biohub 给出的参数量三档为 300M、600M 与 6B,最大的是 6B 版本;模型在约 28 亿条跨生命树的序列上训练。与 ESM2 相比,ESMC 的核心论点是存在一条 Scaling Frontier:随着模型规模与训练计算量增大,长程结构与功能信息从表征中「浮现」出来的程度持续提升。

设计要点:

  • 全序列掩码训练:随机遮盖部分氨基酸,要求模型重建完整序列,从而压缩折叠与功能的约束
  • 多层表征输出:默认只返回最后一层,可通过 output_hidden_states=True 取各 Transformer 层的表征
  • 两条推理路径:本地 Hugging Face 运行(便于定制与微调),或走 Biohub 云平台(开箱即用)
from transformers import AutoModelForMaskedLM, AutoTokenizer

model = AutoModelForMaskedLM.from_pretrained("Biohub/ESMC-6B", device_map="auto").eval()
tokenizer = AutoTokenizer.from_pretrained("Biohub/ESMC-6B")

inputs = tokenizer(sequences, return_tensors="pt", padding=True)
inputs = {k: v.to(model.device) for k, v in inputs.items()}
with torch.inference_mode():
    output = model(**inputs)

官方目前说明 PyPI 包尚未正式发布,需通过 pip install esm@git+https://github.com/Biohub/esm.git@c94ed8d 从 GitHub 安装。

ESMFold2:融合语言模型的结构预测

ESMFold2 用 ESMC-6B 的表征作为输入,接一个扩散(diffusion)结构预测头,直接从序列产出原子分辨率的全原子结构。相比早期 ESMFold,它可以处理蛋白质、DNA、RNA、小分子配体以及带修饰的氨基酸组成的复合体系。

核心特性:

  1. 单序列模式:默认不需要 MSA(多序列比对),速度比传统方法快一个数量级
  2. 可选的 MSA 提升:困难靶点上可补充 MSA 以提升准确率
  3. 扩散采样步数可调:在精度与速度之间取舍
from esm.models.esmfold2 import ESMFold2Model, StructurePredictionInput, ProteinInput
model = ESMFold2Model.from_pretrained("biohub/ESMFold2").cuda().eval()
spi = StructurePredictionInput(
    sequences=[ProteinInput(id="A", sequence=HHAI_SEQ)]
)
result = ESMFold2InputBuilder().fold(model, spi, num_loops=3, num_sampling_steps=50)

输出包含 pLDDT(置信度)、pTM、ipTM 等质量指标,用于判断预测可信度。上述代码基于官方 cookbook 的写法,具体 API 会随版本演进,以仓库文档为准。

ESM Atlas:世界模型的可解释层

这是 esm 里最特别的部分。ESMC 把学到知识压缩进权重,人类无法直接读。Atlas 用**稀疏自编码器(SAE)**把 ESMC 的内部表征拆成约 1.6 万个可解释特征,再让自动化流程把这些特征与已知蛋白质数据库中的实体关联起来。

工作方式:

ESMC 隐藏层表征 → 稀疏自编码器(SAE) → 离散特征激活 → Agent 生成自然语言描述

每个特征对应一类可能的生物学意义(例如「此区域可能参与蛋白相互作用」)。Atlas 覆盖约 68 亿条序列和 11 亿个预测结构,是当前对蛋白质生物学规模最大的一次 AI 应用,可以在 Biohub 平台上检索结构、功能邻域以及现有数据库尚未标注的进化关联。

任务流案例:设计一个蛋白质 binder

以设计靶向某蛋白质的结合肽(binder)为例:

  1. 输入目标序列:把靶点序列送入 ESMFold2,先用单序列模式快速拿到结构
  2. 生成候选序列:在 ESMC 表征空间做优化,或用 ESMFold2 的逆向设计能力生成新的结合序列
  3. 结构验证:把候选序列重新输入 ESMFold2,确认折叠合理、结合界面成立
  4. 功能预估:通过 ESM Atlas 查询候选序列的表征特征,评估潜在活性
  5. 实验迭代:在实验室合成并测试,按实测结果调整序列

Biohub 在 2026 年 5 月的发布说明与一份预印本中报告,用这套流程针对与癌症和免疫相关的 5 个靶点完成了一次纯计算设计,搜索在数天内完成(而非数月到数年),所得 binder 在实验室验证中表现出高亲和力、高特异性和高稳定性,且与公开数据库已知序列相似度很低,倾向于是从头(de novo)生成的新解。需要说明:这批结果来自官方发布与预印本,完整实验方案和第三方复现尚未公开。

能力边界与不确定性

已验证的能力

  • 从单条序列预测蛋白质结构,无需 MSA
  • 蛋白质-配体复合物结构预测(DNA、RNA、小分子)
  • 蛋白质语言模型表征提取,适合下游任务微调
  • 大规模蛋白质序列 / 结构的可检索图谱(Atlas)

尚未充分验证或存在局限的

  • 性能对标声明:官方称 ESMFold2 在 DockQ 等指标上达到并能超过 AlphaFold3 的结果,主要来自官方预印本,第三方独立评测有限
  • binder 设计实际效果:官方展示了 5 个靶点的验证数据,样本量小,泛化能力未知
  • 计算资源门槛:ESMC-6B 与 ESMFold2 都需要较多 GPU 内存,本地运行成本高
  • 生物安全边界:项目含 Frontier Safety 相关内容,但具体护栏实现并未完全公开

不能由此推出的结论

  • ESMFold2「全面超越」AlphaFold3(目前只有官方自测 / 预印本数据)
  • 这套系统可直接用于临床药物设计(仍处科研验证阶段)
  • SAE 特征解释完全准确(由自动化流程生成,存在幻觉可能)

适用人群与采用建议

适合先尝试:

  • 需要快速从序列拿到结构,且没有充足 MSA 计算资源
  • 想在 ESMC 表征空间做下游任务(分类、聚类、功能预测)的研究团队
  • 需要大规模结构 / 表征数据查询(通过 Atlas)
  • 蛋白质设计的早期探索(binder、酶改造)

可以等等再上车:

  • 需要充分验证的生产级结构预测管线(建议与 AlphaFold2/3 交叉对比)
  • 对可解释性有严格要求的监管场景(SAE 特征仍在研究期)
  • 计算资源受限的中小团队

技术规格速览

组件模型规模输入输出
ESMC300M / 600M / 6B蛋白质序列隐藏层表征
ESMFold2冻结 ESMC-6B + 扩散头序列 ± 配体3D 结构(cif/pdb)+ 置信度
ESM Atlas SAE从 ESMC 表征提取ESMC 表征约 1.6 万个可解释特征

许可:GitHub 将仓库标记为 NOASSERTION,表明它不是 MIT 或 Apache 这类标准开放许可,实际条款以仓库 LICENSE 文件为准,商用前需确认。

如何开始

云平台(最快)

pip install esm  # PyPI 即将发布,当前建议用 git+... 安装
from esm.sdk import esmc_client
model = esmc_client(model="esmc-600m-2024-12", url="https://biohub.ai", token="<your_token>")

本地 Hugging Face

from transformers import AutoModelForMaskedLM, AutoTokenizer
model = AutoModelForMaskedLM.from_pretrained("Biohub/ESMC-6B", device_map="auto")

官方资源

  • GitHub:https://github.com/Biohub/esm
  • 官方发布说明:https://biohub.org/news/world-model-of-protein-biology/
  • 预印本:https://www.biorxiv.org/content/10.64898/2026.06.03.729735v1
  • Atlas 平台:https://biohub.ai/
  • 教程:https://github.com/Biohub/esm/tree/main/cookbook/tutorials

自测题

  1. ESM 的三层架构各层的职责是什么? 参考答案:ESMC 是底层语言模型,在约 28 亿条序列上训练(300M/600M/6B 三档),学习进化规律;ESMFold2 以 ESMC 表征为输入、接扩散头做结构预测;ESM Atlas 用 SAE 把 ESMC 表征拆成可解释特征并映射到数据库。

  2. ESMFold2 相比 AlphaFold3 的优势和局限是什么? 参考答案:优势——支持单序列模式(无需 MSA),速度更快;可处理 DNA、RNA、小分子与修饰氨基酸;官方预印本称其在蛋白质-蛋白质与抗体-抗原基准上达到并超过 AlphaFold3。局限——这些结论主要来自官方,第三方复现有限;binder 设计只有 5 个靶点样本,泛化未知。

  3. ESM Atlas 的稀疏自编码器起什么作用? 参考答案:ESMC 的知识以神经表征存在权重里,人读不懂。Atlas 用 SAE 把表征拆成约 1.6 万个可解释特征,再由自动化流程映射到已知蛋白质数据库,让大规模未注解序列变得可搜索。

  4. 这套系统能直接用于临床药物设计吗? 参考答案:不能。binder 验证只有 5 个靶点、样本量小;SAE 解释由自动化流程生成、存在幻觉;计算资源门槛高。目前定位是科研验证工具。

  5. 你会从哪几方面测试它是否适合你的团队? 参考答案:云平台上跑通一个单序列预测,与 AlphaFold2/3 对比精度和速度;用 ESMC 表征做下游任务微调;用 Atlas 查大规模数据;评估计算资源是否在预算内。


进阶路径

阶段一:快速验证(1–2 周)

  • 目标:跑通 ESMFold2 单序列预测,看懂三层架构
  • 行动:注册 Biohub 云平台,用 esm.sdk 预测一个结构,对照官方基准
  • 验收:能说清 ESMC、ESMFold2、ESM Atlas 各自的输入输出及协作方式

阶段二:科研应用(2–4 周)

  • 目标:在科研任务中评估 ESM 的适用边界
  • 行动:预测目标结构、微调 ESMC 表征做下游任务、用 Atlas 查特征
  • 验收:能判断它在特定任务上的精度与速度是否达标

阶段三:蛋白质设计(1–3 个月)

  • 目标:用 ESM 做 binder、酶改造等设计
  • 行动:按「任务流案例」走一遍,在 ESMC 表征空间优化序列并实验验证
  • 验收:能独立完成一个设计流程,并解释其生物学依据

阶段四:方法学改进(长期)

  • 目标:理解方法学局限并提出改进
  • 行动:读 ESMC、ESMFold2、Atlas 的论文,分析架构与训练细节
  • 验收:能批判性评价系统优劣并给出改进方向

常见问题

Q1: ESMFold2 的精度真的超过 AlphaFold3 吗?

A:官方预印本称其在 DockQ 基准上达到并能超过 AlphaFold3,尤其在抗体-抗原结合预测上更强。但这是官方结论,建议在实际任务中与 AlphaFold2/3 交叉对比后选用。

Q2: 需要多少计算资源?

A:ESMC-6B 与 ESMFold2 都需要较大的 GPU 内存。Biohub 云平台是最快的入门方式,不需要本地 GPU;本地运行请查看 HuggingFace 模型卡的硬件说明。

Q3: ESM Atlas 的特征解释可靠吗?

A:特征由自动化流程生成,存在幻觉可能,更适合作为假设生成工具,而非确定性结论,不应直接用于临床决策。

Q4: 可以商用吗?

A:GitHub 将仓库标记为 NOASSERTION,不是 MIT 或 Apache 标准许可。具体能否商用、以何种形式,需查看仓库 LICENSE 文件并咨询法律意见。

Q5: 如何获取技术支持?

A:可通过 GitHub Issues 或在官方渠道提问。科研类问题通常在 GitHub Issues 能得到社区或官方回复。


练习

练习 1:跑通 ESMFold2 单序列结构预测

任务:在 Biohub 云平台或本地用 ESMFold2 预测一个蛋白质的结构。

步骤

  1. 打开 Biohub 平台,或本地按 esm 依赖并导入 ESMFold2Model
  2. 选一条已知蛋白序列(如 GFP,绿色荧光蛋白)
  3. 用单序列模式预测(不提供 MSA)
  4. 下载 PDB 结果,用 PyMOL 或 ChimeraX 可视化
  5. 与实验结构(Protein Data Bank)对比

参考答案

  • 单序列模式应在分钟级完成
  • 计算 RMSD(均方根偏差),检查是否捕获正确的折叠拓扑
  • 若拓扑明显错误,说明该蛋白位于 ESMFold2 的能力边界之外

练习 2:用 ESMC 表征做聚类

任务:用 ESMC 提取序列表征向量并做聚类分析。

步骤

  1. 从 UniProt 下载一组功能相关的序列(如全部激酶)
  2. 加载 ESMC 模型(600M 起步,资源充裕再用 6B)
  3. 提取每个序列的表征(末层隐藏状态平均)
  4. 用 sklearn 做 PCA 或 UMAP 降维可视化
  5. 检查聚类是否与已知家族分类吻合

参考答案

  • ESMC 在大量序列上预训练,应能捕获功能相关模式
  • 功能相近的序列在表征空间应更靠近
  • 可比较不同层(等价于例程中的 output_hidden_states=True)的功能相关性差异

练习 3:用 ESM Atlas 查询特征

任务:用 ESM Atlas 查一个蛋白质的结构与功能特征。

步骤

  1. 打开 ESM Atlas 平台
  2. 检索你感兴趣的蛋白质(如刺突蛋白相关靶点)
  3. 查看 SAE 特征分解结果,哪些特征被激活
  4. 与已知功能注释对照,评估解释是否合理

参考答案

  • SAE 特征应能大致捕捉已知功能域
  • 解释由自动化流程生成,有幻觉可能,需谨慎
  • 把特征当假设来源,再用实验去验证

资料口径说明

本文的判断与结论来自以下来源,存在明确局限:

  1. 主要来源Biohub 官方发布说明(2026-05-27)、ESM 预印本、ESM GitHub 仓库。
  2. 断言强度:ESMFold2 对比 AlphaFold3、binder 设计的成绩均为官方发布与预印本口径,第三方独立复现有限。
  3. 稳定性边界:代码示例基于 ESM 现有 Python API,具体签名会随版本变化;PyPI 包尚未正式发布,需用 git+ 方式安装。
  4. 时效性:本文基于 2026 年 5–6 月的版本撰写,后续以官方为准。

🦞 文档版本:2026-05-30 | ESM 版本:ESMC-6B / ESMFold2 | 来源:GitHub

参与讨论

使用 GitHub 登录。欢迎补充事实、异议与实践。