想象一下你感觉不舒服。你头痛,有点发烧,而且有哮喘病史。你打开一个功能强大的 AI 助手的聊天窗口,问道: “这种情况我能吃点什么药?”AI 自信地推荐了几种药片的组合。

理想情况下,这种互动能省去你看医生的麻烦。但在现实中,我们面临一个可怕的问题: AI 在产生幻觉吗?

大语言模型 (LLM) 在通过医疗执照考试和总结患者病历方面已经展示了惊人的能力。然而,用药管理是一场高风险的游戏,仅仅“大部分正确”是不够的。这里的幻觉不仅仅意味着一句奇怪的话;它意味着推荐一个有毒的剂量,或者一种可能致命的药物相互作用。

在最近一篇题为 “Should I Believe in What Medical AI Says?” 的论文中,来自讯飞医疗科技的研究人员推出了 ChiDrug , 这是一个旨在对 LLM 在中文用药任务上进行压力测试的全新系统化基准。本文将剖析他们的工作,解释他们如何区分“记忆的事实”与“逻辑推理”,以及为什么即使是最先进的模型仍然难以知晓自身的局限性。

问题所在: 无知的自信

研究人员解决的核心问题是流利度准确性之间的区别。一个 LLM 可以为一个不存在的药物,或者为一个绝不应该服用该药的患者群体 (如孕妇或婴儿) ,写出一份语法完美的处方。

以前的基准测试曾试图衡量医疗能力,但通常存在两个缺陷:

  1. 数据泄露: 许多基准测试从开放网络 (如医疗论坛或维基百科) 抓取问题。由于 LLM 也是在网络数据上训练的,它们可能只是在背诵见过的答案,而不是在展示理解能力。
  2. 指标混乱: 它们经常将知识 (模型知道阿司匹林的剂量吗?) 与推理 (模型能判断阿司匹林对这位特定患者是否安全吗?) 混为一谈。

ChiDrug 旨在通过使用权威药品说明书从头构建数据集来解决这个问题,特别是检查知识边界——即模型意识到自己不知道答案的能力。

ChiDrug 框架: 知识 vs. 推理

为了严格评估 AI,研究人员将 ChiDrug 基准测试构建为两个不同的维度: 参数化知识推理能力

图 1: 我们的基准测试包含四个直接考察模型参数化知识的数据集和两个考察模型推理能力的数据集。

如上图 Figure 1 所示,该基准测试并不是铁板一块。它根据所需的认知负荷对任务进行了分离:

1. 参数化知识 (“事实检索”层)

这些任务测试存储在模型训练参数中的静态信息。它问的是: “你记住这个具体事实了吗?”

  • 适应症 (Indication): 这种药治疗什么疾病?
  • 用法用量 (Dosage and Administration): 应该服用多少,多久一次?
  • 禁忌人群 (Contraindicated Population):不能服用这种药 (例如,新生儿,55 岁以上的老人) ?
  • 作用机制 (Mechanisms of Action): 药物在生物学上是如何起作用的?

2. 推理能力 (“逻辑”层)

这些任务要求模型获取事实并将其应用于动态场景。

  • 用药推荐 (Medication Recommendation): 考虑到患者的症状他们的人口统计学限制,最佳治疗方案是什么?
  • 药物相互作用 (Drug Interaction): 如果患者同时服用药物 A 和药物 B,风险等级是多少?

在 Figure 1 中,注意“通用知识 (Universal Knowledge)”的边界。模型可能知道关于“氨茶碱注射液”的一切 (在边界内) ,但当被问及与“复方阿司匹林片”的具体组合时,它必须使用推理来识别这两种药物都影响相同的生物通路 (咖啡因相互作用) ,从而标记出潜在风险。

构建纯净的基准

为了避免前面提到的数据泄露问题,团队没有直接下载现有的测验。他们使用了一个包含官方药品说明书和人类专家验证的半自动化流程来构建 ChiDrug。

图 2: 我们的基准构建过程概览

Figure 2 详细展示了这个三步构建流程:

  1. 抽取 (左侧) : 他们收集了 8,000 份官方药品说明书。利用一个辅助 LLM (星火) ,他们提取了关键部分 (适应症、剂量等) 并将其转换为多项选择题。
  2. 模拟 (中间) : 为了测试推荐功能,他们使用了真实的医患对话。他们掩盖了医生实际的处方,要求 AI 从列表中识别出正确的药物,列表中包含“干扰项”——即可以治疗症状但在该特定患者身上是危险的药物 (例如,一种可以退烧但孕妇禁用的药物) 。
  3. 交互逻辑 (右侧) : 他们识别了具有已知相互作用风险 (高、中、低) 的药物对,并要求模型对风险进行分类。

“双重检查”机制

因为是 AI 辅助生成的问题,研究人员实施了严格的质量控制流程。每个问题都由另外三个 LLM (GPT-4、Qwen-max、ERNIE) 进行审查。只有当这三个模型都认为问题没有歧义且有唯一正确答案时,该问题才会被保留。最后,持有执照的人类医生审查了数据集以确保医学准确性。

结果就是一组多样化且困难的问题。你可以在下面的案例研究中看到这些问题的示例:

图 6: ChiDrug 在 6 个子数据集上的部分案例。

看看 Figure 6 中的用法用量 (Dosage and Administration) 示例。问题询问“复方锌布颗粒剂”的推荐剂量。干扰项非常微妙 (不同的年龄和包数) 。这需要精确的知识,而不仅仅是笼统的猜测。

实验结果: 谁是最好的医生?

研究人员测试了 8 个闭源模型 (专有,通过 API 访问) 和 5 个开源模型 (可下载权重) 的组合。阵容包括 GPT-4oClaude 3.5 Sonnet 等重量级模型,以及 XiaoYi (晓医)GLM4ERNIE Bot (文心一言) 等中文特定模型。

排行榜

表 1: 此表展示了 8 个闭源模型和 5 个开源模型在各种用药相关任务中的表现。粗体表示最佳表现,下划线表示次佳表现。

Table 1 揭示了几个关键见解:

  1. 闭源模型占主导地位: 闭源模型通常优于开源模型。这可能归因于专有模型中使用的大规模数据和强化学习。
  2. “主场”优势: 表现最好的是 XiaoYi , 这是一个专业的中文医疗模型,紧随其后的是 GLM4GPT-4o 。 XiaoYi 在“作用机制”和“剂量”等特定知识任务中占据主导地位。
  3. 安全的难度: 看看“禁忌人群 (Contraindicated Population)”一栏。与“作用机制”相比,所有模型在这里的得分都明显较低。模型擅长解释药物如何在生物学上起作用 (教科书知识) ,但很难准确识别谁不应该服用它 (安全约束) 。

我们可以使用雷达图来可视化这些优势和劣势。

图 4: 闭源模型表现的雷达图展示。

Figure 4 中,你可以看到能力的形状。 XiaoYi (紫线) 延伸到最外层,特别是在剂量适应症方面。然而,几乎所有模型在药物相互作用用药推荐上都向内凹陷。这可视化了一个关键差距: 模型更擅长做百科全书 (参数化知识) ,而不是做医生 (推理) 。

推理悖论: 逻辑能取代知识吗?

这篇论文最引人入胜的部分之一是对“推理模型”的分析。最近,像 OpenAI 的 o1 这样的模型已经发布,它们经过训练可以在说话前“思考” (思维链) 。假设是更好的思考会带来更好的答案。

然而,ChiDrug 基准测试在医学领域挑战了这一假设。

表 4: 推理模型在医学知识任务中的零样本准确率。

Table 4 所示, OpenAI o1 实际上在几个任务中的表现不如标准的 GPT-4o , 特别是在“药物相互作用”方面 (45.10% vs 59.93%) 。

为什么“更聪明”的模型会失败? 研究人员假设,如果没有潜在的事实,推理是无用的。如果模型试图推理药物相互作用,但在其参数化知识中没有存储该药物的具体化学成分,那么再多的逻辑也无法得出正确的答案。这就像要求一位逻辑大师解决一个数学问题,但变量是用一种他们不会说的语言写的一样。

为了证明这一点,研究人员进行了第二次实验,他们在提示词中提供了完整的药品说明书 (给模型“完美的知识”) 。

表 5: 使用包含完整知识提示词的推理任务准确率。

Table 5 证实了这一假设。一旦知识鸿沟被填补 (通过给模型提供文本) ,推理模型( o1o3-mini )立即跃居榜首,显著优于 GPT-4o。

关键结论: 你无法用推理来弥补知识的匮乏。对于医疗 AI 来说,RAG (检索增强生成) 或全面的预训练是不可商量的。

知识边界: 让 AI 说“我不知道”

医疗 AI 最危险的方面也许是过度自信。一个瞎猜剂量的模型比一个承认自己不知道的模型要糟糕得多。研究人员将其定义为知识边界

他们使用以下方程形式化了“拒答 (Abstention)”任务:

描述输出 r 的方程: 如果在知识范围内则为 M(q),如果超出知识范围则为 U。

这里,\(r\) 是回复。如果查询 \(q\) 在模型的参数化知识范围内,它应该输出答案 \(M(q)\)。如果超出边界,它应该输出 \(U\) (不确定/拒答) 。

可视化边界

团队可视化了模型在 282 种常用药物上的知识“稳定性”。他们多次查询模型。

图 5: GLM4、XiaoYi 和 GPT4o 在 282 种常用药物上的知识边界图。

Figure 5 中, 橙色区域代表稳健的知识——模型在第一次尝试时就答对了。 黄色区域代表“摇摇欲坠”的知识——模型最初答错了,但在 5 次尝试内最终答对了。

XiaoYi 显示出非常密集的外部橙色环,表明其具有高且稳定的置信度。 GPT-4o 虽然强大,但有更多的“黄色”区域,这表明它在特定中文药物上的知识可能不太稳定,需要多次提示或重试才能正确获取。

用语义熵提高安全性

那么,我们如何强制模型遵守这个边界呢?研究人员测试了几种方法,包括:

  • 提示工程 (Prompting): 只是问模型“你确定吗?” (后校准) 。
  • 探针 (Probing): 观察模型的内部数学状态。
  • 语义熵 (Semantic Entropy, SE): 生成多个答案并检查它们是否意味着同一件事。

如果一个模型生成了五个不同的答案,这些答案使用了不同的词汇但意思相同 (低语义熵) ,那么它很可能是自信的。如果答案含义不同 (高语义熵) ,则模型正在产生幻觉。

研究人员发现 语义熵 (SE) 非常有效。通过拒绝回答具有高语义熵的问题,他们显著提高了模型的可靠性。

结论

ChiDrug 基准测试是对医疗 AI 部署的一次现实检验。虽然像 XiaoYi 和 GPT-4o 这样的模型展示了令人印象深刻的能力,但“了解事实”与“安全推理”之间的差距仍然很大。

该论文强调了医疗 AI 前进的两条关键路径:

  1. 知识增强: 我们不能依赖模型仅仅通过预训练来“知道”一切。它们需要访问外部、经过验证的数据库,以弥补像 o1 这样的推理模型所面临的差距。
  2. 不确定性建模: 实施像语义熵这样的技术至关重要。医疗 AI 必须被编程为谦逊——将患者安全置于表现出的能力之上。

随着我们离 AI 辅助医疗越来越近,像 ChiDrug 这样的基准测试充当了这些数字医生在被信任负责我们的健康之前必须通过的严格执业考试。