PG-LLM基准评测:蛋白突变排序下通用与专业模型谁更强?

发布时间:2026/8/27 5:46:45
PG-LLM基准评测:蛋白突变排序下通用与专业模型谁更强? 先说结论PG-LLM 的价值不在于“又多了一个评测榜单”而在于第一次有人把通用大语言模型和蛋白专业模型放到了同一套蛋白突变排序规则下进行比较。这个“标准统一”的动作比 13 款主流 LLM 和 95 种专业模型这两个数字本身更重要。如果你正在做蛋白质工程、遗传病致病突变分析或者准备把 LLM Agent 接入生物医药领域的业务系统你应该关心这个基准。因为蛋白突变排序不是一个论文里的玩具问题它是基因检测解读、抗体亲和力成熟、酶定向进化这些真实项目里绕不开的环节。过去我们要么依赖昂贵的湿实验要么依赖各种“自己说了算”的模型评估现在 PG-LLM 提供了一个可以横向比较的尺子这直接影响了“我该在任务里选择哪个模型”这个工程决策。这篇文章会从蛋白突变排序任务的本质讲起拆解 PG-LLM 评测基准的设计逻辑对比通用 LLM 与蛋白专属模型在任务上的差异然后给出一个本地可跑的零样本突变排序示例最后讨论这类基准的局限和落地建议。1. 为什么蛋白突变排序需要一份标准化评测基准先理解一个具体场景。假设你拿到一名患者的全外显子测序数据发现某个基因上有一个错义突变比如第 88 位氨基酸从亮氨酸L变成了脯氨酸P。临床遗传学家需要回答一个问题这个突变会不会影响蛋白质功能如果影响程度有多大这个问题生物学上叫“变异效应预测”variant effect prediction。放到蛋白质工程领域它变成另一个问题我要设计一种抗体让某个位置的氨基酸换成哪种残基能提高它对靶标的亲和力这时候需要给所有可能的突变体排序把最有希望的几个挑出来做实验验证。这两种场景的共同点在于都需要对蛋白质序列上的氨基酸突变进行排序而不是单纯二分类为“有害”或“无害”。排序意味着我们要给每一个突变打一个分数分数高低代表效应强弱。实验上深度突变扫描Deep Mutational Scanning, DMS可以比较完整地回答这个问题它在一个实验里并行测量成千上万个突变体的功能表现。但 DMS 实验成本高、周期长不可能对每一对临床突变都做一遍。因此计算预测是必经之路。过去几年计算预测的主流方案是 ESM、ProtTrans、Tranception 这一类蛋白专属语言模型。它们的预训练方式是“蛋白质序列的掩码语言建模”把一段氨基酸序列随机挖掉几个位置让模型根据周围残基预测被挖掉的是什么。这个训练目标天然适合突变效应预测——哪个氨基酸替换会破坏序列的统计分布模型给出的概率变化就能反映出来。但到了 2023 年之后通用大语言模型GPT、Claude、Gemini、Llama 等的能力边界不断扩展开始有研究尝试用通用 LLM 做蛋白质功能推理甚至直接用自然语言描述突变让模型判断致病性。于是行业里出现了一个很实际的问题通用 LLM 在这种专业任务上到底行不行如果行和专门训练的蛋白模型差多少这个问题看似简单回答起来却很困难因为各家论文用的数据集不一样任务设置不一样评估指标也不一样。有的论文只看二分类 AUC有的论文只看 Spearman 相关系数有的模型用了 DMS 数据做微调有的做的是零样本预测。结论自然五花八门很难横向比较。PG-LLM 的价值就在这里它像一份统一命题的考试把 13 款主流通用 LLM 和 95 种蛋白专业模型放在同一套蛋白突变排序任务里用统一的数据集、统一的任务设置、统一的评估指标进行打分。这样研究人员才能回答一个之前很难回答的问题钱应该花在通用大模型的 API 调用上还是花在训练和部署蛋白专属模型上。2. 蛋白突变排序的任务本质与难点要理解 PG-LLM 评测了什么得先明白蛋白突变排序任务在技术上是怎么定义的。给定一条野生型蛋白质序列 S长度为 L我们把第 i 个位置的氨基酸从野生型残基 r_wt 替换成另一个残基 r_mt就得到一个突变体。任务的目标是对一组这样的突变体按照“功能影响程度”从大到小排序。这里的“功能影响”由实验数据定义。DMS 实验通常会给出每一个突变体相对野生型的功能得分如酶活性、结合亲和力、细胞存活率等。这些实验得分就是排序任务的标签。模型需要输出一个分数分数与实验标签的排序一致性越高越好。最常用的排序一致性指标是 Spearman 秩相关系数它只关心模型分数和实验分数之间的单调关系不要求绝对值吻合。这个特性很重要因为模型输出的分数往往不是真实的功能值只要排序大致正确就能用。任务难在哪里有三层第一层是数据稀疏。一个蛋白质可能有 19×L 个单点突变20种氨基酸替换自身之外的19种但 DMS 实验通常只覆盖其中一部分而且不同蛋白质的 DMS 数据质量差异很大。第二层是信号微弱。很多突变对蛋白质功能的影响很小属于“中性突变”模型需要在这种几乎没差异的信号中分辨出有限几个关键的有害突变。这比单纯判断“有没有影响”难得多。第三层是评估方式不统一。零样本预测zero-shot和少样本微调few-shot对模型的要求完全不同。零样本要求模型只凭预训练阶段学到的知识做出判断少样本则允许模型在少量 DMS 数据上做适配。如果评测基准不把这两种设置分开得到的结论容易失真。PG-LLM 这类标准化基准要解决的正是第三层问题同时也为第一层和第二层提供更规范的评估框架。从底层原理看我们需要区分两类模型在任务上的工作方式。蛋白专属模型比如 ESM-2本质上是一个序列概率模型它对“某个位置出现某个氨基酸”的概率进行建模。当突变后的序列概率远低于野生型时模型认为这个突变破坏了蛋白质序列的“自然规律”从而给出一个不利的分数。这种方法的优点是直接、稳定预训练目标与任务目标高度一致缺点是模型不理解“功能”是什么它只是从序列统计规律推断对远距离调控、蛋白质相互作用等复杂因素无能为力。通用 LLM 的工作方式则完全不同。它接受的是符号序列可以是氨基酸字母也可以是自然语言描述。它判断突变效应时依据的是预训练阶段学习到的海量生物医学文献、数据库和常识知识。因此通用 LLM 有可能捕捉到序列统计之外的语义信息但它也可能把百科知识里的“已有结论”误当成“这个具体突变的预测”并且在不同提示词模板下表现出非常不稳定的结果。3. PG-LLM 评测基准的设计思路从项目标题可以看出PG-LLM 的核心贡献有三个关键词首个、面向 LLM、标准化。这三个词分别对应了不同的技术内涵。“首个”指的是它的历史定位。尽管 ProteinGym 等基准已经被广泛使用但它们的设计目标主要是评估蛋白专属模型而不是围绕通用 LLM 的能力边界来设计评测体系。通用 LLM 的输入形式更灵活、输出形式更多样、推理方式也不同。因此需要一个专门面向 LLM 的评测方案而不是简单套用旧基准。“面向 LLM”意味着评测设计要考虑 LLM 的特点。比如通用 LLM 不能直接输出一个定量的功能分数但可以让它输出一个 0 到 1 的数值或大小判断再转换为排序分数。LLM 可以通过自然语言 prompt 接收上下文评测时需要确定是只给氨基酸序列还是同时给蛋白质名称、功能描述、甚至相关文献摘要LLM 的推理结果受解码参数影响评测时需要统一温度、max_tokens 等参数否则结果不可复现。“标准化”则指向整个评测流程的封闭性和可比性。具体包括固定评测数据集不随使用者的意图变动。固定任务设置区分零样本和少样本两套评测协议。固定评估指标至少覆盖排序指标和分类指标两类视角。固定评测代码和模型版本保证不同团队跑出来的结果可以直接比对。评测一个模型“好不好”看起来很简单但细节里藏满了容易引发争议的决策点。比如一个通用 LLM 在判断突变效应时如果把蛋白质名称告诉它它的结果可能更多来自对已知文献的记忆而不是对序列本身的理解。这算模型能力还是算记忆泄漏PG-LLM 作为一份标准化基准需要在这些问题上给出明确的方案而这也是它的核心贡献之一。具体的数据集构成、prompt 模板和模型清单需要等论文正式发布后以原文为准。这里不展开臆测但评测设计的基本原则是通用的任务足够贴近真实场景指标足够客观设置足够透明。4. 通用 LLM 与蛋白专业模型不是一个维度的对手PG-LLM 把 13 款主流通用 LLM 和 95 种蛋白专业模型放在同一个榜单里。看到这个设置第一反应可能是“拿篮球运动员和游泳运动员比跑步”。但实际上这两种模型在蛋白突变排序任务上恰恰是互补的把它们放在一起对比能让研究者做出更理性的选型。下面用表格梳理两类模型的核心差异。对比维度通用大语言模型GPT、Claude、Gemini、Llama 等蛋白专属模型ESM、ProtTrans、Tranception 等输入形式氨基酸序列文本、自然语言描述、结构化 JSON氨基酸序列token 化后输入预训练数据网页、论文、书籍、代码等多源文本数百万条蛋白质序列UniProt 等预训练目标自然语言下一个 token 预测蛋白质序列掩码重建或语言建模对蛋白质的理解语义层面的知识关联文献、数据库序列统计层面的进化规律零样本突变预测能力不稳定强依赖 prompt 设计能力稳定预训练目标天然适配可解释性可以输出推理理由便于审计只输出分数解释性差部署成本高需要 GPU 集群或 API 调用相对低模型规模可选几千到几亿参数典型使用方式知识问答、推理、Agent 调度批量序列打分嵌入到分析 pipeline从这张表能得出一个很重要的结论通用 LLM 和蛋白专业模型在突变排序任务上各有不可替代的位置。如果你的任务非常明确就是给一批突变排序并且对成本敏感、要求结果稳定可复现那么蛋白专属模型仍然是最稳妥的默认选择。ESM-2 这类模型在无监督突变效应预测上的表现经历了大量验证而且它是开源的可以在本地部署不存在 API 数据出境问题。如果你的任务比较复杂需要结合文献证据、需要给出可解释结论、需要处理蛋白序列之外的上下文那么通用 LLM 的语义理解能力就能派上用场。PG-LLM 系统测评的价值在于它告诉我们这类“语义能力”在突变排序这个具体任务上到底转化成了多少实际收益。我一直认为对这类“AI for Science”任务最理性的认知是通用 LLM 与专业模型不是替代关系而是配合关系。合理的 pipeline 通常是这样——先用蛋白专属模型做全突变空间的高通量打分缩小候选范围再用通用 LLM 在候选小集合上做语义层面的综合判断并结合文献证据给出解释最后把剩余的几个突变交给湿实验验证。5. 如何读懂一份模型评测结果PG-LLM 作为评测基准输出结果最终会落到一些量化指标上。搞清楚这些指标是正确使用评测结论的前提。蛋白突变排序任务里最常见的评估指标是 Spearman 秩相关系数。它的计算方式是将模型对每一个突变打出的分数排序和实验标签的排序做秩相关分析。Spearman 相关系数的取值范围是 -1 到 11 表示完全正相关-1 表示完全负相关0 表示无相关性。在突变效应预测领域一般能跑到 0.3 以上就说明模型有实用价值了0.5 以上属于相当不错的表现。第二个常见指标是 AUCArea Under the ROC Curve。它的前提是把任务退化为二分类把实验标签按阈值分成“有害”和“中性/有益”两组然后看模型分数是否能区分两组。AUC 为 0.5 时相当于随机猜测1.0 时完全分类正确。AUC 的优点是直观缺点是把排序任务压缩成了分类任务丢失了“排序质量”这个关键信息。第三个值得关注的指标是 recallk。在蛋白质工程场景中我们经常关注“前 k 个推荐里包含多少个真正有效的突变”。比如设计 20 个候选突变体送去做实验如果模型排序的前 20 个里命中了 15 个有效突变那么 recall20 就是 75%。这个指标直接影响实验成本和项目周期。下表汇总了这些指标的特点。指标回答的问题适用场景注意事项Spearman 相关系数模型排序和实验排序一致吗整体排序质量对微小分数的噪声敏感需要数据规模足够大AUC模型能区分有害和良性吗临床筛查类任务丢失了排序局部质量信息recallk前 k 个推荐里命中多少个蛋白质工程实验筛选需要结合实验预算设置 k在阅读 PG-LLM 的评测结果时有两点需要特别留意。第一不要只盯一个指标。一个模型可能 Spearman 指标很高但 top-k 命中率不佳另一个模型可能 AUC 突出但整体排序混乱。要根据自己的下游任务找到最适配的指标权重。第二要关注评测设置是 zero-shot 还是 few-shot。零样本预测才是对模型通用能力的检验少样本预测则检验模型在少量数据上的适配效率。这两者面对的任务难度完全不同放在同一张表里比较时要保持警惕。6. 实践本地跑一个零样本突变排序示例PG-LLM 论文的官方代码我们以正式发布为准。但在论文公布之前我们可以先在本地跑通一个最常用的零样本突变排序流程用于理解模型输出和评估指标之间的关系。下面用 ESM-2 小模型演示完整流程。6.1 环境准备推荐环境Python 3.9 或更高版本PyTorch 1.13 或更高版本Hugging Face Transformers 4.30 以上scipy 用于计算 Spearman 相关系数安装依赖pip install torch transformers scipy如果电脑没有 GPU也可以使用 CPU 运行。为了演示我选择facebook/esm2_t6_8M_UR50D这个极小模型CPU 也能跑动。生产级项目推荐使用更大的esm2_t33_650M_UR50D或esm2_t48_15B_UR50D。6.2 模型加载与突变打分函数# 文件路径mutation_score.py from transformers import AutoTokenizer, AutoModelForMaskedLM import torch model_name facebook/esm2_t6_8M_UR50D tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModelForMaskedLM.from_pretrained(model_name) model.eval() def predict_mutation_score(sequence, position, wild_aa, mutant_aa): 使用掩码概率差方法评估单点突变效应。 position: 0-based 位置索引 wild_aa: 野生型氨基酸单字母编码 mutant_aa: 突变型氨基酸单字母编码 返回 (野生型对数概率, 突变型对数概率, 对数概率差) seq_list list(sequence) # 复制原序列把目标位置替换为掩码 token masked_seq_list seq_list.copy() masked_seq_list[position] tokenizer.mask_token masked_seq .join(masked_seq_list) inputs tokenizer(masked_seq, return_tensorspt) with torch.no_grad(): outputs model(**inputs) # ESM 序列开头有 cls token所以目标位置要 1 logits outputs.logits[0, position 1, :] log_probs torch.log_softmax(logits, dim-1) wt_id tokenizer.convert_tokens_to_ids(wild_aa) mt_id tokenizer.convert_tokens_to_ids(mutant_aa) wt_logprob log_probs[wt_id].item() mt_logprob log_probs[mt_id].item() return wt_logprob, mt_logprob, mt_logprob - wt_logprob这段代码实现的是零样本突变预测最经典的“掩码恢复”打分方案。核心逻辑是把突变位置遮住让 ESM 模型基于上下文去预测该位置最可能出现的氨基酸。如果模型认为突变后的氨基酸很难出现对数概率很低说明这个突变不符合蛋白质序列的进化规律可能是有害突变。6.3 对一组突变进行排序并计算 Spearman接下来我们构造一个小型测试集选取一条短的蛋白质序列生成 3 个已知标签的突变计算排序相关性。# 文件路径run_evaluation.py from mutation_score import predict_mutation_score from scipy.stats import spearmanr # 示例人类血红蛋白 alpha 亚基前 20 个残基 sequence MVLSPADKTNVKAAWGKVGAH mutations [ {pos: 0, wt: M, mt: V, label: 0.1}, # 影响较小假设 {pos: 5, wt: A, mt: P, label: 0.8}, # 影响较大假设 {pos: 10, wt: K, mt: E, label: 0.5}, # 影响中等假设 ] pred_scores [] true_labels [] for mut in mutations: _, _, delta predict_mutation_score( sequence, mut[pos], mut[wt], mut[mt] ) pred_scores.append(delta) true_labels.append(mut[label]) print(f{mut[wt]}{mut[pos] 1}{mut[mt]} delta_logprob{delta:.4f} label{mut[label]}) rho, p_value spearmanr(pred_scores, true_labels) print(f\nSpearman rho {rho:.3f}, p-value {p_value:.4f})这里需要注意delta_logprob是突变型相对野生型的对数概率差。值越负通常表示模型认为这个突变越有害。因此在计算 Spearman 时排序方向要和实验 label 方向对齐如果出现负相关可以检查是不是符号取反了。6.4 用通用 LLM 做同样的排序再来看通用 LLM 的调用方式。这里以 OpenAI 兼容的 Chat Completions API 为例演示如何让大模型对突变效应打分。# 文件路径llm_mutation.py from openai import OpenAI client OpenAI() model_name 你实际使用的模型名 # 例如 gpt-4o-mini、deepseek-chat def llm_predict_mutation(sequence, position, wild_aa, mutant_aa): prompt f你是一位计算生物学家。以下是蛋白质序列的单字母氨基酸表示 {sequence} 该蛋白质第 {position 1} 位的野生型氨基酸是 {wild_aa}该位点突变为 {mutant_aa}。 请评估这个突变对蛋白质功能的影响程度。 只输出一个 JSON格式如下 {{effect_score: 0.0 到 1.0 之间的一个浮点数, reason: 一句话解释}} 其中 effect_score 越大表示对功能影响越严重。 response client.chat.completions.create( modelmodel_name, messages[{role: user, content: prompt}], temperature0, response_format{type: json_object}, ) return response.choices[0].message.content print(llm_predict_mutation(sequence, 0, M, V))运行后大模型会返回类似下面的结果{effect_score: 0.3, reason: M1位于信号肽区域疏水性变化可能影响蛋白转运但不改变成熟蛋白结构。}这里推荐使用temperature0因为评测场景需要可复现性温度越高输出波动越大。同时response_format强制 JSON 输出可以让下游解析更加稳定。7. PG-LLM 这类基准对工程落地的影响PG-LLM 不只是学术论文里的一个工具它对实际的药物研发和生物信息学工程有直接参考价值。第一个价值是模型选型依据。过去一个做抗体工程的团队要在 ESM 和某个通用 LLM 之间做选择只能靠零散论文和拍脑袋。现在有了标准化评测结果可以直接回答“在突变排序任务上哪类模型的性价比更高”。如果通用 LLM 的排序表现只是略逊于专业模型但团队已经有 API 集成基础那用通用 LLM 统一处理文本和序列任务就是更省人力成本的方案。第二个价值是 Pipeline 设计参考。评测基准通常不只是给一个分数它暴露了模型在数据预处理、prompt 设计、输出解析等环节的隐藏问题。比如序列长度限制通用 LLM 的上下文窗口大但蛋白专属模型对序列长度有限制比如 token 化方式蛋白序列中“A”在通用 tokenizer 里未必对应一个独立 token。这些问题在集成阶段就会暴露出来而评测基准能提前告诉我们。第三个价值是团队协作的标尺。在一个 AI 制药团队里算法团队负责模型生信团队负责数据处理药理团队负责实验验证。PG-LLM 的标准评估流程可以成为多团队协作的“验收标准”新模型上线前先过一遍基准测试再决定是否替代旧模型。这能减少很多争论。第四个价值值得单独强调它推动评测报告的透明度。很多论文在报告结果时存在选择性披露倾向比如只报最喜欢的指标。标准化基准的好处是强制所有参与者跑同一套任务用同一套指标降低了信息不对称。8. 现有局限与使用注意事项任何基准都有边界PG-LLM 也不例外。在使用其评测结论时有几点需要保持清醒。第一评测数据集覆盖不等于真实世界的全部场景。DMS 数据集的构建依赖具体的实验条件和蛋白质类型如果一个评测基准主要覆盖了某些蛋白家族那么结论外推到其他蛋白家族时会有风险。特别是临床遗传学场景致病突变的判断还涉及剪接、调控、蛋白相互作用等复杂因素远不是简单的序列突变排序能覆盖的。第二通用 LLM 的版本迭代速度远快于评测基准。今天评测的 13 款模型可能三个月后就更新换代了新的模型版本不在评测范围内。因此在工程实践中评测基准更像是一个年度体检而不是每天都要看的实时监控。第三提示词设计对 LLM 结果影响巨大。同一个模型换一种 prompt 写法结果可能从可用变为不可用。PG-LLM 的评测结果反映的是它规定的 prompt 模板下的表现而不是模型能力的绝对上限。在实际项目中需要针对自己的任务做 prompt 优化直接迁移基准的 prompt 不一定是最优解。第四数据泄漏风险是评测 LLM 时的“房间里的大象”。通用 LLM 在预训练时见过大量生物医学文献如果论文里的某个 DMS 数据集恰好出现在预训练语料中模型记忆到的实验结论就会污染评测结果。标准化的评测基准应该通过时间切分、数据集隔离等手段降低这种风险但外部使用者很难完全验证这一点。第五不要盲目相信“越大越好”。模型规模大了推理成本、部署复杂度和延迟都会上升但评测分数可能只提升几个百分点。在蛋白突变排序这类任务中一个 6.5 亿参数的 ESM-2 模型和 15B 参数的大模型之间的差距可能远小于 prompt 工程和集成策略带来的差距。9. 总结与后续方向PG-LLM 给蛋白突变排序领域带来的核心价值是把一场原本混乱的“民间比武”变成了一场规则清晰的“正式比赛”。13 款主流 LLM 和 95 种专业模型的横评结果为研究人员和工程师提供了一个可以依赖的选型参照。对于实际项目我的建议是不要试图在通用 LLM 和蛋白专属模型之间二选一而是设计一个分层的 pipeline。用蛋白专属模型做全量序列空间的初筛用通用 LLM 在小候选集上做语义理解和解释最后用湿实验验证。这种组合策略能同时利用两类模型的优势。如果你接下来要深入这个方向可以从几个层面入手。第一阅读 PG-LLM 论文原文重点关注它的数据集构成、prompt 模板和评测代码这些细节决定了结果的可信度和适用范围。第二用本文提供的 ESM 零样本流程跑一批自己的突变数据建立基线分数后再尝试加入通用 LLM 的语义评审环节。第三关注评测基准的更新机制看它是否支持研究者提交新模型的评测结果这将是一个持续跟踪社区进展的好入口。蛋白突变排序只是 AI for Science 的一个缩影。未来会有更多标准化评测基准出现覆盖蛋白质结构预测、分子生成、细胞影像分析等方向。对我们这些做应用的人来说学会读懂一份基准、正确使用它的结论比追着最新模型跑更重要。建议把 PG-LLM 的评测思路收藏起来作为后续模型选型和实验设计的重要参考。