消費級 GPU 上的臨床遺傳 AI:MedGemma 4B 實測 9 種複雜基因變異,致病性方向 100% 正確
在消費級 GPU 上實測 Google MedGemma 對 TTN、BRCA1、TP53 等複雜基因變異的臨床解讀能力
實測數據:manual_test_results/medgemma/evaluation.json
基因報告裡的「致病性不明變異(VUS)」是臨床遺傳學家的噩夢。每個 WES 案例平均有數十個 VUS,每一個都要翻 ClinVar、查文獻、對 ACMG 準則——而這是一個遺傳諮詢師每天重複的工作。
Google 在 2025 年釋出了 MedGemma,一個針對醫療文本和影像訓練的開源模型。理論上它應該懂這些:BRCA1 的 PM1 強功能區域、TTN A-band 截斷型的致病機制、TP53 的 gain-of-function 特殊規則。
但「訓練過」不等於「真的會用」。我找了 9 個在臨床上確實困難的案例,直接問它,看它答出什麼。
TL;DR
| 指標 | 結果 |
|---|---|
| 模型 | MedGemma 4B-it (google/medgemma-4b-it) |
| GPU | NVIDIA RTX 3090 (24GB) |
| VRAM 佔用 | 8.01 GB (BF16) / Peak 8.18 GB |
| 推理速度 | 23.7 tok/s (avg) |
| 載入時間 | 11.3 秒(已有快取) |
| 致病性分類正確率 | 9/9 (100%) 方向正確 |
| ACMG 準則品質 | 有幻覺現象,需人工驗證 |
| 平均品質分數 | 83% (自動化品質檢查) |
臨床遺傳學的瓶頸:每個 VUS 查詢 30 分鐘到數小時,AI 能縮短多少
在 NGS 臨床流程中,變異解讀(variant interpretation) 是最耗時的環節。一個分子遺傳學家花在判讀一個 VUS 上的時間,可能從 30 分鐘到數小時不等。特別是像 TTN(人類最大的基因,35,991 個外顯子)這類基因:
- 截斷型變異(truncating)在 A-band 區域與 DCM 強相關
- 但錯義變異(missense)大多是良性的,因為基因太大
- 需要同時考慮:變異類型 + 蛋白質位置 + 合子型 + 臨床表型 + 族群頻率 + 家族史
這正是 AI 模型的理想測試場景——需要整合多維度資訊進行推理。
MedGemma 是什麼?
MedGemma 是 Google 基於 Gemma 3 架構、專門針對醫療文本與影像理解訓練的模型:
- 4B 多模態版本:文字 + 醫療影像(X-ray、病理、皮膚科、眼科)
- 27B 純文字版本:更強的醫學推理,支援 test-time scaling
- 訓練資料包含 MedQA、PubMedQA、MIMIC-CXR 等醫療資料集
- MedQA 4-op 成績:4B 達 64.4%、27B 達 89.8%
測試環境
Server: Linux 6.8.0, Ubuntu 22.04
GPU: NVIDIA RTX 3090 (24GB GDDR6X)
CPU: 20 cores
RAM: 125 GB
Python: 3.10.12
PyTorch: 2.7.1+cu118
Transformers: 5.3.0
Model: google/medgemma-4b-it (4.3B params, BF16)
測試案例設計
我們設計了 9 個複雜變異案例,每個案例都需要模型整合多種遺傳資訊才能正確判讀:
| # | 基因 | 變異 | 挑戰點 | 預期分類 |
|---|---|---|---|---|
| 1 | TTN | p.Arg16283Ter (nonsense) | 截斷型在 A-band → DCM,需要區分位置 | Likely Pathogenic |
| 2 | TTN | p.Asn10904Ser (missense) | 同基因但錯義多為良性,需理解基因特性 | Likely Benign |
| 3 | BRCA1 | p.Arg1699Gln | BRCT domain VUS,ClinVar 衝突,需整合多因子分析 | VUS / LP (debated) |
| 4 | MYH7 | p.Arg403Gln | 經典 HCM hotspot,dominant-negative 機制 | Pathogenic |
| 5 | SCN1A | p.Leu946Pro (de novo) | Dravet 藥物禁忌,loss-of-function 機制 | Likely Pathogenic |
| 6 | TP53 | p.Arg273His (germline) | Hotspot,生殖系 vs 體細胞意義不同,Li-Fraumeni | Pathogenic |
| 7 | RYR1 | compound het | 雙重遺傳模式:AD→MH, AR→肌病 | Likely Pathogenic |
| 8 | LMNA | p.Arg225Ter | 一個基因多種表型,SCD 高風險族群 | Pathogenic |
| 9 | VHL | p.Arg167Trp | 基因型-表型關聯:missense→pheo, truncating→RCC | Pathogenic |
為什麼選這些案例?
核心測試目標是「需要確認多種遺傳資訊才能判定致病性的基因」:
- TTN (Case 1 vs 2):同基因、不同變異類型 → 完全不同結論。這是最好的對照組
- BRCA1 (Case 3):ClinVar 衝突意見,需要多因子整合分析
- RYR1 (Case 7):compound het + 雙重遺傳模式是最複雜的整合推理
- TP53 (Case 6):同一變異在 germline vs somatic 有不同意義
- VHL (Case 9):missense vs truncating 導致不同腫瘤類型的罕見反直覺現象
效能結果
GPU 資源使用
Model VRAM: 8.01 GB (BF16, 4.3B params)
Peak VRAM: 8.18 GB (during generation)
Available: 24 GB → 仍有 ~16 GB 空間
[示意圖] 此截圖為示意圖(MedGemma Variant 需要 MedGemma 需 Google 授權存取,數據取自原始測試記錄)。
MedGemma 4B 在 RTX 3090 上非常輕鬆,BF16 精度完全不需量化。相比 Phi-4-Reasoning-Vision (15B) 需要 CPU offload,4B 模型的部署門檻低得多。
推理速度
| 案例 | Input Tokens | Output Tokens | 速度 (tok/s) | 生成時間 |
|---|---|---|---|---|
| TTN truncating | 263 | 1024 | 23.8 | 43.0s |
| TTN missense | 259 | 1024 | 23.7 | 43.3s |
| BRCA1 VUS | 314 | 1024 | 22.5 | 45.5s |
| MYH7 HCM | 282 | 1024 | 23.8 | 43.1s |
| SCN1A Dravet | 282 | 1024 | 23.6 | 43.4s |
| TP53 LFS | 304 | 1024 | 24.0 | 42.6s |
| RYR1 compound | 318 | 1024 | 24.1 | 42.5s |
| LMNA DCM | 285 | 1024 | 24.0 | 42.6s |
| VHL pheo | 279 | 1024 | 24.1 | 42.5s |
| 平均 | 287 | 1024 | 23.7 | 43.2s |
所有案例都達到 max_new_tokens=1024 的上限,顯示模型在這類複雜問題上會盡量生成完整回答。在臨床 workflow 中,43 秒的等待時間完全可接受。
致病性分類準確度
結果總覽
| 案例 | 預期分類 | MedGemma 分類 | 正確? |
|---|---|---|---|
| TTN truncating A-band | Likely Pathogenic | Pathogenic | ✓(方向正確,更強) |
| TTN missense I-band | Likely Benign | Likely Benign | ✓ |
| BRCA1 BRCT domain VUS | VUS/LP (debated) | Likely Pathogenic | ✓(合理) |
| MYH7 Arg403Gln | Pathogenic | Pathogenic | ✓ |
| SCN1A Dravet de novo | Likely Pathogenic | Pathogenic | ✓(方向正確) |
| TP53 germline R273H | Pathogenic | Likely Pathogenic | ✓(偏保守) |
| RYR1 compound het | LP (compound het) | Likely Pathogenic | ✓ |
| LMNA truncating | Pathogenic | Highly likely pathogenic | ✓ |
| VHL missense pheo | Pathogenic | Pathogenic | ✓ |
9/9 案例分類方向全部正確! 這是令人印象深刻的結果。
核心發現:TTN 對照組
最重要的測試是 TTN 的兩個案例——MedGemma 是否能區分同一基因內截斷型 vs 錯義型變異的不同意義:
Case 1 (TTN truncating, A-band):
"Pathogenic" — 模型正確辨識了 TTN 截斷型變異在 DCM 中的致病角色
Case 2 (TTN missense, I-band):
"Likely Benign" — 模型正確理解了 TTN 錯義變異通常為良性的特性,並引用了 gnomAD 頻率和 REVEL 分數
這表明 MedGemma 已學到基因特異性的變異解讀知識:同一個基因,不同變異類型需要完全不同的判讀策略。
品質深度分析
自動品質檢查 (7 維度)
| 維度 | 通過率 | 說明 |
|---|---|---|
| 提及分類 | 9/9 | 所有案例都給出明確致病性分類 |
| 引用 ACMG | 9/9 | 所有案例都提到 ACMG 準則 |
| 提及基因名 | 9/9 | 完全 |
| 結構化回答 | 9/9 | 使用標題、列表等結構 |
| 足夠長度 | 9/9 | 所有回答超過 500 字 |
| 提及機制 | 6/9 | TTN trunc、MYH7、RYR1 缺少機制描述 |
| 臨床建議 | 1/9 | 大多被 1024 token 截斷 |
臨床建議被截斷的問題
由於設定 max_new_tokens=1024,大多數案例在到達臨床建議部分之前就被截斷了。在實際應用中,應提高到 2048-4096 tokens。
⚠️ ACMG 準則幻覺
這是最嚴重的問題。MedGemma 在引用 ACMG 準則時出現明顯幻覺:
TTN 截斷型案例:
PM2 - Predicted to be deleterious by multiple computational tools
(PP3, PP4, PP5, PP6, PP7, PP8, PP9, PP10, PP11, PP12...PP42)
LMNA 案例:
PM2-A, PM2-B, PM2-C, PM2-D, PM2-E, PM2-F, PM2-G, PM2-H, PM2-I, PM2-J
實際的 ACMG/AMP 準則只有 28 條(PVS1, PS1-4, PM1-6, PP1-5, BA1, BS1-4, BP1-7),根本不存在 PP6 以上或 PM2-A 到 PM2-J 這些代碼。
這意味著:
- ✅ MedGemma 知道要引用 ACMG 準則
- ✅ 正確的致病性分類方向
- ❌ 但具體準則代碼有嚴重幻覺
- ❌ 不可直接用於臨床報告中的準則引用
VHL 案例品質最佳 (100%)
VHL Type 2 案例是唯一拿到 100% 品質分的案例。模型正確描述了:
- VHL 基因型-表型分類體系
- 為何 missense 變異導致 pheochromocytoma
- HIF pathway 調控機制
- 監測建議
品質分數分布
VHL_type2_pheo ████████████████████ 100% (7/7)
TTN_missense_benign ████████████████░░░░ 86% (6/7)
BRCA1_VUS ████████████████░░░░ 86% (6/7)
SCN1A_Dravet ████████████████░░░░ 86% (6/7)
TP53_germline_LFS ████████████████░░░░ 86% (6/7)
LMNA_DCM_conduction ████████████████░░░░ 86% (6/7)
TTN_truncating_Aband ██████████████░░░░░░ 71% (5/7)
MYH7_HCM_hotspot ██████████████░░░░░░ 71% (5/7)
RYR1_compound_het ██████████████░░░░░░ 71% (5/7)
與其他模型的定位比較
| 能力維度 | MedGemma 4B | 通用 LLM (GPT-4) | 傳統工具 (InterVar) |
|---|---|---|---|
| 致病性分類方向 | ✅ 9/9 正確 | ✅ 通常正確 | ✅ 規則化準確 |
| ACMG 準則引用 | ⚠️ 有幻覺 | ⚠️ 偶有錯誤 | ✅ 精確 |
| 多因子整合推理 | ✅ 良好 | ✅ 優秀 | ❌ 不支援 |
| 臨床脈絡化建議 | ⚠️ 被截斷 | ✅ 完整 | ❌ 不提供 |
| 本地部署 | ✅ 8GB VRAM | ❌ 雲端 API | ✅ 本地 |
| 速度 | 23.7 tok/s | 依 API | 即時 |
| 資料隱私 | ✅ 完全本地 | ❌ 需上傳 | ✅ 本地 |
MedGemma 4B 的定位
MedGemma 4B 最適合作為臨床遺傳學家的快速初篩工具:
- 在本地 GPU 上運行,不需要將病人資料上傳到雲端
- 23.7 tok/s 的速度適合互動式使用
- 分類方向準確率高,可以快速縮小需要人工深入判讀的變異清單
但不適合直接用於臨床報告:
- ACMG 準則引用有幻覺
- 需要人工驗證每一條準則
- 4B 模型在深度推理上不如 27B 版本
實作建議
適合的使用場景
# 場景 1:VCF 批次初篩
for variant in vcf_variants:
prompt = f"Classify {variant.gene} {variant.hgvs}: {variant.consequence}"
result = medgemma.generate(prompt)
if "pathogenic" in result.lower():
priority_review_list.append(variant)
# 場景 2:TTN-like 基因的快速分類
# 利用 MedGemma 理解基因特異性規則的能力
prompt = """TTN missense variant in I-band, gnomAD AF 0.001,
REVEL 0.3. Is this likely pathogenic?"""
不適合的使用場景
- 直接生成臨床報告(ACMG 準則不準確)
- 作為唯一的判讀依據(需要人工驗證)
- 需要引用具體文獻(模型可能幻覺文獻)
部署建議
# MedGemma 4B 在 RTX 3090 上的最佳設定
# VRAM: 8 GB — 完全不需要量化或 CPU offload
export HF_HOME=/your/cache/dir
python3 -c "
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch
model = AutoModelForImageTextToText.from_pretrained(
'google/medgemma-4b-it',
dtype=torch.bfloat16, # 注意:新版 transformers 應用 dtype 非 torch_dtype
device_map='auto',
token='YOUR_HF_TOKEN', # 需要接受 gated repo 條款
)
"
結論
MedGemma 4B 在消費級 RTX 3090 上展現了令人驚喜的變異解讀能力:
- 分類準確度高:9 個複雜案例全部正確分類,包括最關鍵的 TTN truncating vs missense 對照
- 資源效率極佳:僅 8 GB VRAM,23.7 tok/s,完全可以在臨床工作站本地運行
- 隱私友好:完全本地推理,不需要將病人基因資料上傳雲端
- 但有重要限制:ACMG 準則編碼有嚴重幻覺,必須搭配人工驗證
在 NGS 臨床流程中,MedGemma 最適合定位為快速初篩輔助工具——幫助臨床遺傳學家在大量 VUS 中快速找出需要優先判讀的變異,而非取代人工判讀。
下一步
- 測試 MedGemma 27B-text-it(使用 4-bit 量化 on RTX 3090)比較推理品質
- 整合進 VCF 分析 pipeline 做批次自動初篩
- Fine-tune MedGemma 4B with 本地 ClinVar 資料改善 ACMG 準則準確度
延伸閱讀:MedGemma 三部曲
| 篇 | 主題 | 核心發現 |
|---|---|---|
| 一(本篇) | 基因變異解讀 | 9/9 致病性方向正確,ACMG 幻覺 |
| 二 | 醫療影像判讀 | CXR 90%、MSK 53.5%,訓練邊界清晰 |
| 三 | 醫學文獻查詢 | 80.9%,證據整合 88.8%,ACMG 細節幻覺 |
如果你也在臨床或研究環境中評估本地醫療 AI,歡迎分享你的測試設計或不同基因的結果。MedGemma 4B 在消費級硬體上的可及性讓獨立驗證成本極低。
測試日期:2026-03-10 | 測試者:Laman Wu | MedGemma v1.0.1 | GPU: RTX 3090

Top comments (0)