许可证:其他
许可证名称:健康AI开发者基础条款
许可证链接:https://developers.google.com/health-ai-developer-foundations/terms
库名称:transformers
管道标签:图像文本到文本
额外授权标题:在Hugging Face上访问MedGemma
额外授权提示:
要在Hugging Face上访问MedGemma,您需要阅读并同意健康AI开发者基础使用条款。请确保您已登录Hugging Face账号并点击下方按钮。请求将立即处理。
额外授权按钮内容:确认许可证
基础模型:google/medgemma-4b-pt
标签:
- 医学
- 放射学
- 临床推理
- 皮肤病学
- 病理学
- 眼科学
- 胸部X光
MedGemma模型卡
模型文档:MedGemma
资源:
作者:Google
模型信息
本节介绍MedGemma模型及其使用方法。
描述
MedGemma是一系列基于Gemma 3的变体,专为医学文本和图像理解优化。开发者可利用MedGemma加速医疗AI应用的开发。目前提供两种版本:40亿参数的多模态版本和270亿参数的纯文本版本。
MedGemma 4B采用SigLIP图像编码器,该编码器经过多种匿名医疗数据(包括胸部X光、皮肤病图像、眼科图像和组织病理学切片)的预训练。其大语言模型组件则基于多样化的医学数据训练,涵盖放射影像、病理切片、眼科和皮肤病图像。
MedGemma 4B提供预训练版(后缀-pt
)和指令调优版(后缀-it
)。指令调优版更适合大多数应用场景,预训练版则适合深度实验需求。
MedGemma 27B仅针对医学文本训练,并优化了推理效率,目前仅提供指令调优版本。
MedGemma系列已在多项临床相关基准测试中验证性能,涵盖公开数据集和定制数据集。开发者可通过微调进一步提升表现。完整技术报告即将发布。
使用方法
以下代码示例帮助您快速在GPU上本地运行模型。如需规模化部署,建议使用Model Garden创建生产版本。
首先安装Transformers库(Gemma 3需4.50.0及以上版本):
pip install -U transformers
使用pipeline API运行模型
from transformers import pipeline
from PIL import Image
import requests
import torch
pipe = pipeline(
"image-text-to-text",
model="google/medgemma-4b-it",
torch_dtype=torch.bfloat16,
device="cuda",
)
image_url = "https://upload.wikimedia.org/wikipedia/commons/c/c8/Chest_Xray_PA_3-8-2010.png"
image = Image.open(requests.get(image_url, headers={"User-Agent": "example"}, stream=True).raw)
messages = [
{"role": "system", "content": [{"type": "text", "text": "您是放射科专家。"}]},
{"role": "user", "content": [
{"type": "text", "text": "描述这张X光片"},
{"type": "image", "image": image},
]}
]
output = pipe(text=messages, max_new_tokens=200)
print(output[0]["generated_text"][-1]["content"])
直接运行模型
from transformers import AutoProcessor, AutoModelForImageTextToText
from PIL import Image
import requests
import torch
model_id = "google/medgemma-4b-it"
model = AutoModelForImageTextToText.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
image_url = "https://upload.wikimedia.org/wikipedia/commons/c/c8/Chest_Xray_PA_3-8-2010.png"
image = Image.open(requests.get(image_url, headers={"User-Agent": "example"}, stream=True).raw)
messages = [
{"role": "system", "content": [{"type": "text", "text": "您是放射科专家。"}]},
{"role": "user", "content": [
{"type": "text", "text": "描述这张X光片"},
{"type": "image", "image": image}
]}
]
inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device, dtype=torch.bfloat16)
input_len = inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**inputs, max_new_tokens=200, do_sample=False)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
示例
参考以下Colab笔记本:
模型架构
MedGemma基于Gemma 3的仅解码器Transformer架构,详情参见Gemma 3模型卡。
技术规格
- 模型类型:仅解码器Transformer架构(参见Gemma 3技术报告)
- 模态:4B支持文本和视觉;27B仅支持文本
- 注意力机制:分组查询注意力(GQA)
- 上下文长度:支持至少128K tokens的长上下文
- 关键发布日期:即将发布
- 模型创建日期:2025年5月20日
- 模型版本:1.0.0
引用
技术报告即将发布。如需引用,请参考Hugging Face模型页:
@misc{medgemma-hf,
author = {Google},
title = {MedGemma Hugging Face},
howpublished = {\url{https://huggingface.co/collections/google/medgemma-release-680aade845f90bec6a3f60c4}},
year = {2025},
note = {访问日期:[例如2025-05-20]}
}
输入输出
输入:
- 文本字符串(如问题或提示)
- 图像(归一化为896x896分辨率并编码为256 tokens/张)
- 总输入长度128K tokens
输出:
- 生成的响应文本(如问题答案、图像分析或文档摘要)
- 总输出长度8192 tokens
性能验证
MedGemma在多模态分类、报告生成、视觉问答和文本任务中表现优异。
关键指标
影像评估
MedGemma 4B在放射学、皮肤病学等领域的基准测试中全面超越Gemma 3 4B基础模型:
任务与指标 |
MedGemma 4B |
Gemma 3 4B |
MIMIC CXR - 前5病症平均F1 |
88.9 |
81.1 |
皮肤病症分类准确率 |
71.8 |
42.6 |
放射学视觉问答F1 |
62.3 |
38.6 |
胸部X光报告生成
在MIMIC-CXR数据集上,MedGemma 4B预训练版的RadGraph F1得分(29.5)与专用调优模型PaliGemma 2 10B持平。
文本评估
MedGemma 27B在医学问答(MedQA)等文本任务中展现显著优势:
指标 |
MedGemma 27B |
Gemma 3 27B |
MedQA(4选项) |
89.8(最佳5次) |
74.9 |
数据卡
数据集
训练数据包含公开与授权私有数据集:
- 公开数据:MIMIC-CXR(胸部X光)、SLAKE(多模态医学图像)、TCGA(癌症基因组)等
- 私有数据:来自美国/欧洲医疗机构的匿名放射影像、眼科图像、皮肤病图像和组织病理切片
完整数据引用参见模型文档。
使用限制
预期用途
MedGemma是开源多模态生成式AI模型,旨在作为医疗文本/图像应用的开发起点。开发者需根据具体场景进行验证、调优或修改。
限制
- 未经充分验证不得直接用于临床诊断
- 主要针对单图像任务优化,未评估多图像理解能力
- 输出需经独立验证和临床相关性分析
- 可能存在训练数据偏差,需针对目标人群验证
开发者应注意:
- 验证数据代表性:确保覆盖年龄、性别、设备等因素
- 数据污染风险:在非公开数据上验证泛化能力
(注:以上为节选翻译,完整内容请参考原文)