ZJUI-AI4H/Hulu-Med

A Transparent Generalist Model towards Holistic Medical Vision-Language Understanding

📚 什麼是 Hulu‑Med

Hulu‑Med 是一個開源的多元模態醫療視覺語言模型(VLM),能夠理解並生成關於醫療文本、2D 影像、3D 體積(例如 CT/MRI NIfTI 檔案)以及影片的文本。 作者使用涵蓋 12 個解剖系統和 14 種影像模態的1,670 萬個公開醫療樣本訓練了該模型,並發布了完整的訓練流程、數據整理腳本和模型權重。


🎯 核心功能

  • 全面的多元模態推理 – 針對文本、影像、3D 掃描和手術影片的任意組合,回答問題、撰寫報告或進行診斷式推理。
  • 透明且可重現 – 所有程式碼、數據列表和權重均在 Apache‑2.0 授權下公開。
  • 高效能推論 – 相容於 HuggingFace Transformers、vLLM、flash-attention 和 tensor-parallelism,支援快速服務。
  • 多種模型尺寸 – 從輕量級的 4 B 參數模型到 235 B 參數的「Flash-Preview」變體,讓使用者可以在速度、記憶體和準確性之間選擇合適的權衡。

📦 模型庫(選定的變體)

模型 參數量 基礎 LLM 近似 GPU 小時* HF 連結
Hulu‑Med‑4B 4 B Qwen3‑VL‑4B ~1 k 🤗
Hulu‑Med‑7B 7 B Qwen2.5‑7B ~4 k 🤗
Hulu‑Med‑14B 14 B Qwen3‑14B ~8 k 🤗
Hulu‑Med‑30A3 30 B Qwen3‑VL‑30A3B ~3.2 k 🤗
Hulu‑Med‑235A22 (Flash‑Preview) 235 B Qwen3‑VL‑235A22B ~10 k 🤗

*GPU 小時是單節點訓練執行的粗略估計值。


📈 效能如何?

作者在30 個醫療 VLM 和文本數據集(例如 VQA‑RAD、PathVQA、MedXQA、MMLU‑Pro)上進行了基準測試。 整體而言,Hulu‑Med 優於現有的開源醫療 VLM,並且通常縮小了與 GPT‑4.0 等專有模型的差距。 亮點:

  • Hulu‑Med‑7B 在 OM.VQA 上達到 84.2,在 MedXQA 上達到 66.8,是 10 B 以下開源模型中最好的。
  • Hulu‑Med‑235A22 在 VQA‑RAD 上達到 70.5,在 MedXQA 上達到 39.8,超越了所有列出的競爭對手。
  • 在純文本醫療考試(MMLU‑Pro、Medbullets 等)中,14 B 和 30 B 變體取得了 68–69 分,是開源 VLM 中的最高分。

🛠️ 快速開始(HuggingFace Transformers)

from transformers import AutoModelForCausalLM, AutoProcessor
import torch

model_id = "ZJU-AI4H/Hulu-Med-7B"
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    torch_dtype="bfloat16",
    device_map="auto",
    attn_implementation="flash_attention_2",
)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)

# 範例:從 2D X 光影像生成報告
conversation = [{
    "role": "user",
    "content": [
        {"type": "image", "image": {"image_path": "./demo/xray.jpg"}},
        {"type": "text", "text": "寫一份簡潔的放射學報告。"},
    ]
}]
inputs = processor(conversation=conversation, return_tensors="pt", add_generation_prompt=True)
inputs = {k: v.to(model.device) if isinstance(v, torch.Tensor) else v for k, v in inputs.items()}
output_ids = model.generate(**inputs, max_new_tokens=1024)
print(processor.batch_decode(output_ids, skip_special_tokens=True)[0])

相同的 processor 也適用於3D NIfTI 體積type: "3d")和影片type: "video")。 有關詳細範例,請參閱 README。


⚡ 使用 vLLM 執行(高吞吐量服務)

VLLM_USE_PRECOMPILED=1 pip install git+https://github.com/jiangsongtao/vllm.git
pip install decord ffmpeg imageio   # 影片支援

安裝後,使用模型路徑啟動 vLLM,並使用標準的 OpenAI 相容 API 發送多元模態負載。


📂 儲存庫結構(高層)

  • scripts/ – 數據整理、預處理和訓練啟動腳本。
  • hulu_med/ – 模型定義和解析多元模態對話格式的自訂 processor
  • demo/ – README 中使用的範例影像、影片和 3D 掃描。
  • requirements.txt – 完整的 Python 相依性清單。
  • LICENSE – Apache 2.0。

📜 授權與引用

程式碼和權重以 Apache 2.0 發布。 如果您在研究或產品中使用這些模型,請引用徽章中連結的 arXiv 論文(arXiv:2510.08668)。


🔗 有用連結


🤔 何時使用 Hulu‑Med?

  • 需要公開可用的 VLM 用於醫療影像或影片的臨床 AI 研究
  • 從放射學影像生成解釋或報告的教育工具
  • 希望使用單一模型處理文本、2D、3D 和影片輸入,而無需拼接單獨系統的原型建置

🚀 下一步

  1. 選擇適合您 GPU 預算的模型大小。
  2. 遵循安裝步驟(conda + pip)或 vLLM 路徑進行大規模服務。
  3. 使用提供的 Python 程式碼片段開始對文本、影像、3D 或影片輸入進行實驗。
  4. 透過報告錯誤、新增新的公開醫療數據集或在專業子領域進行微調來做出貢獻。

相關