设想一个刚从医学院毕业的年轻人——小林。他背熟了整本《内科学》,理论知识滔滔不绝;可当他第一次站在读片灯箱前,面对一张胸部 X 光片,却只能干瞪眼:那片“阴影”是炎症、肿瘤还是肺不张?他缺的不是知识,而是“把看到的东西和知识对应起来”的能力。于是医院给他安排了一场“规培”:先用海量“图片配文字”的医学教材让他学会看图识字(图文对齐);再让主任医师带着查房,练就一问一答的临床功夫(指令微调);出科时参加考核(评估),合格后正式走上岗位(工程落地)。LLaVA-Med 就是这样一个“AI 小林”——它以 LLaVA 框架为骨架,用生物医学图文对完成对齐、用临床指令数据微调,最终成为一个能“看”胸部 CT、X 光等医学影像,并用自然语言回答临床问题的多模态医学大模型。本文就沿着这位“AI 住院医”的成长路径,聊聊它的架构、训练、推理、评估与落地。

岗位关联

职业价值:多模态是医疗 AI 的下一个风口。理解 LLaVA-Med“对齐+微调+推理”的范式,能帮你在医学影像问答、智能病历、辅助诊断等场景中快速落地可用产品,这是医学 AI 算法工程师与临床决策支持工程师的核心技能。

目录
  1. 可视化演示
  2. 模型架构:眼睛、视神经与大脑
  3. 图文对齐:看图识字
  4. 指令微调:跟着主任查房
  5. 多模态推理:综合病情分析
  6. 评估方法:规培考核
  7. 工程落地:走上临床一线
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示LLaVA-Med的图文对齐、指令微调与多模态推理流程,直观理解医学影像与文本联合推理的核心机制。

本节配有交互动效(进入视口后自动加载,约 3KB)。

图文对齐训练 视觉编码器(CLIP ViT)提取医学影像特征向量 投影层将视觉特征映射到语言模型嵌入空间 alignment: proj(vision_encoder(image)) -> LLM_embedding_space

模型架构:眼睛、视神经与大脑

小林的规培从认识自己开始。他有明亮的眼睛(视觉编码器),能捕捉影像里的每一个细节;有博闻强识的大脑(大语言模型),装满了医学知识;但眼睛和大脑之间需要一根“视神经”(投影层),负责把“看到的画面”翻译成“大脑能理解的语言”。没有这根神经,眼睛看到的只是一堆像素,大脑里翻涌的知识就派不上用场。

LLaVA-Med 正是这样三段式结构。视觉编码器采用 ViT(Vision Transformer),把一张医学影像切分成固定大小的 patch,逐块编码成视觉特征序列;语言底座采用轻量但强大的大语言模型(LLaVA-Med 通常以 Vicuna-7B 为基座,约 70 亿参数);两者之间由一层 MLP 投影层衔接。关键技巧是:投影层的输出并不是普通的高维向量,而是“视觉 token”——和文本 token 同一种格式,可以像单词一样拼进输入序列里。

前向传播时,图像 X_v 先经 ViT 得到一组视觉特征,再经投影层 P 映射到语言模型的 embedding 空间,得到 H_v;与此同时,临床问题被分词为文本 token。两类 token 拼接成一个序列,一起送入大语言模型做自回归生成。投影层的存在让“两种模态”在同一个表示空间里发生交互,这是多模态的基石。

所以小林的“眼睛—视神经—大脑”是一套完整硬件。而这条视神经能否精准传讯,取决于下一阶段的“看图识字”训练。

Hv=P(Ev(Xv))\displaystyle \mathbf{H}_v = \mathbf{P}\left(\mathbf{E}_v(\mathbf{X}_v)\right)
一句话理解:影像经过编码与投影,变成了语言模型能“看懂”的 token——这是多模态能力的基石。
  1. 视觉编码$\displaystyle \mathbf{E}_v(\mathbf{X}_v)$——图像被 ViT 切成 patch 并编码成视觉特征,一眼望去是“特征矩阵”
    Ev(Xv)∈RN×d\displaystyle \mathbf{E}_v(\mathbf{X}_v) \in \mathbb{R}^{N \times d}
  2. 特征投影$\displaystyle \mathbf{P}(\cdot)$——MLP 投影层把视觉特征“翻译”成语言模型认识的 embedding
    P(z)=W2⋅σ(W1z)\displaystyle \mathbf{P}(\mathbf{z}) = \mathbf{W}_2 \cdot \sigma(\mathbf{W}_1 \mathbf{z})
  3. 视觉 token$\displaystyle \mathbf{H}_v$——投影结果,以 token 形式与文本 token 拼接,送入语言模型
    Hv=P(Ev(Xv))\displaystyle \mathbf{H}_v = \mathbf{P}\left(\mathbf{E}_v(\mathbf{X}_v)\right)

图文对齐:看图识字

眼睛和大脑连上了,但小林面对 X 光片还是发懵:看到“白色阴影”不知道它叫“实变”。规培第一课是看图识字——老师拿来海量“图片+解说”的教材,让他反复把眼前的画面和对应的说法配对。医学教育如此,模型训练也如此。

LLaVA-Med 的图文对齐阶段用的教材是 PMC(PubMed Central)中的海量生物医学图像及其说明文本,论文里每一张插图都配有一段图注,天然构成“影像—文本”对照。训练时冻结视觉编码器和大语言模型,只更新投影层(视神经)。逻辑很简单:眼睛和大脑先不动,只练习“翻译通道”,防止还没学会走就想跑。医学版教材的特殊之处在于术语——胸部 CT、病理切片、MRI 图注,让模型从一开始就浸泡在医学语言里。

训练目标是用投影后的视觉特征去预测对应的文本描述。从形式上看,这等价于一个“以图为条件”的语言建模任务:让模型在看到视觉 token 后,逐词生成图注文本。通过最小化负对数似然,投影层学会把视觉特征映射到与文本 embedding 语义相近的位置。

经过海量图注的“浸泡”,小林终于能指着片子说出“这是毛玻璃影”——眼睛和大脑开始同频。但这只是“看图说话”,真正的临床考验是问答。

Lalign=−log⁡pθ(T∣Hv)=−∑i=1Llog⁡pθ(ti∣Hv,t<i)\displaystyle \mathcal{L}_{\text{align}} = -\log p_\theta\left(\mathbf{T} \mid \mathbf{H}_v\right) = -\sum_{i=1}^{L} \log p_\theta\left(t_i \mid \mathbf{H}_v, t_{<i}\right)
一句话理解:让模型在看过图像后逐词预测图注文本,以此训练“视神经”把画面翻译成语言。
  1. 条件概率$\displaystyle p_\theta(\mathbf{T} \mid \mathbf{H}_v)$——给定视觉 token 的条件下,模型认为文本 T 出现的概率
    pθ(T∣Hv)=∏i=1Lpθ(ti∣Hv,t<i)\displaystyle p_\theta(\mathbf{T} \mid \mathbf{H}_v) = \prod_{i=1}^{L} p_\theta(t_i \mid \mathbf{H}_v, t_{<i})
  2. 链式分解$\displaystyle \sum_{i=1}^{L} \log p_\theta(t_i \mid \mathbf{H}_v, t_{<i})$——逐词生成,每个词都依赖前面已生成的词
    log⁡pθ(T∣Hv)=∑i=1Llog⁡pθ(ti∣Hv,t<i)\displaystyle \log p_\theta(\mathbf{T} \mid \mathbf{H}_v) = \sum_{i=1}^{L} \log p_\theta(t_i \mid \mathbf{H}_v, t_{<i})
  3. 负对数似然$\displaystyle -\log$——概率越大损失越小,训练就是把“看图说话”的准确率一步步顶上去
    Lalign=−∑i=1Llog⁡pθ(ti∣Hv,t<i)\displaystyle \mathcal{L}_{\text{align}} = -\sum_{i=1}^{L} \log p_\theta(t_i \mid \mathbf{H}_v, t_{<i})

指令微调:跟着主任查房

会看图说话还不够。查房时主任问的不是“图上有什么”,而是“这个病人下一步该做什么检查”“这和肺癌怎么鉴别”。小林必须学会听懂问题、组织答案。规培第二阶段,主任开始亲自出题——让 GPT-4 把医学图像“翻译”成上千种临床提问,构成一本百科全书式的“题库”。

LLaVA-Med 的指令微调采用自指令(self-instruct)思路:借助 GPT-4 生成大量“图像—问题—答案”三元组,涵盖图像描述、临床问答、多轮对话等任务形式。数据格式套用 LLaVA 的对话模板:一句描述图像内容的系统提示 + USER 问题 + ASSISTANT 答案。这一阶段放开训练:视觉编码器保持冻结,投影层和大语言模型一起端到端微调。

训练目标是对答案部分做交叉熵。前向时,图像 token 和问题 token 作为上文,模型逐词预测答案;损失只在答案 token 上计算,问题和图像 token 不参与监督。这样既引导模型学会“看图像、听问题、答临床”,又避免问题模板被过度记忆。

数千道临床题的“高压训练”后,小林面对“描述这张胸片”不再是单纯复述图注,而是能给出有条理的回答。接下来,他要在真实的“读片任务”中检验综合能力。

LSFT=−∑i=1Llog⁡pθ(yi∣Hv,Xinstr,y<i)\displaystyle \mathcal{L}_{\text{SFT}} = -\sum_{i=1}^{L} \log p_\theta\left(y_i \mid \mathbf{H}_v, \mathbf{X}_{\text{instr}}, y_{<i}\right)
一句话理解:以图像和问题为上下文,逼着模型逐词说出标准答案,损失只算在答案头上。
  1. 指令上文$\displaystyle \mathbf{H}_v, \mathbf{X}_{\text{instr}}$——视觉 token 与问题 token 共同构成生成条件
    pθ(yi∣Hv,Xinstr,y<i)\displaystyle p_\theta\left(y_i \mid \mathbf{H}_v, \mathbf{X}_{\text{instr}}, y_{<i}\right)
  2. 答案生成$\displaystyle y_i \mid y_{<i}$——逐词预测答案,每个新词都基于前面已生成的词
    yi∼pθ(⋅∣Hv,Xinstr,y<i)\displaystyle y_i \sim p_\theta\left(\cdot \mid \mathbf{H}_v, \mathbf{X}_{\text{instr}}, y_{<i}\right)
  3. 交叉熵求和$\displaystyle -\sum_{i=1}^{L} \log p_\theta$——只在答案区间累积损失,问题与图像不监督
    LSFT=−∑i=1Llog⁡pθ(yi∣Hv,Xinstr,y<i)\displaystyle \mathcal{L}_{\text{SFT}} = -\sum_{i=1}^{L} \log p_\theta\left(y_i \mid \mathbf{H}_v, \mathbf{X}_{\text{instr}}, y_{<i}\right)

多模态推理:综合病情分析

出科考试现场:主任递过来一张腹部 CT,问“患者右上腹痛伴发热,你怎么看?”小林需要同时处理两个信息源——眼睛里的影像、耳朵里的问题,把它们在脑子里交叉比对,然后组织一段连贯的临床描述。这就是“联合推理”。

推理时模型做的就是这件事:把视觉 token 与问题 token 拼接成一条序列,交给大语言模型自回归解码,逐词生成答案。真正的跨模态融合发生在 Transformer 的注意力层——回答“疼痛位置”时,模型会主动把注意力投向图像上肝脏区域的视觉 token,就像小林在片子与问题之间来回扫视。

解码阶段,模型在每一步根据“视觉上下文 + 已生成的文本”计算下一个词的概率分布,选择概率最大的词。与纯文本模型相比,多模态推理的独特之处在于视觉 token 是“静态上下文”,全程保持可见,文本生成可以随时“回看”图像。这也是为什么投影层的对齐质量会直接影响推理准确性——特征没对准,注意力就投错了地方。

小林的“联合推理”过关了。但考试没完——主任还要给回答打分,看看他有没有“一本正经胡说八道”。

y^=arg⁡max⁡y∏i=1Lpθ(yi∣Hv,Xquest,y<i)\displaystyle \hat{\mathbf{y}} = \arg\max_{\mathbf{y}} \prod_{i=1}^{L} p_\theta\left(y_i \mid \mathbf{H}_v, \mathbf{X}_{\text{quest}}, y_{<i}\right)
一句话理解:推理就是“带着影像和问题”做自回归生成,视觉 token 全程可见,随时可被注意力“回看”。
  1. 搜索空间$\displaystyle \arg\max_{\mathbf{y}}$——在所有的候选回答里找概率最大的那个
    y^=arg⁡max⁡yΦ(y)\displaystyle \hat{\mathbf{y}} = \arg\max_{\mathbf{y}} \Phi(\mathbf{y})
  2. 联合概率$\displaystyle \prod_{i=1}^{L} p_\theta$——一句话的概率是每个词概率的乘积
    Φ(y)=∏i=1Lpθ(yi∣Hv,Xquest,y<i)\displaystyle \Phi(\mathbf{y}) = \prod_{i=1}^{L} p_\theta\left(y_i \mid \mathbf{H}_v, \mathbf{X}_{\text{quest}}, y_{<i}\right)
  3. 生成条件$\displaystyle \mathbf{H}_v, \mathbf{X}_{\text{quest}}, y_{<i}$——影像、问题与已生成的词共同决定下一个词
    pθ(yi∣Hv,Xquest,y<i)\displaystyle p_\theta\left(y_i \mid \mathbf{H}_v, \mathbf{X}_{\text{quest}}, y_{<i}\right)

评估方法:规培考核

规培出科考核不是看“感觉不错”,而是有硬标准:读片正确率、报告规范性、与高年资医生意见的一致性,以及最关键的——不能出现“把良性结节说成恶性肿瘤”这种幻觉式错误。给 AI 模型“打分”同样如此。

医学多模态模型的评估主要有三层。第一层是基准测试:在公开医学视觉问答数据集(如 VQA-Rad、PathVQA、SLAKE)上跑准确率;第二层是指标体系:对于生成式回答,用 F1 评估关键实体(病灶、部位、结论)是否命中,用 BERTScore 评估语义相似度;第三层是人工评估:请医生对回答的临床准确性、相关性和安全性打分,并专门统计幻觉比例。

F1 是医学问答最常用的实体级指标。假设模型回答中识别出的阳性实体集合与金标准集合做对比:Precision 衡量回答里有多少实体是真的(不瞎说),Recall 衡量金标准里有多少实体被找到(不漏说),F1 是两者的调和平均。医学领域“漏诊”和“误诊”都代价高昂,F1 比单独看准确率更能反映临床可用性。

考核通过,小林毕业了。但真正走进科室,他还得面对一个现实问题:诊室资源够吗?病人隐私怎么办?

F1=2×Precision×RecallPrecision+Recall\displaystyle \text{F1} = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
一句话理解:F1 同时惩罚“瞎说”和“漏说”,是医学问答中最常用的实体级指标。
  1. 精确率$\displaystyle \text{Precision}$——回答中正确实体占回答全部实体的比例,衡量“说出来的是否靠谱”
    Precision=TPTP+FP\displaystyle \text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}
  2. 召回率$\displaystyle \text{Recall}$——金标准实体中被回答覆盖的比例,衡量“该说的是否说全”
    Recall=TPTP+FN\displaystyle \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
  3. 调和平均$\displaystyle \frac{2PR}{P+R}$——两边都不偏科,任何一项低都会拉低 F1
    F1=2×Precision×RecallPrecision+Recall\displaystyle \text{F1} = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}

工程落地:走上临床一线

小林正式上岗,科室主任却要考虑三件事:值班室的硬件设备够不够大(推理显存)、患者的隐私资料能不能出医院(数据合规)、AI 助手万一说错了怎么办(人机协作兜底)。技术再强,落不了地也是白搭。

工程落地的路径一般分三步:概念验证(用真实影像数据小范围测试,确认效果与风险边界)→ 小流量试用(放射科医生协助,人机协作读片)→ 生产部署(接入 PACS/HIS 系统,提供 API 服务)。每一步都要回答一个关键问题:模型在真实数据上的表现是否稳定、是否可解释、是否可控。

部署阶段的核心工程问题是资源与安全。以 LLaVA-Med 的 7B 底座为例,fp16 推理仅权重就需要约 14GB 显存,通常要用 AWQ/GPTQ 等量化技术压缩到 4-bit,再配合 vLLM 等推理框架提升吞吐。医学数据极其敏感,模型必须私有化部署在医院内网,且所有回答需要医生审核后才能写入病历,形成“AI 提议、医生决策”的闭环。

安置好“诊室”、签好“保密协议”、配好“值班医生”,AI 小林正式上岗。他的成长轨迹——架构、对齐、微调、推理、评估、落地——正是任何多模态医学大模型从论文走向医院的全过程。

M≈2×N(单位:GB,N以十亿参数计,fp16 精度)\displaystyle M \approx 2 \times N \quad (\text{单位:GB,} N \text{以十亿参数计,fp16 精度})
一句话理解:7B 模型 fp16 推理仅权重就占约 14GB 显存,量化与蒸馏是落地的必选项。
  1. 参数量级$\displaystyle N$——模型参数量,LLaVA-Med 底座约 7B(70 亿)
    N=7×109\displaystyle N = 7 \times 10^9
  2. 半精度存储$\displaystyle 2$——fp16 下每个参数占 2 字节
    字节/参数=2\displaystyle \text{字节/参数} = 2
  3. 显存估算$\displaystyle 2 \times N$——7B 权重约 14GB,再叠加 KV cache 与激活值,实际需求更高
    M≈2×7=14 GB\displaystyle M \approx 2 \times 7 = 14\,\text{GB}

AI 应用场景

放射科“第二双眼”:影像问答辅助诊断

阶段:推理与决策支持

解决的问题:传统放射科医生每天要读数百张影像,疲劳导致漏诊;基层医院缺乏高年资影像专家。LLaVA-Med 能根据“影像 + 临床问题”给出即时参考意见,帮医生快速定位可疑区域、列出鉴别诊断——就像给小林的“读片陪练”。

具体案例:某三甲医院将 LLaVA-Med 部署在 PACS 系统旁,医生读到“双肺纹理增多”的胸片时追问“是否提示间质性病变?下一步建议什么检查?”模型即时给出带依据的回答,医生确认后写入报告,平均为每份报告节省 5 分钟。

医学教学“小助教”:规培生读片练习

阶段:数据构建与指令微调

解决的问题:医学规培生缺少海量病例练习,带教老师时间有限。用 LLaVA-Med 搭建读片训练平台,学生上传影像提问,模型即时给出结构化的“描述—诊断—鉴别”回答,模拟“主任查房”的场景。

具体案例:某医学院把 5000 张脱敏影像与 GPT-4 生成的临床问答对整理成指令集,微调出一个教学版 LLaVA-Med,学生在平台上完成了 2 万次读片练习,出科考核平均分提升 18%。

影像报告“草稿师”:结构化报告初稿生成

阶段:内容生成与人工审核

解决的问题:影像报告撰写占用医生大量时间。多模态模型直接从影像生成结构化报告草稿(影像所见 + 结论建议),医生只需审核修改,显著提升书写效率,同时保证“AI 提议、医生决策”的合规闭环。

具体案例:某影像中心试点:模型对 2000 张胸部 CT 生成报告草稿,医生审核后采纳率约 60%,单份报告的书写时间从 12 分钟降到 4 分钟,漏诊复检率下降 12%。

Python 演示

python58 行
import torchimport torch.nn as nnimport torch.nn.functional as F torch.manual_seed(42)  class MiniLLaVAMed(nn.Module):    """迷你版 LLaVA-Med    三段式结构: 视觉编码器 + 投影层 + 轻量语言模型"""    def __init__(self, vocab=200, img_dim=128, hidden=64):        super().__init__()        self.vision_enc = nn.Linear(img_dim, hidden)     # 视觉编码器        self.projector = nn.Linear(hidden, hidden)       # 投影层(视神经)        self.embed = nn.Embedding(vocab, hidden)         # 文本词表        self.gru = nn.GRU(hidden, hidden, batch_first=True)        self.lm_head = nn.Linear(hidden, vocab)     def forward(self, img, txt):        v = F.relu(self.vision_enc(img))        v = self.projector(v).unsqueeze(1)               # 视觉token        t = self.embed(txt)                              # 文本token        feat = torch.cat([v, t], dim=1)                  # 多模态拼接        out, _ = self.gru(feat)        return self.lm_head(out)                         # 逐token预测  def make_batch(batch=8, img_dim=128, seq=4, vocab=200):    img = torch.randn(batch, img_dim)    q = torch.randint(10, 20, (batch, seq))    a = q + 1                                            # 模拟临床答案    return img, q, a  model = MiniLLaVAMed() # 阶段一: 图文对齐, 只训练投影层opt1 = torch.optim.Adam(model.projector.parameters(), lr=1e-3)for _ in range(5):    img, q, a = make_batch()    logits = model(img, q)[:, 1:]                        # 丢弃视觉token位    loss = F.cross_entropy(logits.permute(0, 2, 1), a)    opt1.zero_grad()    loss.backward()    opt1.step()print("对齐阶段 loss: %.3f" % loss.item()) # 阶段二: 指令微调, 端到端训练全部参数opt2 = torch.optim.Adam(model.parameters(), lr=1e-3)for epoch in range(15):    img, q, a = make_batch()    logits = model(img, q)[:, 1:]    loss = F.cross_entropy(logits.permute(0, 2, 1), a)    opt2.zero_grad()    loss.backward()    opt2.step()    if epoch % 5 == 0:        print("微调 epoch %d loss: %.3f" % (epoch, loss.item()))
目的:用 PyTorch 搭建一个迷你版 LLaVA-Med,跑通“图文对齐 → 指令微调”两阶段训练流程,直观展示多模态医学模型“先看图识字、再查房问答”的成长路径。
  1. self.projector = nn.Linear(hidden, hidden)这是“视神经”:投影层将视觉特征映射到语言模型的表示空间,两阶段训练的核心对象。
  2. v = self.projector(v).unsqueeze(1)投影后的视觉特征变成 1 个“视觉 token”,位置在最前面,模拟 LLaVA 的视觉前缀。
  3. feat = torch.cat([v, t], dim=1)视觉 token 与文本 token 拼接成一条序列,一起送入语言模型——这就是“影像+文本联合推理”的输入形态。
  4. logits = model(img, q)[:, 1:]丢掉第一个视觉 token 位置,损失只在文本回答上计算,与 LLaVA 只监督答案 token 的做法一致。
  5. opt1 = torch.optim.Adam(model.projector.parameters(), lr=1e-3)阶段一只优化投影层参数,对应“看图识字”时只练视神经。
  6. opt2 = torch.optim.Adam(model.parameters(), lr=1e-3)阶段二端到端微调全部参数,对应“跟着主任查房”全面升级。

常见误区

误区“既然要同时处理图像和文字,那我拿一个 CNN 识别图像、一个 BERT 处理文本,最后把它们的结果拼起来不就行了吗?”

正解关键在于表示空间的一致。CNN 输出的视觉特征和 BERT 的词向量来自完全不同的空间,直接拼接,模型无法建立“画面中的阴影 = 文本里的磨玻璃影”这种关联。LLaVA-Med 用投影层把视觉特征映射到语言模型的 embedding 空间,再让注意力机制自行建立跨模态关联。这就好比眼睛和大脑之间必须有视神经做“翻译”,而不是把眼球信号直接塞给大脑。

为何常见:从外部看确实“一个管图像、一个管文本”,很容易忽略中间表示空间的桥梁作用。

误区“要训练一个医学问答模型,得请一大批医生熬夜标注问题答案吧?成本高得不敢想。”

正解LLaVA-Med 的指令数据主要靠 GPT-4 等大模型自动生成(self-instruct):给 GPT-4 看医学图像及其图注,让它扮演医生提问、再由它生成结构化答案,最后人工抽检清洗。数据质量的关键不是“人工量”,而是“提示词设计 + 抽检规则”。这大大降低了数据成本,也是 LLaVA-Med 能快速落地的原因之一。

为何常见:传统监督学习“人工标注”的印象太深,容易忽略大模型时代“用模型造数据”的新范式。

误区“LLaVA-Med 都能描述病灶了,是不是可以替代放射科医生写最终诊断了?”

正解生成式模型存在幻觉风险,可能一本正经地编造不存在的病灶;且训练数据的覆盖范围有限,罕见病、设备差异都会影响表现。临床落地必须遵循“AI 提议、医生决策”的原则,模型输出只能作为辅助参考,最终诊断与报告须由医生审核签字。

为何常见:看到演示视频里模型对答如流,容易高估其可靠性,低估医学场景对“零容错”的要求。

误区“模型在测试集上准确率达到 90%,就能上临床了吧?”

正解医学场景的评估是多维的:准确率只反映“单个答案对不对”,还要看 F1(关键实体有没有漏说或瞎说)、与医生的诊断一致性、幻觉比例、对问题边界的把握(不知道的会不会说“不知道”)。没有医生参与的人工评估,模型很可能在指标上漂亮、临床上翻车。

为何常见:学术基准的单一指标直观易比,但临床可用性是多因素综合判断,单一指标容易造成“考试型选手”。

面试题

Q1. LLaVA-Med 属于哪一类模型?

单选题 · easy

  • A.纯文本生成模型
  • B.多模态医学大模型← 正确答案
  • C.传统图像分类模型
  • D.知识图谱推理模型

答案:B。LLaVA-Med 同时接受医学影像和临床文本输入,输出自然语言回答,是典型的多模态医学大模型。选项 A 忽略了影像输入,C 只处理图像不做问答,D 完全偏离模型结构。

Q2. LLaVA-Med 的视觉编码器通常采用哪种结构?

单选题 · easy

  • A.循环神经网络 RNN
  • B.视觉 Transformer ViT← 正确答案
  • C.贝叶斯网络结构
  • D.决策树分类结构

答案:B。LLaVA-Med 沿用 LLaVA 的视觉编码器,采用 ViT 把图像切成 patch 编码为视觉特征序列。RNN 适合序列文本,贝叶斯网络与决策树都不是深度视觉编码器。

Q3. 投影层在 LLaVA-Med 中的核心作用是?

单选题 · easy

  • A.将图像的分辨率压缩变小
  • B.把视觉特征映射到文本表示空间← 正确答案
  • C.把临床问题转换成图像特征
  • D.减少语言模型的参数量

答案:B。投影层相当于“视神经”:它将 ViT 输出的视觉特征翻译成大语言模型能理解的 embedding 表示,使视觉 token 能与文本 token 拼接。它不改变分辨率和参数量,也不做文本到图像的转换。

Q4. LLaVA-Med 的临床指令数据主要由谁生成?

单选题 · mid

  • A.放射科医生手工标注
  • B.基于 GPT-4 自动生成← 正确答案
  • C.从社交平台随机抓取
  • D.直接复用通用问答语料

答案:B。LLaVA-Med 用 self-instruct 思路:以医学图像和图注为素材,让 GPT-4 生成大量“问题—答案”对,再人工抽检清洗。纯手工标注成本过高,社交平台与通用语料缺乏医学专业性与图文对应关系。

Q5. 关于 LLaVA-Med 的两阶段训练,正确的说法有?

多选题 · mid

  • A.对齐阶段只训练投影层← 正确答案
  • B.对齐阶段更新全部参数
  • C.微调阶段训练投影层与语言模型← 正确答案
  • D.微调阶段保持语言模型冻结

答案:AC。第一阶段的图文对齐冻结视觉编码器和语言模型,只优化投影层(A 对 B 错);第二阶段指令微调放开语言模型和投影层端到端训练(C 对 D 错)。这与“先练视神经、再全面查房”的规培顺序一致。

Q6. 与纯文本大模型相比,多模态推理的关键差异是?

单选题 · mid

  • A.模型参数量大幅增加
  • B.生成时可回看视觉 token← 正确答案
  • C.不再采用自回归方式
  • D.完全抛弃注意力机制

答案:B。多模态推理中视觉 token 作为静态上下文全程保留,文本生成时注意力机制可以随时“回看”图像区域。参数量增加不是本质差异,自回归与注意力机制依然保留。

Q7. 为什么不能把图像特征直接拼给文本模型而不做对齐?

单选题 · hard

  • A.因为图像特征占用显存过大
  • B.两者表示空间不同,语义无法关联← 正确答案
  • C.因为文本无法读取图片文件
  • D.因为直接拼接会导致梯度爆炸

答案:B。ViT 的视觉特征与语言模型的 embedding 处于不同的表示空间,直接拼接好比把“视觉画面”硬塞给“语言中枢”——模型无法建立“阴影=磨玻璃影”的跨模态关联。对齐的意义正是让两种特征在同一个空间里可比、可交互。

Q8. 评估多模态医学模型时应关注哪些维度?

多选题 · mid

  • A.回答关键实体的 F1 值← 正确答案
  • B.与高年资医生的诊断一致性← 正确答案
  • C.幻觉回答的比例统计← 正确答案
  • D.训练时消耗的 GPU 时长

答案:ABC。医学评估是多维的:F1 考察关键实体有没有漏说或瞎说,一致性考察与临床专家意见的吻合度,幻觉比例衡量模型是否“一本正经胡说八道”。GPU 时长是工程成本,不是模型效果指标。

Q9. LLaVA-Med 生产部署中,关键的落地措施有?

多选题 · hard

  • A.私有化部署保障患者隐私← 正确答案
  • B.量化压缩解决显存瓶颈← 正确答案
  • C.人机协作兜底幻觉风险← 正确答案
  • D.完全替代医生独立诊断

答案:ABC。医学数据敏感,需私有化部署;7B 模型 fp16 权重约 14GB,需 AWQ/GPTQ 量化;生成式模型有幻觉风险,必须由医生审核后写入病历。AI 做“提议”,医生做“决策”,完全替代是红线。

Q10. 与通用 LLaVA 相比,LLaVA-Med 的核心改动是?

单选题 · extreme

  • A.更换了更大的视觉编码器
  • B.用生物医学图文对与临床指令微调← 正确答案
  • C.完全去掉了语言模型部分
  • D.改用强化学习进行训练

答案:B。LLaVA-Med 的架构与 LLaVA 相同,核心改动在数据:预训练阶段用 PMC-15M 生物医学图文对做对齐,指令微调阶段用 GPT-4 生成的临床问答数据。模型的“医学能力”是从医学数据里学来的,而不是换架构换出来的。