🚀 II-Medical-7B-Preview
II-Medical-7B-Preview 是一个基于大量医学知识数据集训练的医学推理模型,能够有效提升人工智能在医学领域的应用能力,为医学相关的问答和推理任务提供支持。
🚀 快速开始
本模型的使用方式与 Qwen 或 Deepseek-R1-Distill 模型相同。
你可以使用 vLLM 轻松启动服务:
vllm serve Intelligent-Internet/II-Medical-7B-Preview
也可以使用 SGLang 启动服务:
python -m sglang.launch_server --model Intelligent-Internet/II-Medical-7B-Preview
✨ 主要特性
- 综合数据集训练:基于全面的医学知识数据集进行训练,涵盖多种医学推理数据来源。
- 多阶段优化:通过 SFT 微调以及在困难推理数据集上进行 DAPO 训练,提升模型性能。
- 多基准评估:在十个医学问答基准测试中进行评估,展现出良好的性能。
📦 安装指南
文档未提及具体安装步骤,可参考上述快速开始部分的使用命令。
💻 使用示例
基础用法
使用 vLLM 启动服务:
vllm serve Intelligent-Internet/II-Medical-7B-Preview
高级用法
使用 SGLang 启动服务:
python -m sglang.launch_server --model Intelligent-Internet/II-Medical-7B-Preview
📚 详细文档
模型概述
II-Medical-7B-Preview 是一个在综合数据集上训练的医学推理模型,旨在增强人工智能在医学领域的能力。

训练方法
收集并生成了一套全面的医学领域推理数据集,并在 Qwen/Qwen2.5 - 7B - Instruct 模型上进行 SFT 微调。之后,在困难推理数据集上进行 DAPO 训练,进一步优化 SFT 模型以提升性能。
SFT 阶段使用的超参数:
- 最大长度:16378。
- 批量大小:128。
- 学习率:5e - 5。
- 训练轮数:4。
RL 阶段的训练设置:
- 最大提示长度:2048 个标记。
- 最大响应长度:12288 个标记。
- 超长缓冲区:启用,4096 个标记,惩罚因子 1.0。
- 剪辑比率:低 0.2,高 0.28。
- 批量大小:训练提示 512,生成提示 1536,小批量 32。
- 每个提示的响应数:16。
- 温度:1.0,Top - p:1.0,Top - k:-1(vLLM 推出)。
- 学习率:1e - 6,热身步骤:10,权重衰减:0.1。
- 损失聚合:标记均值。
- 梯度裁剪:1.0。
- 熵系数:0。
评估结果
在十个医学问答基准测试中进行评估,包括 MedMCQA、MedQA、PubMedQA、MMLU - Pro 和 GPQA 中的医学相关问题、Lancet 和《新英格兰医学杂志》的小问答集、MedBullets 平台的 4 选项和 5 选项拆分以及 MedXpertQA。
模型 |
MedMC |
MedQA |
PubMed |
MMLU - P |
GPQA |
Lancet |
MedB - 4 |
MedB - 5 |
MedX |
NEJM |
平均 |
QWQ 32B |
69.73 |
87.03 |
88.5 |
79.86 |
69.17 |
71.3 |
72.07 |
69.01 |
24.98 |
75.12 |
70.68 |
Qwen2.5 - 7B - IT |
56.56 |
61.51 |
71.3 |
61.17 |
42.56 |
61.17 |
46.75 |
40.58 |
13.26 |
59.04 |
51.39 |
HuatuoGPT - o1 - 8B |
63.97 |
74.78 |
80.10 |
63.71 |
55.38 |
64.32 |
58.44 |
51.95 |
15.79 |
64.84 |
59.32 |
Med - reason |
61.67 |
71.87 |
77.4 |
64.1 |
50.51 |
59.7 |
60.06 |
54.22 |
22.87 |
66.8 |
59.92 |
M1 |
62.54 |
75.81 |
75.80 |
65.86 |
53.08 |
62.62 |
63.64 |
59.74 |
19.59 |
64.34 |
60.3 |
II - Medical - 7B - Preview - Wo - RL |
69.13 |
84.05 |
77.5 |
73.49 |
55.12 |
67.71 |
69.48 |
64.28 |
19.51 |
70.64 |
65.1 |
II - Medical - 7B - Preview |
69.42 |
85.15 |
77.9 |
77.26 |
55.90 |
65.29 |
72.72 |
68.50 |
22.97 |
68.66 |
66.4 |
数据集整理
训练数据集包含 555,000 个样本,来源如下:
- 公共医学推理数据集(103,031 个样本)
- 通用医学推理:40,544 个样本
- Medical - R1 - Distill - Data:22,000 个样本
- Medical - R1 - Distill - Data - Chinese:17,000 个样本
- UCSC - VLAA/m23k - tokenized:23,487 个样本
- 使用 QwQ 生成的合成医学问答数据(225,700 个样本)
从已有的医学数据集中生成:
- MedMcQA(来自 openlifescienceai/medmcqa):183,000 个样本
- MedQA:10,000 个样本
- MedReason:32,700 个样本
- 整理的医学 R1 推理轨迹(338,055 个样本)
首先从以下来源收集所有公共 R1 推理轨迹:
- PrimeIntellect/SYNTHETIC - 1
- GeneralReasoning/GeneralThought - 430K
- a - m - team/AM - DeepSeek - R1 - Distilled - 1.4M
- open - thoughts/OpenThoughts2 - 1M
- nvidia/Llama - Nemotron - Post - Training - Dataset:仅科学子集
- 其他资源:cognitivecomputations/dolphin - r1, ServiceNow - AI/R1 - Distill - SFT,...
所有 R1 推理轨迹通过特定领域的管道进行处理:
- 嵌入生成:使用 sentence - transformers/all - MiniLM - L6 - v2 对提示进行嵌入。
- 聚类:进行 50,000 个聚类的 K - means 聚类。
- 领域分类:
- 对于每个聚类,选择距离聚类中心最近的 10 个提示。
- 使用 Qwen2.5 - 32b - Instruct 对每个选定的提示进行领域分类。
- 根据分类提示的多数投票确定聚类的领域。
- 领域过滤:仅保留标记为医学或生物学的聚类用于最终数据集。
- 补充数学数据集
- 添加了 15,000 个来自 light - r1 的推理轨迹样本
- 目的:增强模型的通用推理能力
数据预处理
- 完整生成过滤:仅保留具有完整生成输出的轨迹。
- 基于长度的过滤:
- 最小阈值:仅保留包含超过 3 个单词的提示。
- 最大阈值:仅保留单词数少于 7,143 的轨迹。
- 等待标记过滤:移除包含超过 47 次“Wait”的轨迹(第 97 百分位阈值)。
数据净化
使用两步净化方法:
- 遵循 open - r1 项目:使用 10 - 克与评估数据集对数据集进行净化。
- 之后,使用
s1k
方法的模糊净化,阈值为 90%。
我们的管道与评估数据集进行了仔细的净化处理。
🔧 技术细节
训练过程
在 SFT 阶段和 RL 阶段使用了不同的超参数设置,以优化模型性能。SFT 阶段注重模型的基础微调,而 RL 阶段则在困难推理数据集上进一步提升模型的推理能力。
数据集处理
对收集到的各种数据集进行了复杂的处理,包括嵌入生成、聚类、领域分类和过滤等步骤,以确保最终数据集的质量和相关性。同时,进行了数据预处理和净化,提高数据的可用性和模型的泛化能力。
📄 许可证
文档未提及许可证信息。
引用
@misc{2025II-Medical-7B-Preview,
title={II-Medical-7B-Preview: Medical Reasoning Model},
author={Intelligent Internet},
year={2025}
}
重要提示
- 数据集可能包含来自源材料的固有偏差。
- 医学知识需要定期更新。
- 请注意,该模型不适合用于医疗用途。
使用建议
- 推荐采样参数:温度 = 0.6,top_p = 0.9。
- 使用时,明确请求逐步推理,并将最终答案格式化为 \boxed{}(例如,“请逐步推理,并将最终答案放在 \boxed{} 中。”)。