Biohub发布ESM
原标题:Biohub/esm
Jupyter Notebook★ 2,505 stars+102 今日
速览
该项目整合了 ESM-1b、ESM-2 等大规模蛋白质序列模型,支持零样本预测、掩码语言建模及序列嵌入提取。适用于生物信息学中的蛋白质功能预测、结构分析及序列设计等 AI 驱动的研究场景。
AI 深度解读
这是什么
Biohub/esm 是由 Biohub 团队发布的一个基于 Evolutionary Scale Modeling (ESM) 技术的蛋白质生物学世界模型(World Model)。该项目旨在构建一个科学引擎,用于蛋白质的预测、设计和发现。
该系统建立在最新的 ESM 技术栈之上,通过从进化产生的数十亿蛋白质序列中学习,掌握了蛋白质生物学的底层规律。它不仅能表示和映射蛋白质,还能跨尺度(从原子相互作用到跨越数十亿年的进化关系)进行预测和设计。
项目主要包含三个核心组件:
- ESMC:最先进的蛋白质语言模型。
- ESMFold2:基于 ESMC 的结构预测模型。
- ESM Atlas:涵盖 68 亿种蛋白质的生物多样性格局地图。
解决的问题
传统蛋白质研究面临三大核心挑战,ESM 系列模型旨在逐一攻克:
- 理解复杂生物规律:蛋白质功能与其序列之间的映射关系极其复杂,传统方法难以捕捉长程结构依赖和进化约束。ESMC 通过训练数十亿条序列,学习了蛋白质生物学的“规则”,解决了从海量数据中提取功能性特征的问题。
- 结构预测的效率与精度平衡:现有的结构预测工具(如 AlphaFold2/3)在精度上表现优异,但在计算资源消耗和推理速度上存在瓶颈,且对从头设计(De novo design)的支持有限。ESMFold2 旨在提供比肩 SOTA 精度的同时,显著提升计算效率。
- 模型黑盒化与可解释性缺失:大型语言模型内部表示往往难以解读,阻碍了科学家对模型决策逻辑的信任和理解。ESM Atlas 结合稀疏自编码器(SAEs),解决了如何从黑盒模型中提取可解释、具生物学意义的功能单元的问题。
核心功能
1. ESMC:蛋白质语言模型
- 功能:作为基础底座,ESMC 从数十亿蛋白质序列中学习表示。
- 特性:
- 定义了相对于 ESM2 的新扩展前沿(Scaling Frontier)。
- 随着模型规模增加,展现出更强的涌现性长程结构理解能力。
- 提供从 600M 到 6B 等不同规模的模型变体。
2. ESMFold2:结构预测与设计
- 功能:结合 ESMC 的 6B 参数语言模型嵌入与基于扩散(Diffusion)的结构预测架构。
- 特性:
- 高精度预测:直接从氨基酸序列预测高分辨率、全原子 3D 蛋白质结构,支持可选的多序列比对(MSA)输入以增强挑战性目标的准确性。
- 设计验证:在五个治疗靶点上进行了实验室验证。
- 逆向设计:通过 ESMFold2 的逆向操作,能够生成具有高命中率、纳摩尔级亲和力、靶点特异性和功能活性的从头迷你结合蛋白(minibinders)和抗体衍生的 scFvs。
- 高效推理:支持单序列模式,折叠速度比传统方法快一个数量级。
3. ESM Atlas:可解释的世界地图
- 功能:一张覆盖生命多样性的 68 亿蛋白质地图,其中超过 10 亿个结构由 ESMFold2 预测生成。
- 可解释性技术:
- 利用**稀疏自编码器(SAEs)**将 ESMC 的内部表示分解为约 16,000 个可解释的特征。
- 通过代理管道(Agentic Pipeline)将每个特征映射到蛋白质数据库中的已知生物学知识,并用自然语言总结。
- 提供不同模型规模、层数和粒度级别的 SAEs 集合,揭示蛋白质间 ESMC 学到的功能关系。
亮点 / 与同类相比
- SOTA 性能与效率兼得:ESMFold2 在 Foldbench 的 DockQ 通过率上超越了其他模型(包括 AlphaFold3),特别是在蛋白质-蛋白质相互作用和抗体-抗原复合物方面。同时,其优化的扩散采样架构使其在单序列模式下速度提升显著。
- 端到端的闭环设计:不同于仅做预测的工具,ESM 提供了从目标序列到排名结合候选者的完整设计循环(Design Loop)。实验室验证表明其生成的结合蛋白具有高亲和力和功能性。
- 前所未有的可解释性:通过 ESM Atlas 和 SAEs,项目不仅提供预测结果,还揭示了模型内部的“世界观”。这是目前大多数黑盒 AI 生物模型所缺乏的深度洞察能力。
- 多模态访问方式:
- 本地部署:通过 Hugging Face 获取代码和权重,支持自定义和微调。
- 云端平台:通过 Biohub Platform 使用 API,无需复杂设置即可运行推理(API 已从
forge.evolutionaryscale.ai迁移至biohub.ai)。
适合谁用 / 上手
适合人群
- 计算生物学家:需要大规模蛋白质结构预测和进化关系分析的研究人员。
- 药物发现科学家:致力于从头设计抗体、迷你结合蛋白(minibinders)或优化蛋白质相互作用的治疗研发人员。
- AI for Science 开发者:希望利用 SOTA 蛋白质语言模型进行下游任务微调或特征提取的工程师。
上手指南
1. 环境安装
目前推荐从 GitHub 安装(PyPI 版本即将发布):
pip install esm@git+https://github.com/Biohub/esm.git@c94ed8d
2. 本地运行 (Hugging Face)
适用于需要自定义模型或微调的用户。
- 需拥有 Hugging Face 账号并登录。
- 模型权重位于
Biohub/ESMC-6B等仓库。
代码示例 (ESMC 推理):
import torch
from transformers import AutoModelForMaskedLM, AutoTokenizer
from huggingface_hub import login
login() # 使用 Hugging Face 凭证登录
sequences = ["MSKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKQHDFFKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYIMADKQKNGIKVNFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK"]
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)
# 如需所有层的隐藏状态,设置 output_hidden_states=True
3. 云端 API 运行 (Biohub Platform)
适用于快速推理和集成,无需管理 GPU 资源。
- 需在开发者控制台创建 API Token。
- 注意:API 端点已迁移至
https://biohub.ai。
代码示例 (ESMC API):
from esm.sdk import esmc_client
from esm.sdk.api import ESMProtein, LogitsConfig
# 定义蛋白质序列 (例如 Human carbonic anhydrase II)
protein = ESMProtein(
sequence=(
"MSHHWGYGKHNGPEHWHKDFPIAKGERQSPVDIDTHTAKYDPSLKPLSVSYDQATSLRILNNGHAFNVEFDD"
"SQDKAVLKGGPLDGTYRLIQFHFHW
查看原文 →github.com
