摘要2026年5月27日,由马克·扎克伯格与普莉希拉·陈创立的非营利研究机构 Biohub 正式发布了蛋白质生物学"世界模型"——这是 AI 在生命科学领域取得的里程碑式突破。该系统由三大核心组件构成:ESMC 蛋白质语言模型(基于28亿条跨物种蛋白质序列训练)、ESMFold2 原子级结构预测引擎、以及包含68亿蛋白质序列与11亿预测结构的 ESM Atlas 数据库。Biohub 研究团队使用该系统针对癌症和免疫学领域的五大关键靶点(EGFR、PDGFRβ、PD-L1、CTLA-4、CD45)设计了蛋白质结合物,实验室验证命中率高达36%-88%。这一成果将传统需要3-4年的药物候选分子发现周期压缩至数天,标志着 AI 驱动药物发现新纪元的正式开启。核心技术优势:无需多序列比对(MSA)的快速结构预测原子级精度的抗体-抗原结合构象预测(超越 AlphaFold 3)从头设计(De Novo)具有功能活性的新蛋白质MIT 开源许可,免费向全球研究者开放1. 背景与行业痛点1.1 蛋白质:生命的分子机器蛋白质是生命活动的核心执行者,几乎人体的一切功能都依赖于蛋白质的存在。从细胞间的信号传导到免疫防御,从物质运输到基因调控,蛋白质以其多样的三维结构和精密的功能特性维系着生命的运转。在医学领域,蛋白质是最重要的药物作用靶点之一——超过60%的获批药物以蛋白质为靶点,包括单克隆抗体、酶抑制剂、多肽药物等。然而,蛋白质的结构与其功能密切相关。氨基酸序列折叠形成的三维构象决定了蛋白质能否正确执行其生物学功能。理解蛋白质的结构,是设计能够与其特异性结合的药物分子的前提。1.2 传统药物发现的困境传统药物发现流程是一个漫长且昂贵的过程,一个临床前候选分子的发现通常需要3-4年时间,耗资可达数亿美元。主要痛点包括:(1)结构解析的瓶颈传统蛋白质结构解析依赖 X 射线晶体学、核磁共振(NMR)和冷冻电子显微镜(Cryo-EM)等实验技术。这些方法耗时长、成本高,且并非所有蛋白质都易于结晶或纯化。AlphaFold2 在2020年的突破使得蛋白质结构预测取得了巨大进步,但其在蛋白质结合物设计、抗体-抗原相互作用预测等更具挑战性的任务上仍有局限。(2)序列-结构-功能的鸿沟理解蛋白质序列如何决定其三维结构,以及三维结构如何实现其生物学功能,是生命科学的核心问题之一。传统方法依赖专家知识和大量实验验证,难以规模化探索广阔的蛋白质空间。(3)结合物设计的经验性设计能够特异性结合疾病靶点的蛋白质结合物(如抗体或迷你蛋白)传统上是一个高度经验性的过程,需要对靶点结构有深入了解,并通过大量实验迭代优化。这不仅耗时,还难以发现全新机制的结合模式。1.3 AI 赋能药物发现的机遇近年来,大型语言模型(LLM)在自然语言处理领域取得的成功启发了生物学家:蛋白质序列与自然语言有着相似的统计特性——两者都由基本单元(氨基酸/单词)按照一定规则组成,都具有复杂的多层级结构,且都通过"学习"隐含的统计规律来理解和生成。2020年,Meta AI(原 Facebook AI)发布了 ESM-1 模型,首次证明大规模蛋白质语言模型能够学习到蛋白质结构的隐含表征。2023年,基于 Transformer 架构的 ESMFold 进一步实现了无需多序列比对(MSA)的快速结构预测。这一技术演进为 Biohub 的突破奠定了基础。1.4 Biohub 的战略定位Biohub 是扎克伯格夫妇于2015年创立的非营利研究机构,隶属于 Chan Zuckerberg Initiative。2025年,Biohub 吸收了从 Meta AI 分拆出的 EvolutionaryScale 公司及其 ESM 研发团队,获得了顶尖的 AI 蛋白质研究能力。2026年4月,Biohub 宣布了5年5亿美元的"虚拟生物学计划"(Virtual Biology Initiative),旨在构建人类细胞的预测模型。Biohub 蛋白质世界模型的发布,正是这一宏大计划的首个重大科学产出。2. Biohub 蛋白质世界模型核心解析2.1 设计理念:学习生命的进化语法Biohub 世界模型的核心科学假设是:通过在所有生命的蛋白质序列上进行语言模型训练,模型将内化支配蛋白质生物学的根本属性——即蛋白质如何折叠、如何相互作用、如何在所有生命中发挥功能的底层规则。这一假设基于进化生物学的洞见:进化过程本质上是一个庞大的自然实验,保留下来的是功能健全、适合环境的蛋白质序列。因此,数十亿年进化数据中隐含保留了支配蛋白质功能的物理规则。大型语言模型通过学习预测"进化选择的氨基酸",能够自动发现这些规则。2.2 ESMC:蛋白质语言模型技术概述ESMC(Evolutionary Scale Model Cambrian,寒武纪进化规模模型)是 Biohub 最新一代的蛋白质表示语言模型。与专注于蛋白质生成的 ESM3 不同,ESMC 专注于创建能够捕获蛋白质底层生物学的表示。训练数据ESMC 在约28亿条来自各种生命形态的蛋白质序列上进行了训练,包括:细菌、古菌、真菌、植物、动物等各分支物种极端环境(高温、高盐、高压等)中的嗜极生物人体中超过20,000种蛋白质类型这一庞大的数据集涵盖了生命树的广度,使模型能够学习跨物种的进化保守模式和蛋白质家族的共同特征。架构创新ESMC 采用 Transformer 架构,能够处理任意长度的蛋白质序列。模型通过"掩码语言建模"(Masked Language Modeling)目标进行训练:随机遮盖输入序列中的部分氨基酸,训练模型预测被遮盖的残基。这种自监督学习方式使模型能够在没有标注数据的情况下学习丰富的蛋白质表示。核心能力ESMC 学习了蛋白质生物学的"组合语法"——残基之间的相互作用模式、折叠规则、功能域结构等。实验表明,模型学习到的表示能够捕获蛋白质结构、功能和进化关系的关键特征:残基接触预测远程同源性检测功能注释迁移突变效应预测2.3 ESMFold2:原子级结构预测引擎技术定位ESMFold2 是 ESM3 架构中的结构预测组件,负责将 ESMC 学习的序列表示转化为精确的原子级三维结构。与 ESMC 的表示学习能力结合,ESMFold2 实现了无需 MSA 的端到端结构预测。核心优势与传统结构预测方法相比,ESMFold2 具有以下优势:1. 无需 MSA,速度大幅提升传统方法(如 AlphaFold2)依赖多序列比对(MSA)来获取进化信息,这一过程计算密集且耗时。ESMFold2 直接从语言模型学习到的表示中推理结构,推理速度提升数个数量级。这使得大规模蛋白质结构筛选和实时结合物设计成为可能。2. 超越 AlphaFold3 的结合预测精度在最具挑战性的抗体-抗原结构预测任务上,ESMFold2 展现了世界领先的性能。研究表明,单独使用 ESMC 表示时,ESMFold2 在预测抗体-抗原真实结合构象方面已经优于 AlphaFold3。当提供与 AlphaFold 相同的进化信息(MSA)时,ESMFold2 在所有基准测试中均达到最强预测性能。3. 计算可扩展性ESMFold2 的结构预测精度可通过增加计算预算进一步提升。当允许模型进行多次预测并基于自身置信度评分时,ESMFold2 持续随着计算资源的增加而改善。这为计算资源充足的应用场景提供了进一步提升精度的空间。4. De Novo 蛋白质设计能力ESMFold2 不仅能预测已知序列的结构,还能参与全新蛋白质的设计。通过与生成模型结合,可以设计具有特定结构特征和功能特性的蛋白质,为合成生物学和药物发现开辟了新途径。2.4 ESM Atlas:68亿蛋白质宇宙图谱数据规模ESM Atlas 是目前规模最大的 AI 驱动蛋白质结构和功能注释数据库,包含:68亿条蛋白质序列(较 Meta 时代的6000万提升超过100倍)11亿个预测蛋白质结构(原子级精度)跨越生命树所有分支的蛋白质覆盖这一规模的扩展使研究人员能够在整个蛋白质宇宙中搜索和分析蛋白质关系,远远超出了实验结构解析或传统计算方法能够覆盖的范围。搜索与发现能力ESM Atlas 不仅仅是数据的存储库,更重要的是提供了基于 AI 表示的语义搜索能力:功能相似性搜索:查找具有相似功能特性的蛋白质结构相似性搜索:发现具有相似三维结构的蛋白质进化关系发现:识别跨越生命树远缘分支的进化联系一个重要应用案例是 CRISPR 基因编辑系统相关蛋白的发现。传统方法基于序列相似性难以发现远缘物种中功能相似的酶,但 ESM Atlas 能够识别序列差异显著但结构功能相似的蛋白质,揭示了生命树中隐藏的进化关系。对未知生物学的探索科学界已经注释的蛋白质只占已知序列的很小一部分。ESM Atlas 通过对全部68亿蛋白质提供结构和功能预测,使研究人员能够:探索此前未被表征的"蛋白质暗物质"为功能未知的蛋白质提供假设发现新的蛋白质家族和功能模块3. 技术架构深度解析3.1 整体架构设计Biohub 蛋白质世界模型采用分层解耦的架构设计,将蛋白质理解(ESMC)、结构预测(ESMFold2)和大规模检索(ESM Atlas)分离为独立可用的组件,同时通过标准化的表示格式实现无缝集成。┌─────────────────────────────────────────────────────────────────────────────┐ │ Biohub 蛋白质世界模型架构 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ 蛋白质序列 │ │ 蛋白质序列 │ │ 蛋白质结构 │ │ │ │ (68亿+) │ │ (28亿训练) │ │ (11亿+) │ │ │ └────────┬────────┘ └────────┬────────┘ └────────┬────────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ ESMC 蛋白质语言模型 │ │ │ │ • Transformer 架构 (570亿参数) │ │ │ │ • 掩码语言建模预训练 │ │ │ │ • 学习蛋白质"组合语法" │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ ESMFold2 结构预测引擎 │ │ │ │ • 序列 → 原子级3D结构 │ │ │ │ • 无需 MSA 快速推理 │ │ │ │ • 抗体-抗原结合预测(超越 AlphaFold3) │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ ESM Atlas 蛋白质图谱 │ │ │ │ • 68亿蛋白质序列索引 │ │ │ │ • 11亿结构数据库 │ │ │ │ • 功能/结构相似性搜索 │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ 能力输出层 │ │ │ │ • 蛋白质结构预测 • 新蛋白质设计 • 蛋白质结合物设计 │ │ │ │ • 功能注释 • 进化关系发现 │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘3.2 数据流与处理管道第一阶段:表示学习蛋白质序列首先被输入 ESMC 语言模型。模型通过多层 Transformer 注意力机制处理序列,捕获残基间的长程依赖关系。最终输出是一个高维向量表示(embedding),编码了蛋白质的结构、功能和进化信息。# ESMC 表示提取伪代码fromesmcimportESMCModel,ESMCTokenizer# 初始化模型和分词器model=ESMCModel.from_pretrained("biohub/esmc-600m")tokenizer=ESMCTokenizer.from_pretrained("biohub/esmc-600m")# 输入蛋白质序列sequence="MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKRQTLGQHDFSAGEGLYTHMKALRPDEDRLSPLHSVYVDQWDWERVMGDGERQFSTLKSTVEAIWAGIKATEAAVSEEFGLAPFLPDQIHFVHSQELLSRYPDLDAKGRERAIAKDLGAVFLVGIGGKLSDGHRHDVRAPDYDDWSTPSELGHAGLNGDILVWNPVLEDAFELSSMGIRVDADTLKHQLALTGDEDRLELEWHQALLRGEMPQTIGGGIGQSRLTMLLLQLPHIGQEQFGKQISELMTAVIAEIEKRISSLREKHKAEKRPg"inputs=tokenizer(sequence,return_tensors="pt")# 获取序列表示withtorch.no_grad():outputs=model(**inputs)# last_hidden_state 包含每个位置的表示sequence_embedding=outputs.last_hidden_state.mean(dim=1)第二阶段:结构预测ESMC 产生的表示被传递给 ESMFold2 结构预测模块。该模块通过折叠头部(folding head)将序列表示解码为三维坐标,输出原子级精度的蛋白质结构。第三阶段:图谱检索ESM Atlas 将所有蛋白质的表示存储在优化的向量数据库中,支持高速的相似性搜索。研究者可以:使用查询蛋白质查找相似序列发现功能相关的蛋白质家族探索进化关系网络3.3 计算架构Biohub 世界模型的训练和推理依赖大规模 GPU 集群。根据公开信息,Biohub 与 NVIDIA 建立了战略合作,使用 H100 GPU 进行模型训练和推理加速。推理优化技术:混合精度计算(FP16/BF16)批量处理最大化 GPU 利用率KV-cache 加速自注意力计算分布式推理支持4. 实验室验证数据4.1 靶点选择与设计Biohub 研究团队选择了癌症和免疫学领域的五个关键靶点进行验证:靶点类型生物学功能临床意义EGFR受体酪氨酸激酶促进细胞增殖和存活多种实体瘤(肺癌、结直肠癌等)PDGFRβ受体酪氨酸激酶调控血管生成和细胞生长肿瘤微环境重编程PD-L1免疫检查点抑制 T 细胞活化免疫逃逸机制,PD-1/PD-L1 抑制剂靶点CTLA-4免疫检查点负向调控 T 细胞激活免疫逃逸机制,CTLA-4 抑制剂靶点CD45蛋白酪氨酸磷酸酶T 细胞信号转导调节免疫细胞发育和激活4.2 设计方法针对每个靶点,研究团队采用以下计算设计流程:1. 靶点结构获取使用 ESMFold2 预测或从 PDB 获取靶点蛋白质的高分辨率结构。2. 结合界面设计定义靶点上希望蛋白质结合物作用的位点(如 PD-L1 的 PD-1 结合界面)。3. De Novo 生成使用语言模型和结构预测联合优化,生成能够与靶点形成稳定相互作用的候选序列。4. 虚拟筛选通过计算模拟评估候选结合物的:结合亲和力(基于 Rosetta 或 ESMFold2 打分)结构稳定性与非靶点蛋白的脱靶风险5. 实验验证选择评分最高的候选分子进行实验验证。4.3 验证结果命中率统计设计格式靶点数量命中率范围典型亲和力MiniBinder(紧凑型迷你结合物)536%-88%nM 级抗体衍生格式(scFv、Fab)515%-29%nM 级具体案例:PD-L1 靶点针对 PD-L1 设计的单链可变区片段(scFv)在实验中展现出:结合亲和力:4.3 nM(亚纳摩尔级)功能活性:成功恢复 T 细胞信号传导作用机制:有效阻断 PD-1/PD-L1 信号通路(与已获批的检查点抑制剂相同靶点)Cryo-EM 验证使用冷冻电子显微镜验证了 AI 设计的结合物确实以预测的构象结合到靶点上。结果显示,计算预测的结合位点和方向与实验观察高度一致,证明模型不仅"记忆"了已知的结合模式,而是真正理解了蛋白质相互作用的物理化学原理。4.4 创新性分析研究团队分析了设计的结合物与现有数据库中已知序列的相似性。结果显示:设计的结合物与公开数据库中任何已知序列的相似度均较低表明模型生成的是全新(De Novo)解决方案,而非从已知结合物库中检索或改写这一发现意义重大:它证明经过适当训练的 AI 模型能够"理解"蛋白质相互作用的底层规则,并生成超越训练数据的新颖功能性解决方案。5. 代码示例以下提供四个完整的代码模块,展示如何使用 Biohub 蛋白质世界模型进行实际研究。5.1 蛋白质序列检索与 ESMC 推理""" ESMC 蛋白质语言模型推理模块 功能:提取蛋白质序列的语义表示,用于下游任务 """importtorchfromtransformersimportAutoTokenizer,AutoModelfromtypingimportList,Dict,TupleimportnumpyasnpclassProteinRepresentationExtractor:""" 蛋白质序列表示提取器 基于 ESMC 模型生成固定维度的蛋白质嵌入向量 """def__init__(self,model_name:str="biohub/esmc-600m",device:str="cuda"):""" 初始化模型和分词器 Args: model_name: HuggingFace 模型名称 device: 计算设备 ('cuda' 或 'cpu') """self.device=torch.device(deviceiftorch.cuda.is_available()else"cpu")print(f"Loading model:{model_name}on{self.device}")self.tokenizer=AutoTokenizer.from_pretrained(model_name)self.model=AutoModel.from_pretrained(model_name)self.model.to(self.device)self.model.eval()@torch.no_grad()defextract_representation(self,sequence:str,pooling:str="mean")-np.ndarray:""" 提取单个蛋白质序列的向量表示 Args: sequence: 氨基酸序列字符串 pooling: 池化策略 ('mean', 'cls', 'max') Returns: 蛋白质嵌入向量 (hidden_size,) """# Tokenizeinputs=self.tokenizer(sequence,return_tensors="pt",padding=True,truncation=True,max_length=1024)inputs={k:v.to(self.device)fork,vininputs.items()}# 前向传播outputs=self.model(**inputs)hidden_states=outputs.last_hidden_state# (batch, seq_len, hidden)# 池化ifpooling=="mean":embeddings=hidden_states.mean(dim=1)elifpooling=="cls":embeddings=hidden_states[:,0,:]elifpooling=="max":embeddings=hidden_states.max(dim=1)[0]else:raiseValueError(f"Unknown pooling strategy:{pooling}")returnembeddings.cpu().numpy()[0]@torch.no_grad()defbatch_extract(self,sequences:List[str],batch_size:int=8,pooling:str="mean")-np.ndarray:""" 批量提取多个蛋白质序列的表示 Args: sequences: 蛋白质序列列表 batch_size: 批处理大小 pooling: 池化策略 Returns: 嵌入矩阵 (n_sequences, hidden_size) """all_embeddings=[]foriinrange(0,len(sequences),batch_size):batch=sequences[i:i+batch_size]inputs=self.tokenizer(batch,return_tensors="pt",padding=True,truncation=True,max_length=1024)inputs={k:v.to(self.device)fork,vininputs.items()}outputs=self.model(**inputs)hidden_states=outputs.last_hidden_stateifpooling=="mean":embeddings=hidden_states.mean(dim=1)elifpooling=="cls":embeddings=hidden_states[:,0,:]else:embeddings=hidden_states.max(dim=1)[0]all_embeddings.append(embeddings.cpu().numpy())if(i//batch_size+1)%10==0:print(f"Processed{min(i+batch_size,len(sequences))}/{len(sequences)}sequences")returnnp.vstack(all_embeddings)defcompute_similarity(self,seq1:str,seq2:str,metric:str="cosine")-float:""" 计算两个蛋白质序列的相似度 Args: seq1: 第一个序列 seq2: 第二个序列 metric: 相似度度量 ('cosine', 'euclidean') Returns: 相似度分数 """emb1=self.extract_representation(seq1)emb2=self.extract_representation(seq2)ifmetric=="cosine":returnnp.dot(emb1,emb2)/(np.linalg.norm(emb1)*np.linalg.norm(emb2))elifmetric=="euclidean":return-np.linalg.norm(emb1-emb2)# 负距离,越大越相似else:raiseValueError(f"Unknown metric:{metric}")deffind_similar_sequences(query_sequence:str,database_sequences:List[str],top_k:int=10,model_name:str="biohub/esmc-600m")-List[Tuple[int,float]]:""" 在数据库中查找与查询序列最相似的蛋白质 Args: query_sequence: 查询蛋白质序列 database_sequences: 数据库中的蛋白质序列列表 top_k: 返回前 k 个最相似结果 model_name: 模型名称 Returns: (index, similarity_score) 列表 """extractor=ProteinRepresentationExtractor(model_name)# 提取查询表示query_emb=extractor.extract_representation(query_sequence)# 批量提取数据库表示db_embeddings=extractor.batch_extract(database_sequences)# 计算余弦相似度similarities=np.dot(db_embeddings,query_emb)/(np.linalg.norm(db_embeddings,