
2025年,一个叫BioReason的AI模型发表了,它号称能读懂DNA序列,结合基因组信息和文本知识,推理出一段基因突变会导致什么疾病。论文里的准确率看起来相当亮眼。
但哈佛大学的研究团队做了一件很简单也很狠的事:他们把输入的DNA序列打乱了。
正常来说,如果一个模型真的在"读"DNA序列,你把序列打乱成一堆随机排列的字母,它应该读不懂了,预测应该崩盘才对。结果呢?BioReason的疾病预测准确率几乎没有变化,从0.847变成0.847,纹丝不动。
这就好比你雇了一个翻译,你给他一份法语合同,他翻译得头头是道。结果你把合同换成一堆随机打乱的法语单词,他的翻译内容居然和之前一模一样。这时候你应该怀疑,他真的在读合同吗,还是在凭记忆背答案?
这篇论文的标题就是在问这个问题:生物推理模型,到底有没有在用它读到的生物学输入?
一、这些模型到底长什么样
要理解这个问题,得先知道这类模型是怎么工作的。
生物推理模型是把大语言模型和生物学专用的基础模型拼接在一起的系统。它接收两种信息:一种是连续的数值表示,来自专门训练过的生物基础模型,比如处理DNA的Evo2、处理蛋白质的ESM3;另一种是文本,比如基因名称、通路描述、功能注释。模型把这两类信息都塞进提示词里,然后生成答案,有时候还会生成一段"推理过程"。
生物基础模型:专门用海量基因组、蛋白质或单细胞数据训练出来的模型,它们能把一段DNA或蛋白质序列转换成一串数字向量,这串数字理论上编码了序列的生物学含义。
这套架构的设计初衷很合理,序列数据本身人类读不懂,但文本描述人类能读懂,让语言模型同时接触两种信息,理论上能做出更准确、更可解释的预测。问题在于,当模型手里同时握着两份资料,一份是难啃的原始序列表示,一份是现成的文字说明书,它到底会老老实实做阅读理解,还是直接抄说明书上的答案?
研究团队测试了六个具有代表性的生物推理模型,覆盖DNA、蛋白质、单细胞转录组三个领域,结果发现这个问题比想象中严重得多。
二、打乱测试:谁在真正阅读,谁在抄答案
研究团队设计了四套检验方法,第一套叫"扰动测试",思路很直接:保持问题和其他输入不变,只打乱其中一个生物学输入的内容,看模型的答案会不会跟着变。
在DNA任务上,ChatNT模型的表现证实了扰动确实有效。它在剪接位点预测任务上,序列完整时准确率是0.988,序列打乱后暴跌到0.502,这几乎等于瞎猜。这说明ChatNT是真的在读DNA序列的内容。
但BioReason完全不是这样。前面提到了,疾病预测准确率打乱前后几乎不变。更细致的分析发现,虽然整体准确率没变,但模型对101道题(占总数的7%)给出了不同答案,这说明模型不是完全无视DNA输入,而是DNA的作用被文本信息大幅稀释了。真正决定BioReason表现的,是提示词里基因名称这一项,去掉基因名称之后,准确率下降幅度最大。
蛋白质领域也出现了类似的分裂。BioReason-Pro这个模型结合ESM3蛋白质表示和GO-GPT、InterPro两种文本注释来预测蛋白质功能,把ESM3换成打乱序列重新计算的结果,功能预测得分几乎不变(0.855对比0.856)。但Prot2Text-V2,同样是蛋白质功能描述生成任务,去掉蛋白质名称和物种文本后,评分直接下降0.177,说明它对序列表示的依赖是真实的。
单细胞领域的结果更有意思。C2S-Scale这个模型把细胞的基因表达谱转换成按表达量排序的"基因句子",打乱基因顺序后,27B版本的细胞类型标注准确率从0.446掉到0.351,这说明顺序信息确实被使用了。CellWhisperer也是如此,把细胞内基因计数打乱重新计算表示后,所有五个测试数据集里,模型对正确答案的置信度都明显下降,immune1数据集的表现从0.98掉到0.53,lung数据集从0.84掉到0.25。
把这几个结果放在一起看,一个清晰的分界线出现了:ChatNT、Prot2Text-V2、CellWhisperer和C2S-Scale,都展现出对生物学原始表示的真实依赖;而BioReason和BioReason-Pro,这两个号称能做"多模态生物推理"的模型,却对它们标志性的输入几乎无动于衷。
三、证据冲突:当两份资料互相打架,模型选哪个
光靠打乱序列还不够有说服力,因为打乱之后的序列本身就是一种"不自然"的输入,模型表现不变,也许只是因为它压根没见过这种乱码,干脆忽略了。
于是研究团队设计了第二套检验,叫"证据冲突"。做法是从两个不同的真实样本里各取一部分输入,拼成一个新的提示词,让DNA/蛋白质/细胞的数值表示来自样本A,而文本描述来自样本B,这样A和B会指向两个不同的答案,看模型最终选择相信谁。
这就像你同时拿到两份病历,一份是医生手写的化验单原始数据,另一份是护士誊抄的病情小结,但护士抄错了病人,小结上写的其实是隔壁床病人的情况。如果医生看的是化验单本身,他会发现数据对不上;但如果医生只看小结不看化验单,他会直接按照错误的小结下诊断。
结果显示,BioReason在97.9%的冲突案例中,选择跟随文本(也就是基因和通路描述),而不是DNA的数值表示。BioReason-Pro更极端,99.7%的案例跟随GO-GPT这个文本来源。即便研究者专门构造了一批"文本来源明确错误"的案例,比如一个蛋白质被实验明确标注为"不具有某功能",模型依然有98.1%的概率跟着错误的文本走。
相比之下,Prot2Text-V2反过来倾向于相信序列表示,97.0%的冲突案例中跟随蛋白质序列而非文本名称。C2S-Scale和CellWhisperer也表现出对自身核心数值表示的信任,分别在93.7%和96.1%的冲突里选择跟随表示本身而不是文本描述。
这个结果和前面的扰动测试完美对应,印证了同一个结论:BioReason系列模型,在"相信文本"和"相信生物学原始数据"之间,几乎总是选择前者。
四、线性探针:数据里明明有答案,模型却没用上
到这里会产生一个自然的疑问:Evo2和ESM3生成的那些数值表示,是不是本身就没什么用,里面根本没有预测目标相关的信息?如果输入本身是垃圾,模型不用它也情有可原。
为了回答这个问题,研究团队用了第三套方法,线性探针。
线性探针:一种非常简单的分类器,直接在模型内部某一层的数值表示上训练一个线性分类器,用来检测这层表示里是否"编码"了某个目标信息。如果探针能准确预测,说明信息确实存在于这个表示里,只是不一定被后续网络用上了。
这个方法的逻辑类似于体检。你去医院抽血化验,报告单上的数据(比如血糖、白细胞计数)本身是客观存在的信息,能不能被用来诊断疾病是另一回事。医生如果压根不看报告单,直接凭经验开药方,那不代表报告单上没有信息,只代表医生没用它。
探针测试的结果相当扎心。在BioReason涉及的165道"基因型依赖"疾病预测题目上(指同样的文本提示对应不同基因组时答案会不同的那类题目),用Evo2原始输出训练的探针达到0.736的准确率,比纯靠文本猜测的0.708还要高。也就是说,Evo2的表示里确实藏着区分不同基因组的有效信息,只是BioReason这个推理模型自己没把它用起来。
蛋白质这边的情况类似。研究团队专门挑选了540个共享同一个InterPro蛋白质家族、但在酶活性、细胞器定位、DNA结合能力这三项功能上有差异的蛋白质,这意味着光看家族归属猜不出具体功能,必须看序列本身的细节。结果ESM3表示上训练的探针,在这三项功能上的平均准确率分别达到0.766、0.898、0.830,普遍高于或接近BioReason-Pro本身的预测表现。
这组数据说明的问题非常关键:不是生物基础模型的表示没有用,而是这些有用的信息被推理模型晾在了一边。
五、后训练能不能治好这个毛病
论文的第二个核心发现,和模型训练过程有关。
现在流行的后训练方法主要有两种,SFT(监督微调)和RL(强化学习,论文中特指GRPO算法)。按照常理,经过更精细的后训练,模型表现应该越来越好,使用各种输入的能力应该也越来越强。
SFT:Supervised Fine-Tuning,监督微调,用人工标注好的问答对去调整模型参数,让它学会按照示范输出答案。
RL:Reinforcement Learning,强化学习,这里特指GRPO算法,通过奖励信号(比如答案是否正确)来调整模型,让模型自己摸索出更高分的输出方式。
研究团队比较了BioReason的SFT检查点和RL检查点。RL版本整体准确率确实更高(0.847对比0.823),但当把Evo2表示换成打乱序列重算的版本时,SFT版本的准确率下降了0.009,RL版本几乎不变(+0.001)。换句话说,RL让模型考得更好了,但这个"更好"跟它是否真的读懂了DNA没有关系,提升完全来自对文本的更好利用。
研究团队还把这个检验扩展到42个不同配置的BioReason检查点,这些检查点在模型规模(1.7B和4B参数)、LoRA微调的秩、RL训练时长上都有差异。结果发现整体准确率在不同配置间波动很大,但这个波动和"模型对原始DNA表示的依赖程度"没有稳定的相关关系,准确率越高不代表模型越诚实地用了DNA信息。
这就像一个学生,平时考试全靠蒙,突然有一次换了套更好的"蒙题技巧",分数蹭蹭往上涨,但你问他某道题具体考的是什么知识点,他依然答不上来。他的分数提高了,他对知识本身的掌握程度却没有任何提高。
但不是所有模型都这样。C2S-Scale从2B参数规模扩展到27B时,情况完全相反:参数规模变大后,模型对"差异表达基因"(在某种细胞类型中特异性高表达的基因,是判断细胞身份的关键标志)的依赖程度也同步增强了。移除这些关键基因后,2B模型的准确率掉了0.223,27B模型掉了0.319,掉得更多反而说明它用得更多。这说明规模扩大本身不一定带来"投机取巧",关键还是模型的训练方式和任务结构。
差异表达基因(DEG):在某一种细胞类型里表达量显著高于其他细胞类型的基因,是生物学上判断"这是什么细胞"最重要的线索,类似于一个人的身份证号码。
六、推理过程里的谎言
论文最让人不安的部分,是对模型"推理过程"文本内容的分析。
这类模型通常会在给出最终答案前,先生成一段看起来像模像样的推理文字,比如"我先看DNA序列,发现第128位碱基从A变成了T,这是一个替换突变,对应的基因是……"。这种文字给人的感觉是,模型真的在一步步分析证据。
但研究团队逐条核对了BioReason生成的推理文字和真实DNA数据后发现,RL版本的模型,在145道留出测试题上,只有7.2%的推理文字正确说出了实际发生的碱基替换类型。更离谱的是,这个RL模型在几乎所有145道题目中,都生成"突变类型是T变C"这句话,不管输入DNA是原始的还是被打乱过的,它说的内容一模一样。
这就像一个保安天天在值班日志上写"今天巡逻时发现东门有可疑人员,已经处理",但不管东门实际有没有发生任何事,他每天都写这句话。日志看起来很专业,内容却和现实完全脱节。
BioReason-Pro的问题则表现为另一种形式的不一致。研究团队构造了一批证据冲突案例,其中一个蛋白质的InterPro注释(结构域信息)明确指出它具有DNA结合能力,但对应的GO-GPT文本来源没有这个结论。结果在53个这样的案例里,有23个案例的推理文字确实提到了"DNA识别模块"这样的描述,承认了这个结构特征的存在,但最终输出的GO功能注释里,却完全没有包含DNA结合这个功能标签。
模型嘴上说"我看到了这个证据",手上写下的答案却假装没看到。这种推理过程和最终结论之间的脱节,比单纯的"没看输入"更难被发现,因为推理文字本身读起来是流畅、合理、专业的,普通用户很容易被这种表面上的严谨性说服。
单细胞领域的C2S-Scale也有类似问题,研究团队让27B模型解释它为什么判断某个细胞是某种类型,结果发现模型给出的理由里,引用的基因大量是核糖体蛋白基因(几乎所有细胞类型都高表达的"管家基因",并不能用来区分细胞身份),占比高达62.6%到84.7%。只有推理文字最前面提到的几个基因,才真正和这个细胞类型的特异性标志基因有关,越往后说,就越是在用无关的基因凑数。
七、给模型补课:教它认准确哪个碱基变了
既然BioReason的推理文字说不准碱基变化,研究团队干脆做了个实验,看看能不能通过专门的训练,强迫模型学会这件事。
他们把原本冗长的推理文字替换成一句简短的话,明确指出"第几位碱基,从什么变成了什么,属于哪类突变",然后用这个简化目标重新训练模型。
结果立竿见影。补过这门课的模型,在原始DNA输入下识别正确碱基变化的准确率从0.080跳到0.671,而且这次打乱DNA序列后,准确率真的会掉下来(掉到0.122),说明这个预测确实开始依赖真实序列内容了。
但好消息里藏着坏消息。研究团队进一步检查发现,留出测试集里145道题中有135道题涉及的基因组,在训练集里已经出现过(只是提示词不同)。如果把这135道"见过的基因组"和另外没见过的基因组分开统计,差距非常明显:在训练中见过的基因组上,准确率是0.691;完全没见过的新基因组上,准确率只有0.148,和瞎猜的水平(0.111,总是猜训练集里出现最多的那种变化类型)几乎没区别。
这意味着模型学会的不是"如何从DNA序列里读出突变位置"这项通用能力,而是把训练集里见过的特定基因组和对应答案死记硬背了下来。这就像一个学生,发现老师的考题每年都是那几道原题,于是把答案背下来,考试时成绩很好看,但换一套新题,立刻现出原形。
更关键的是,即使补课让模型对碱基预测这个子任务变得敏感,它对最终疾病预测任务的整体准确率几乎没有提升(打乱DNA前后差距只有0.021)。也就是说,就算教会了模型"认真看一眼DNA",它依然没有把这份认真用在真正要紧的决策上。
八、这件事说明了什么
把六个模型、几十个检验结果放在一起,这篇论文传递出一个相当重要的信号:一个AI系统在基准测试上拿到高分,不代表它真的用了你精心喂给它的那份专业数据。
这个问题之所以难以察觉,是因为当文本注释本身已经足够预测出正确答案时,模型完全可以绕过复杂的序列分析,直接抄文本的近路,而最终的分数看起来完全正常,没有任何异常信号提示你哪里出了问题。只有像这篇论文这样,主动去打乱输入、制造证据冲突、训练探针、逐字核对推理文本,才能把这种"走捷径"的行为揪出来。
这个发现不只局限于生物信息学领域。类似的问题早就在视觉语言模型里出现过,模型靠着语言先验就能蒙对视觉问答题,根本不用真正看图。生物推理模型某种程度上是在重复同样的陷阱,只不过这次"图"换成了基因组序列,"语言先验"换成了基因功能注释文本。
研究团队的态度也很克制,他们没有说这些模型是骗子或者没用,而是指出,现在的后训练方法只奖励"答对了",不奖励"用对了输入",这两件事在数学上是完全不同的优化目标,而现有的训练流程混淆了它们。论文的结论也相应谨慎:未来的训练目标,或许应该把"正确使用生物学输入"也作为一项独立的奖励信号,而不只是盯着最终答案对不对。
写在后面
读完这篇论文,最触动我的其实不是"模型在偷懒"这个结论本身,这个结论某种程度上并不让人意外。真正让我愣住的是那个数字对比:一个经过强化学习精心调教、整体准确率从0.823提升到0.847的"更优秀"模型,它对DNA输入的依赖程度和没经过强化学习的版本相比,居然没有任何提升。
这打破了我原本一个朴素的假设,训练得越精细,模型应该越"懂"自己在做什么。但这篇论文告诉我,优化目标如果只盯着答案对不对,模型完全可能在"蒙对的技巧"上越练越强,而在"真正理解输入"这件事上原地踏步,甚至倒退。这两条曲线是可以完全脱钩的。
还有一个细节我反复想了很久。BioReason-Pro那个案例里,模型的推理文字明确提到了"DNA识别结构域",但最后给出的功能列表里压根没有DNA结合这一项。这不是模型没看懂,这是它看懂了,写出来了,然后转头把这个信息扔掉了。如果一个学生在草稿纸上正确演算出了答案,却在卷子上填了另一个数字,你很难说他是能力不够,更像是某个环节的"表达"和"决策"脱了节。AI的这种脱节,到底是不是一种我们还没有命名的失误模式,值得单独琢磨。
这篇论文没有解决的问题是,如果我们真的设计出奖励"正确使用输入"的训练目标,模型会不会又找到新的捷径来伪装自己在"正确使用"?毕竟,让一个系统的行为和它的解释对得上号,可能比让它答对题难得多。
Q&A
Q1:生物推理模型BioReason真的在使用DNA序列信息做预测吗?
A:根据研究发现,BioReason的疾病预测准确率在DNA序列被打乱后几乎不变(0.847对比0.847),而且在证据冲突测试中,97.9%的情况下模型选择相信文本描述而非DNA数值表示,说明它对DNA输入的实际依赖程度很有限。
Q2:为什么说模型的推理过程文字不可信?
A:研究发现BioReason在145道测试题中,只有7.2%的推理文字正确说出了真实的碱基替换情况,RL版本模型甚至不管输入DNA是否被打乱,都统一生成同一句"突变类型是T变C",说明推理文字和实际输入内容严重脱节。
Q3:强化学习训练能让模型更好地利用生物学输入吗?
A:研究对比SFT和RL检查点发现,RL确实提升了整体准确率,但对Evo2、ESM3这类生物基础模型表示的依赖程度没有同步提高,说明准确率提升和模型是否"读懂"输入是两件可以脱钩的事。
好文章,需要你的鼓励
RGPO用"临时脚手架"破解大模型强化学习的奖励稀疏难题:先让模型独立解题,失败则分段放出标准解法引导重写,仅采纳经验证更优的答案。难题测试准确率从0跃至99.5%,语言模型平均分高出最强基线5.0分。
论文提出用MoE模型的路由器输出作为跨语言对齐目标,通过持续预训练对翻译句对施加路由KL散度损失,在不改变分词和架构的前提下让隐藏表示更接近,并在四个开源MoE模型、七种语言上验证了下游任务性能的一致提升。
DiffGate提出难度门控的教师指导机制,让验证器决定何时需要教师介入,仅对失败且困难的轨迹提供有界教师指导,结合GRPO强化学习,在数学与代码任务上显著提升解题覆盖率与跨领域迁移能力。
研究者用固定不变的16位二进制编码替代传统可训练词嵌入表,在17亿参数规模模型上训练1000亿token,证明模型仍可获得实质语言能力,揭示输入表并非必需,但性能略逊于可学习方案。