MedGo / README_CN.md
TiramisuQiao's picture
Update README_CN.md
b254fc2 verified

MedGo: 基于 Qwen3-32B 的医疗大模型

HuggingFace License Python

English | 简体中文

📋 目录

🎯 简介

MedGo 是一个基于 Qwen3-32B 微调的通用医疗大语言模型,专为临床医学与科研场景设计。模型通过大规模多源医学语料和复杂病例数据增强进行训练,支持医学问答、病历摘要、临床推理、多轮对话和科研文本生成等多任务能力。

🌟 核心能力

  • 📚 医学知识问答: 基于权威医学文献和临床指南的专业问答
  • 📝 病历文书生成: 自动化病历摘要、诊断报告和医疗文书
  • 🔍 临床推理: 鉴别诊断、检查建议和治疗方案推荐
  • 💬 多轮对话: 医患交互模拟和复杂病例讨论
  • 🔬 科研辅助: 文献摘要、研究思路生成和质控审查

✨ 模型特点

特性 详情
基础架构 Qwen3-32B
参数规模 32B
应用领域 临床医学、科研辅助、医疗系统集成
微调方法 SFT + Preference Alignment (DPO/KTO)
数据来源 权威医学文献、临床指南、真实病例(脱敏)
部署方式 本地部署、HIS/EMR 系统集成
开源许可 Apache 2.0

📊 性能评估

MedGo 在多项医学与综合评测基准上表现优异,在 32B 参数级别模型中具有竞争力:

主要基准测试结果

  • AIMedQA: 医学问答理解
  • CME: 临床推理评估
  • DiagnosisArena: 诊断能力测试
  • MedQA / MedMCQA: 医学选择题
  • PubMedQA: 生物医学文献问答
  • MMLU-Pro: 综合能力评估

Performance Comparison

性能亮点

  • 平均得分: 约 70 分(32B 级别模型中表现优异)
  • 优势任务: 临床推理(DiagnosisArena、CME)和多轮医学问答
  • 平衡能力: 在医疗语义理解和多任务泛化上表现良好

🚀 快速开始

环境要求

  • Python >= 3.8
  • PyTorch >= 2.0
  • Transformers >= 4.35.0
  • CUDA >= 11.8 (GPU 推理)

安装

# 克隆仓库
git clone https://github.com/OpenMedZoo/MedGo.git
cd MedGo

# 安装依赖
pip install -r requirements.txt

模型下载

从 HuggingFace 下载模型权重:

# 使用 huggingface-cli
huggingface-cli download OpenMedZoo/MedGo --local-dir ./models/MedGo

# 或使用 git-lfs
git lfs install
git clone https://huggingface.co/OpenMedZoo/MedGo

基础推理

from transformers import AutoModelForCausalLM, AutoTokenizer

# 加载模型和分词器
model_path = "OpenMedZoo/MedGo"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    device_map="auto",
    trust_remote_code=True,
    torch_dtype="auto"
)

# 医学问答示例
messages = [
    {"role": "system", "content": "你是一个专业的医疗助手,请基于医学知识回答问题。"},
    {"role": "user", "content": "请解释什么是高血压,以及常见的治疗方法。"}
]

# 生成回复
inputs = tokenizer.apply_chat_template(
    messages, 
    tokenize=True, 
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(
    inputs,
    max_new_tokens=512,
    temperature=0.7,
    top_p=0.9,
    do_sample=True
)

response = tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True)
print(response)

批量推理

# 使用提供的推理脚本
python scripts/inference.py \
    --model_path OpenMedZoo/MedGo \
    --input_file examples/medical_qa.jsonl \
    --output_file results/predictions.jsonl \
    --batch_size 4

vLLM 加速推理

from vllm import LLM, SamplingParams

# 初始化 vLLM
llm = LLM(model="OpenMedZoo/MedGo", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.7, top_p=0.9, max_tokens=512)

# 批量推理
prompts = [
    "请解释糖尿病的症状和治疗方法。",
    "高血压患者应该注意哪些饮食事项?"
]

outputs = llm.generate(prompts, sampling_params)
for output in outputs:
    print(output.outputs[0].text)

🔧 训练细节

MedGo 采用两阶段微调策略,兼顾通用医学知识与临床任务适配。

阶段 I:通识医学对齐

目标: 建立扎实的医学知识基础,提高问答规范性

  • 数据来源:

    • 权威医学文献(PubMed、医学教科书)
    • 临床指南和诊疗规范
    • 医学百科条目和术语库
  • 训练方法:

    • Supervised Fine-Tuning (SFT)
    • Chain-of-Thought (CoT) 引导样本
    • 医学术语对齐和安全性约束

阶段 II:临床任务增强

目标: 增强复杂病例推理和多任务处理能力

  • 数据来源:

    • 真实病历(完全脱敏处理)
    • 门急诊记录和复杂多诊断样本
    • 科研文章和质控案例
  • 数据增强技术:

    • 语义改写和多视角扩写
    • 复杂病例合成
    • 医患交互模拟
  • 训练方法:

    • Multi-Task Learning(病历摘要、鉴别诊断、检查建议等)
    • Preference Alignment (DPO/KTO)
    • 专家反馈迭代优化

训练优化重点

  • ✅ 强化复杂病例的信息抽取与跨证据推理
  • ✅ 提升输出的医学一致性和可解释性
  • ✅ 优化表达的合规性和安全性
  • ✅ 通过专家样本和自动评测持续迭代

💡 使用场景

✅ 适用场景

场景 说明
临床辅助 初步诊断建议、病历书写、格式化报告生成
科研支持 文献摘要、研究思路生成、数据分析辅助
质控审查 医疗文书规范性检查、诊疗流程质控
系统集成 嵌入 HIS/EMR 系统,提供智能辅助决策
医学教育 病例讨论、医学知识问答、临床推理训练

🚫 不适用场景

  • 不能替代医生: 仅为辅助工具,不能单独作为诊断依据
  • 高风险操作: 不建议用于手术决策等高风险医疗操作
  • 罕见病局限: 对训练数据外的罕见病表现可能欠佳
  • 实时急救: 不适用于需要即时决策的急救场景

⚠️ 限制与风险

模型局限性

  1. 理解偏差: 虽已覆盖大量医学知识,仍可能出现理解偏差或错误推荐
  2. 复杂病例: 对病情复杂、并发症严重、资料缺失的病例风险较高
  3. 知识时效: 医学知识持续更新,模型训练数据可能滞后
  4. 语言限制: 主要针对中文医学场景,其他语言表现可能不佳

使用建议

  • ⚠️ 请在受控环境中使用,并由临床专家审核生成结果
  • ⚠️ 将模型输出作为辅助参考,而非最终诊断依据
  • ⚠️ 对敏感病案或高风险场景,必须结合专家意见
  • ⚠️ 部署前需通过内部验证、安全审查和临床测试

数据隐私与合规

  • 🔒 训练数据已完全脱敏处理
  • 🔒 使用时注意患者隐私保护
  • 🔒 生产环境部署需符合医疗数据安全法规(如 HIPAA、GDPR)
  • 🔒 建议在本地部署,避免敏感数据外传

📚 引用

如果 MedGo 对您的研究或项目有帮助,请引用我们的工作:

@misc{openmedzoo_2025,
    author       = { OpenMedZoo },
    title        = { MedGo (Revision 640a2e2) },
    year         = 2025,
    url          = { https://huggingface.co/OpenMedZoo/MedGo },
    doi          = { 10.57967/hf/7024 },
    publisher    = { Hugging Face }
}

📄 许可证

本项目采用 Apache License 2.0 开源协议。

商业使用须知

  • ✅ 允许商业使用和修改
  • ✅ 需保留原始许可证和版权声明
  • ✅ 医疗系统集成建议联系我们获取技术支持

🤝 贡献

我们欢迎社区贡献!以下是参与方式:

贡献类型

  • 🐛 提交 Bug 报告
  • 💡 提出新功能建议
  • 📝 改进文档
  • 🔧 提交代码修复或优化
  • 📊 分享评测结果和使用案例

🙏 致谢

感谢所有参与 MedGo 项目的人员:

  • 模型研发与微调算法团队
  • 数据标注与质量控制团队
  • 临床专家指导与审核团队
  • 开源社区的支持与反馈

特别感谢:

  • Qwen Team 提供优秀的基础模型
  • 所有提供数据和反馈的医疗机构

📧 联系方式