论文笔记|LLM 的医学知识藏在哪?ICLR 2026 用四种可解释性方法画出大模型 Medical Knowledge Map

Medical Interpretability and Knowledge Maps of Large Language Models

ICLR 2026 2466

1 动机

  • LLM 在医学任务上越来越常用,但我们并不清楚模型内部到底如何表示医学知识
  • 比如患者年龄、症状、疾病、疾病进展、药物、剂量等信息分别在哪些层被处理

  • 如果一个模型在医学场景里存在偏差,例如对年龄、疾病阶段、药物类别的理解有问题,仅看最终回答很难定位问题来源

  • 所以作者想做一件事:不是只问“模型答得对不对”,而是问“模型内部在哪些层表示了哪些医学概念”。
  • 这对于后续医学 LLM 的 fine-tuning、unlearning、de-biasing、causal intervention 都有指导价值
  • 比如如果年龄偏差主要在某几层出现,就没必要全模型微调,可以只干预相关层

2 现有方法的不足

  • 现有医学可解释性工作主要有几个问题。
  • 第一,很多工作只是让模型解释自己的诊断过程,也就是 self-explanation
  • 这种解释不一定忠实于模型真实内部机制,容易变成“事后合理化”。
  • 第二,已有 mechanistic interpretability 工作大多研究通用知识、语法、事实召回、attention head、induction head 等,很少系统研究医学领域知识。
  • 第三,少数医学解释性工作通常只用一种技术
  • 比如只看 t-SNE/UMAP,或者只看 sparse dictionary,或者只看某个模型
  • 单一方法很容易有解释偏差,因为不同解释方法有不同假设。
  • UMAP 全称是Uniform Manifold Approximation and Projection,把高维 embedding 压到低维,同时尽量保留原来空间里的邻近关系
  • 第四,医学知识不是一种单一概念
  • 年龄是连续变量,症状和疾病是类别变量,疾病进展是阶段性/轨迹性变量,药物既可以按作用机制分类,也可以按医学专科分类,剂量还涉及安全/危险边界。
  • 因此只用一个统一指标很难覆盖这些结构

3 论文的研究假设或直觉

  • 核心直觉是
  • LLM 内部并不是在所有层均匀处理医学知识,而是不同医学概念会在不同层形成可检测的表示结构
  • 如果多种解释性方法都指向相似层区间,那么这些层很可能就是该类医学知识的关键处理区域。

4 论文novelty

4.1 Novelty 1:医学知识地图 LLM Map

  • 【创新点解决的问题是什么】以往很难知道医学知识在 LLM 的哪些层被表示,且单一解释方法不可靠
  • 如果多个机制解释方法在不同假设下都指向相似层,那么这些层更可能是真正负责该概念的层
  • ——>作者把 UMAP 表示聚类、gradient-based weight saliency、layer lesioning、activation patching 四种方法统一起来,对 age、symptoms、diseases、drugs、dosage 分别提取高响应层区间,最终画成 LLM Medical Map,显示每类医学知识在模型深度上的分布

4.2 Novelty 2:把医学概念分成不同几何类型来解释

  • 【创新点解决的问题是什么】医学知识不是普通分类标签,年龄、疾病进展、药物分类、剂量风险的结构完全不同,用同一种解释指标会过于粗糙
  • 同知识类型应该对应不同 representation geometry:年龄应接近一维连续流形,症状/疾病/药物应有类别聚类,疾病进展应有阶段轨迹
  • ——>对年龄使用 local anisotropy 和线性回归 R²
  • ——>对症状、疾病、药物使用 Silhouette Score
  • ——>对疾病进展设计 closest-stage-to-first 和 closest-stage-to-last 之类的 circularity proxy
  • ——>对剂量使用 activation patching effect

4.3 Novelty 3:发现年龄表示存在非线性和 18 岁断点

  • 【创新点解决的问题是什么】年龄看似是简单连续变量,但模型可能并没有把年龄表示成平滑、可编辑、可去偏的线性方向
  • ——>作者用不同年龄 prompt 提取中间层 activation,然后用 UMAP 可视化和 age discontinuity heatmap 分析年龄流形
  • 发现 Llama3.3-70B 在部分中间层存在明显非线性,并在 17/18 岁附近出现表示断点

4.4 Novelty 4:发现疾病进展表示可能是 circular / non-monotonic

  • 医学上的疾病进展通常被认为从健康到严重阶段逐步变化,但 LLM 内部是否这样表示并不清楚。
  • 如果模型真的理解 disease progression,那么健康、早期、中期、晚期、死亡阶段在表示空间里应具有某种单调轨迹
  • ——>作者构造 Alzheimer’s、Parkinson’s、COVID-19、COPD 的 9 阶段 progression prompts
  • 分析每层 UMAP 空间中不同阶段的相对距离
  • 发现晚期阶段有时反而靠近早期阶段,因此表示呈现环形或非单调结构

4.5 Novelty 5:发现药物更按医学专科而不是作用机制聚类

  • 药物知识可以按药理机制组织,也可以按临床使用场景组织,不知道 LLM 内部偏向哪一种
  • ——>作者分别按 mechanism of action 和 medical specialty 给药物上色,比较 UMAP 聚类和 Silhouette Score
  • 发现尤其在 Llama3.3-70B 中,药物按医学专科聚类通常比按作用机制更明显

4.6 Novelty 6:发现 Gemma/MedGemma 中间层 activation collapse

  • 模型中间层可能存在表示坍缩,但这类现象在医学知识表示中很少被系统观察
  • 如果 UMAP 投影中大量不同医学概念在某些层坍缩成少数 blob,说明这些层可能暂时丢失了区分性表示
  • ——>作者对 Gemma3-27B 和 MedGemma-27B 的中间层 activation 做 UMAP,发现部分中间层表示会坍缩,但在后续层又恢复,提示这些层可能存在 representational inefficiency

5 方法

5.1 整体pipeline

  • 第一步,构造医学 prompt 集合
  • 作者围绕五类医学知识构造 prompt:年龄、症状、疾病、药物、药物剂量
  • 每类 prompt 又服务于不同解释方法
  • 第二步,对每个模型跑 forward,保存每一层 activation
  • 模型输入一个医学 prompt 后,每层 transformer block 都会产生 hidden state
  • 把每层中间表示拿出来分析。这样可以回答“某个医学概念在哪些层逐渐形成”
  • 第三步,跑 UMAP 表示分析
  • 对于年龄、症状、疾病、药物等 prompt,作者把每层 activation 降维到低维空间
  • 可视化时用 2D UMAP;定量计算 Silhouette Score 时用 30D UMAP,以保留更多信息
  • 对于类别型概念,Silhouette Score 衡量同类样本是否更靠近、异类样本是否更分开
  • Silhouette Score 的意义很简单:如果同一类点彼此很近,不同类点彼此很远,那么分数高
  • 对于年龄这种连续变量,作者不用 Silhouette,而是用 local anisotropy 衡量年龄点是否接近一维流形,并用线性回归 R² 衡量年龄是否线性可读
  • Local anisotropy 衡量的是一堆点是否像一条线
  • UMAP 模块回答的是:“这些医学概念在 hidden space 里有没有形成结构?
  • 可视化能力强,但不一定证明因果作用。
  • 第四步,跑 gradient-based weight saliency
  • 作者对目标答案的 loss 关于模型权重求梯度,即看某层权重对医学答案的敏感程度
  • 如果某层权重梯度大,说明模型回答该医学问题时更依赖这一层
  • 作者把 attention heads 和 MLP 的权重 saliency 按层平均,再跨多个 prompt 平均,得到每一层的 saliency 曲线。
  • Saliency 模块回答的是:“哪些层的参数对医学答案的 loss 更敏感?”
  • 它能定位权重层面的重要性,但梯度大不一定代表真实因果。
  • 第五步,跑 layer lesioning。
  • Layer lesioning 的做法是:把某一层 transformer block 替换成 identity function,相当于让这一层“不工作”,然后观察模型回答退化多少
  • 退化程度由 GPT-4o 作为 judge 打分,1/10 表示几乎没退化,10/10 表示严重退化
  • 某层被移除后如果医学回答明显变差,说明该层对该类医学知识重要
  • Lesioning 模块回答的是:“去掉某层后,模型医学能力会不会明显下降?
  • 它比 UMAP 更接近功能性分析,但层之间可能有冗余,因此某层不退化不代表没用

  • 第六步,跑 activation patching
  • Activation patching 是最接近因果干预的方法
  • 最基本的设定是三次 forward pass:clean run、corrupted run、patched run
  • patching effect 怎么衡量?

  • 通常不是只看最终生成文本,因为文本生成有随机性,也不好比较。更常用的是看目标答案 token 的 logit

  • patching effect =(patched 的 logit 差值 - corrupted 的 logit 差值)/(clean 的 logit 差值 - corrupted 的 logit 差值)

  • 最后一步,汇总成 LLM Medical Map

5.2 使用的数据

  • 第一,年龄 prompt。
  • 年龄从 1 到 100,模板包括 “He is X years old.”、“She is X years old.”、“Someone is X years old.” 等,用来分析年龄表示是否连续、线性、有无断点。
  • 第二,症状 prompt
  • 症状被分为 pain、neurological、respiratory、digestive、cardiovascular、dermatological、musculoskeletal、psychological、genitourinary、ENT/ocular 等组别,用于分析症状类别聚类
  • 第三,疾病 prompt
  • 疾病按医学专科分类,包括 cardiology、orthopedics、oncology、neurology、obstetrics & gynecology、dermatology、gastroenterology、pulmonology、urology 等
  • 第四,疾病进展 prompt
  • 作者为 Alzheimer’s disease、COVID-19、COPD、Parkinson’s disease 各构造 9 个阶段,从健康、轻微症状、中重度症状到最终严重结局,用来分析 progression geometry
  • 第五,药物 prompt
  • 第六,药物剂量 prompt
  • 作者构造不同剂量场景,例如安全剂量和高风险剂量,用 activation patching 或 saliency 分析模型如何处理 dosage 信息

6 主要结论

  • Llama3.3-70B 中:
  • 年龄主要在 0–5 层附近被处理;
  • 症状在 0–9 层以及 15–40 层有信号;
  • 疾病在 0–5 或 27–37 层;
  • 药物主要在 15–45 层;
  • 药物剂量大致在前半部分层,但结论更不稳定

  • 不同年龄 prompt 在 Llama3.3-70B 不同层的 UMAP 分布
  • 年龄不是一条简单直线,而是在中间层形成弯曲、转向甚至断裂
  • 尤其在 17/18 岁附近出现明显 discontinuity,说明模型可能把未成年人和成年人分成两个表示区域

  • 用 Alzheimer’s、Parkinson’s、COVID-19、COPD 的 9 阶段 prompt 做 UMAP
  • 理想情况下,疾病应从健康到严重阶段逐步远离健康状态
  • 但图中显示某些晚期阶段反而靠近早期阶段,形成 circular / non-monotonic pattern。也就是说,模型内部对疾病进展的表示不一定符合医学上的单调恶化逻辑

  • Gemma3-27B 某些中间层的 UMAP 点坍缩成少数几个 blob,但后面层又恢复分散。
  • 作者认为这可能表示中间层出现了表示能力浪费,或者模型内部有某种压缩-恢复过程。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费