dev.to #ai短讯
基因表达上升,AI能准确判断我们到底知道了什么吗?
作者提交Kaggle基准测试挑战,构建CellCaution模型以测试AI在细胞混合样本中推断基因表达变化的能力。小型控制研究显示Gemma模型表现良好。
这是 Kaggle 基准测试挑战的投稿。
一种基因在一个细胞类型中表达增加,在另一个细胞类型中可能减少。如果询问其平均表达量是否增加,答案取决于你所指的细胞混合比例。
还有一个更微妙的问题:我们能否在不知道其确切百分比增幅的情况下,得知表达量确实增加了?
可以。而且一个模型应该能够同时给出这两种判断。
我构建了 CellCaution 来测试这一边界。在一项小型受控研究中,Gemma 正确回答了所有主要案例。验证指令使 GPT-5.4 mini 获得了更多正确的判决,但完整答案的正确率较低。Claude 的严格评分看起来灾难性十足,直到我将响应格式合规性与数学内容分开评估为止。
这些发现改变了我对 AI 助手进行科学分析评估的方式:判决、数值和输出契约各自需要独立的证据。
我的基准测试内容
我的兴趣源于从事单细胞 RNA 测序领域的 AI 工作。在要求模型解释复杂的生物学研究之前,我想先了解它是否能处理一个简单的描述性比较,其答案我可以精确计算。
考虑以下合成表达测量值:
| 细胞类型 | 对照组均值 | 处理组均值 |
|---|---|---|
| A | 17 | 22 |
| B | 53 | 50 |
A 型增加了 5 个单位。B 型减少了 3 个单位。我们将两组标准化为相同的参考组成,因此比较在两侧使用相同的权重。
当 A 占 80%,B 占 20% 时,对照组均值为 24.2,处理组均值为 27.6。增幅约为 14.05%。
现在仅改变我们对参考群体的认知:
| 提供的信息 | 是否支持严格增加? | 唯一百分比 | 可能的百分比范围 |
|---|---|---|---|
| 恰好 80% A | 是 | 14.05% | 14.05% 至 14.05% |
| A 介于 65% 到 85% 之间 | 是 | null | 7.43% 至 16.96% |
| 允许任何组成 | 信息不足 | null | −5.66% 至 29.41% |
在中间一行,每个允许的参考都表明存在增加。但约束条件并未确定唯一的百分比。尽管方向已知,但在幅度问题上返回 null 是数学上正确的答案。

图 1. 这些是最终的 v2 测量值,并非从早期试点中抽取的例子。

这正是我想要衡量的特定行为:保留已知信息,拒绝捏造未知信息。
带有精确答案键的基准测试
主数据集包含 24 个案例:八个模板,分别在固定、受限和无限制的参考组成下呈现。这些模板涵盖两种或三种细胞类型以及四种表达模式:混合变化、加法增加、比例变化和无变化。
每个响应必须提供四个 JSON 字段:
{
"verdict": "supported",
"standardized_change_percent": null,
"percentage_range": [7.4324324324, 16.9642857143],
"explanation": "Every allowed reference gives an increase, but the percentage varies."
}当在所有允许的参考点处理组均值严格更高时,判决为 supported(支持);当在所有允许的参考点处理组均值都不更高时,判决为 unsupported(不支持);当答案依赖于参考点时,判决为 insufficient_information(信息不足)。
主要评分要求同时具备正确的判决和正确的百分比或 null。范围准确性单独测量。数值答案使用 0.05 个百分点的容差。解释部分保留以供检查,但 LLM 裁判不对其文本内容进行评分。
答案键使用有理数算术。允许的群体是每个提供的参考顶点的凸组合。差异在线性权重上是线性的。由于对照组均值为正,任何混合比例下的百分比比率是顶点比率的加权平均值,权重与每个顶点的对照组均值成正比。因此,极值出现在顶点处。这提供了精确的界限,无需依赖采样网格或其他模型的判断。
测试的模型
我使用了 Kaggle Benchmarks 注册表中可用的三个模型:
| 模型 | 请求的注册表 ID |
|---|---|
| Gemma 4 31B | google/gemma-4-31b |
| GPT-5.4 mini | openai/gpt-5.4-mini-2026-03-17 |
| Claude Sonnet 4.6 | anthropic/claude-sonnet-4-6@default |
这是一组涵盖三个模型系列的 manageable lineup,包括 Gemma 和两个托管助手。这是对这几个请求模型在该任务上的比较,而非对其提供商整体的断言。
对于每个模型,我记录了 24 次直接响应、24 次带有明确验证指令的响应,以及八次重排序的控制组:共包含 168 个案例评估。验证提示要求模型在返回答案之前计算每个顶点的加权平均值,并检查符号、极值和唯一性。
我使用的是 SDK 默认设置,而非共享的、显式控制的温度或推理预算。导出的 ID 标识了所请求的模型;它们并不独立验证实际提供后端的确切修订版本。
发现
- 分数必须说明其计数内容
以下是冻结输出合同下的直接提示结果。无效输出在这些总数中计为错误。
| 模型 | 有效输出 / 24 | 判决正确 / 24 | 百分比或空值正确 / 24 | 范围正确 / 24 | 主要正确 / 24 |
|---|---|---|---|---|---|
| Gemma 4 31B | 24 | 24 | 24 | 24 | 24 |
| GPT-5.4 mini | 24 | 18 | 16 | 14 | 12 |
| Claude Sonnet 4.6 | 1 | 1 | 1 | 1 | 1 |
Gemma 在这个小型数据集上始终正确。这是一个有用的结果,但 24 个相关的合成案例并不能确立广泛的科学可靠性。
Claude 的结果需要不同的解释。在其 24 次直接响应中的 23 次,冻结解析器拒绝了响应格式。JSON 块周围的额外文本违反了请求的合同。整个 JSON 对象或单个外围围栏是被接受的;周围的评论则不被接受。
我保留了这一严格分数,并添加了一个事后诊断,该诊断在所有模型中统一应用:对于恰好包含一个围栏 JSON 块的无效响应,提取该块并运行未更改的评分器。不修复任何值,也不进行额外的模型调用。
在此诊断下,Claude 的直接主要结果变为 23/24。其剩余的错误是数学性的:在固定组成示例中,它返回了约 22.40% 而不是 14.05%,这与平均细胞类型百分比变化而非比较加权平均值一致。

图 2. 提取诊断不能替代冻结的严格分数。

实际的教训是要报告这两个层面。下游程序需要一个可用的响应。科学评估还需要区分不可用的响应与错误的数学内容。
- 验证帮助了一个组件,却损害了另一个
验证指令产生了以下主要分数比较:
| 模型 | 直接 / 24 | 验证 / 24 |
|---|---|---|
| Gemma 4 31B | 24 | 24 |
| GPT-5.4 mini | 12 | 9 |
| Claude Sonnet 4.6 | 1 | 0 |
对于 GPT,判决准确率从 18 增加到 21,而百分比或空值准确率从 16 下降到 10。综合主要分数从 12 下降到 9。范围准确率保持在 14/24。

图 3. 每个案例和提示臂记录一次生成;此比较需要复制验证。

验证答案的指令本身并不是改进的证据。在这里,它帮助了定性决策,而数值合同变得不那么可靠。仅基于判决的基准测试会错过这种权衡。
Claude 的验证响应在严格合同下全部无效;所有 24 个都通过了单独报告的提取诊断。同样,仅靠严格分数无法解释失败机制。
- 重新排列证据暴露了另一种不稳定性
对于八个受限案例,我反转了细胞类型行及其对应的每一个权重。数学问题和黄金答案保持不变。
Gemma 在所有 8/8 组对中均保持了其判决、百分比/空值以及范围。GPT 在 3/8 组对中保持了这三项。Claude 在提取诊断下也在 8/8 组对中保持一致;但其重新排序的严格输出无效,因此无法评估严格一致性。
这是在不同呈现方式下观察到的答案不稳定的证据。由于每次呈现仅生成一次结果,我无法将顺序效应与普通的生成变异性区分开来。下一个实验应以受控设置重复两种顺序。
我在基准测试本身中需要修复的内容
最初的对照导出未能通过审计:它们包含的是主要案例 ID 和验证提示,而非预期的重排序对照组。执行路径在任务上下文之间复用了结果。
我排除了这些导出文件,并在单独的任务标识下重新运行了对照组。包含在内的恢复文件包含了预期的八个对照 ID 以及针对每个模型的精确提示词。随后,我将所有 168 条包含记录与固定装置进行核对,并根据原始响应重新计算了它们的严格评分。
这一修复至关重要。一个仅检查运行是否完成的评估器可能会悄无声息地给错误的实验打分。
改变我想法的因素
起初,我测试模型能否正确完成生物学比较。最终,我更关心它们能否准确表达现有证据的边界。
对于分析助手,我现在会独立检查三项内容:其结论是否遵循约束条件、其数值是否实际上可识别,以及软件能否消费其响应。自信的解释不能替代任何一项检查。
本研究使用合成描述性测量数据。它并未测试原始测序分析、生物学重复、因果处理效应、显著性检验或临床决策。这 24 个案例共享八个模板,且验证比较属于探索性质。下一步我将增加重复运行、更多未见过的模板家族,以及一个由计算器辅助的模块,以区分算术错误与对缺失信息推理失败。
我的基准测试
在 Kaggle 上探索 CellCaution
已发布的 CellCaution 任务
公共排行榜目前包含 Gemma 的发布验证运行。本文中的表格描述了分别经过审计的三模型研究;不应将其解读为三个导入的排行榜运行。
该实现基于 Kaggle Benchmarks Python 库和食谱。合成固定装置、参考约束设计、理性答案键以及组件级评估均为 CellCaution 开发。AI 协助用于实现、审计、可视化和编辑;我已根据导出的响应审查了测量数据和声明。
我希望科学助手保留的问题很简单:这些测量能确立什么——以及它会捏造什么?
译文已达到本站中文翻译的字数上限,剩余内容请查看原文。