meditron

GitHub
2.2k 207 较难 1 次阅读 昨天Apache-2.0语言模型
AI 解读 由 AI 自动生成,仅供参考

Meditron 是一套专为医疗领域打造的开源大语言模型系列,旨在让 AI 更懂医学知识。它基于强大的 Llama-2 架构,通过在包含精选 PubMed 论文摘要、国际权威临床指南及通用语料的庞大医疗数据集上进行持续预训练,显著提升了在医疗推理任务上的表现。实验显示,其 70B 版本在多项专业测试中超越了 Llama-2-70B、GPT-3.5 等主流模型。

Meditron 主要解决了通用大模型在垂直医疗领域专业知识匮乏、推理能力不足的问题,为构建高质量的医疗 AI 应用提供了坚实的基座。其独特的技术亮点在于构建了名为"GAP-Replay"的专用训练语料库,巧妙融合了临床指南、论文摘要、全文文献及通用数据,实现了领域知识的深度注入。

这款工具非常适合 AI 研究人员、医疗科技开发者以及需要处理医学文本分析的专业团队使用,可作为开发智能问诊辅助、文献检索系统或医学教育工具的底层引擎。不过需要特别注意的是,Meditron 目前仍处于研究阶段,尚未针对真实医疗场景的安全性和可操作性进行充分对齐验证。官方强烈建议不要将其直接用于临床诊断或患者服务,必须在经过严格的场景适配测试甚至随机对照试验后,方可考虑实际部署。

使用场景

某三甲医院科研团队正在协助基层医生快速解读复杂的国际临床指南,以制定标准化诊疗方案。

没有 meditron 时

  • 通用大模型对专业医学术语理解偏差大,常将“适应症”与“禁忌症”混淆,导致建议存在安全隐患。
  • 面对长达数十页的全英文临床指南,医生需人工逐段检索关键信息,耗时数小时且容易遗漏更新内容。
  • 模型缺乏对最新 PubMed 文献和权威指南的训练,无法回答涉及 2023 年前沿疗法的具体推理问题。
  • 输出内容过于泛泛而谈,缺乏基于具体病例场景的可操作性步骤,难以直接指导临床实践。

使用 meditron 后

  • meditron 基于 46K 份临床指南和海量论文持续预训练,能精准区分复杂医学概念,显著降低误读风险。
  • 医生输入患者症状,meditron 可瞬间从国际指南中提取对应章节并总结关键诊疗路径,将检索时间缩短至分钟级。
  • 依托包含最新 PubMed 摘要的知识库,meditron 能准确回答关于新兴疗法的深度推理问题,提供循证依据。
  • 生成的回答严格遵循专业指南约束,输出结构化的分步操作建议,可直接作为基层医生的辅助决策参考。

meditron 通过将海量权威医学知识内化为模型能力,极大地提升了医疗信息检索的准确性与临床决策的支持效率。

运行环境要求

操作系统
  • Linux
GPU
  • 训练必需:NVIDIA A100 (80GB) SXM,需多卡集群(如 16 节点 x 8 卡)
  • 推理建议:支持 vLLM 的 NVIDIA GPU,显存需求取决于模型版本(7B 需约 14GB+,70B 需约 140GB+ 或使用量化/多卡并行),未明确指定 CUDA 版本但通常需配合 PyTorch 2.0.1+
内存

训练:每节点 512GB;推理:未说明(建议根据模型大小配置充足内存)

依赖
notes该工具主要面向大规模分布式训练环境,官方训练使用了 16 个节点(每节点 8 张 A100 80GB)。普通用户进行推理时建议使用 vLLM 或 FastChat 等高效引擎。模型分为 7B 和 70B 两个版本,70B 版本对硬件要求极高。代码许可证为 Apache 2.0,但模型权重遵循 Llama 2 社区许可协议。不建议直接用于生产环境的医疗应用,需经过额外的对齐测试。
python未说明
vllm>=0.2.1
transformers>=4.34.0
datasets>=2.14.6
torch>=2.0.1
Megatron-LLM
meditron hero image

快速开始

MediTron logo

Meditron 是一套开源的医学大型语言模型(LLMs)。

我们发布了 Meditron-7B 和 Meditron-70B,它们基于 Llama-2,在一个全面 curated 的医学语料库上进行了持续预训练,该语料库包括精选的 PubMed 论文和摘要、一套国际公认的医学指南数据集,以及通用领域的语料库,从而适配了医学领域。

经过相关数据微调的 Meditron-70B,在多项医学推理任务中表现优于 Llama-2-70B、GPT-3.5 和 Flan-PaLM。

咨询通知
尽管 Meditron 旨在从高质量证据来源中编码医学知识,但它尚未被调整为能够以适当、安全的方式,并在专业可操作的约束范围内提供这些知识。我们建议不要在没有进行广泛的用例对齐以及额外测试的情况下将 Meditron 用于医疗应用,尤其是需要在真实世界实践环境中进行随机对照试验的情况。

模型详情

  • 开发团队: EPFL LLM 团队
  • 模型类型: 因果解码器-only 变压器语言模型
  • 语言: 英语(主要)
  • 模型许可证: LLAMA 2 社区许可协议
  • 代码许可证: APACHE 2.0 许可证
  • 继续预训练自模型: Llama-2-70B
  • 上下文长度: 4k tokens
  • 输入: 仅文本数据
  • 输出: 模型仅生成文本
  • 状态: 这是一个基于离线数据集训练的静态模型。随着我们不断提升模型性能,未来还将发布经过微调的版本。
  • 知识截止日期: 2023年8月
  • 训练者: epflLLM/Megatron-LLM
  • 论文: [Meditron-70B:面向大型语言模型的医学预训练扩展] (https://arxiv.org/abs/2311.16079)

使用方法

您可以直接从 HuggingFace 模型中心 加载 Meditron 模型,如下所示:

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("epfl-llm/meditron-70b")
model = AutoModelForCausalLM.from_pretrained("epfl-llm/meditron-70b")
Pipeline

医学训练数据

我们发布了用于下载和预处理 Meditron 训练数据的代码。

Meditron 的领域自适应预训练语料库 GAP-Replay 结合了来自四个语料库的 481 亿个 token:

  • 临床Guidelines: 一套包含来自各类医疗机构及国际组织的 4.6 万份临床实践指南的新语料库,
  • 论文Abstracts: 从封闭访问的 PubMed 和 PubMed Central 论文中提取的 1610 万个摘要,
  • 医学Papers: 从 500 万篇公开可用的 PubMed 和 PubMed Central 论文中提取的全文文章。
  • Replay 数据集: 从 RedPajama-v1 中采样的 4 亿个通用领域预训练数据 token。

下载说明

您可以通过在 gap-replay 文件夹中运行 ./download.sh 来下载并预处理整个 GAP-Replay 语料库。

您还可以从 HuggingFace 数据集中心 下载我们 Guidelines 语料库中的 3.6 万篇开放获取文章。

from datasets import load_dataset

dataset = load_dataset("epfl-llm/guidelines")

您也可以通过在 guidelines 文件夹中运行 ./download.sh 来抓取并清洗所有 4.6 万份指南(包括封闭访问来源)。

更多详细信息请参阅 GAP-Replay 文档

训练流程

我们使用了 Megatron-LLM 分布式训练库——它是 Nvidia 的 Megatron LM 项目的衍生版本——来优化训练效率。 硬件由 16 个节点组成,每个节点配备 8 块 NVIDIA A100(80GB)SXM GPU,通过 NVLink 和 NVSwitch 相互连接,并配有单块 Nvidia ConnectX-6 DX 网卡,同时搭载 2 颗 AMD EPYC 7543 32 核处理器和 512GB 内存。 这些节点通过 RDMA over Converged Ethernet 进行互联。

我们的三重并行方案采用以下配置:

  • 数据并行(DP —— 不同 GPU 处理不同批次子集)为 2,
  • 流水线并行(PP —— 不同 GPU 处理不同层)为 8,
  • 张量并行(TP —— 不同 GPU 处理矩阵乘法的不同子张量)为 8。

训练超参数(7B)

bf16 true
lr 3e-4
eps 1e-5
betas [0.9, 0.95]
clip_grad 1
weight decay 0.1
DP size 16
TP size 4
PP size 1
seq length 2048
lr scheduler cosine
min lr 1e-6
warmup iteration 2000
micro batch size 10
global batch size 1600

训练超参数(70B)

bf16 true
lr 1.5e-4
eps 1e-5
betas [0.9, 0.95]
clip_grad 1
weight decay 0.1
DP size 2
TP size 8
PP size 8
seq length 4096
lr scheduler cosine
min lr 1e-6
warmup iteration 2000
micro batch size 2
global batch size 512

您可以在这里查看我们通过 Megatron-LLM 对模型进行预训练所使用的脚本:finetune.sh

监督式微调

我们再次使用了 Megatron-LLM 分布式训练库来进行监督式微调(单节点和多节点)。 我们编写了一个名为 sft.py 的文件,它可以自动通过 Megatron-LLM 处理分词和微调过程。要启动多节点微调流程,可以参考以下示例:

cd finetuning
python sft.py \
    --checkpoint=baseline \
    --size=70 \
    --run_name=cotmedqa \
    --data /pure-mlo-scratch/zechen/meditron/benchmarks/ft_preprocessed/medqa_cot_train.jsonl \
    --val /pure-mlo-scratch/zechen/meditron/benchmarks/ft_preprocessed/medqa_cot_validation.jsonl \
    --micro_batch=4
    --nodes=4 \
    --addr=<RANK0_HOST_NAME> \
    --save_interval=200 \
    --pp=4 \
    --seq 4096 \
    --rank=<CURRENT_RANK>

在节点 rank-0、rank-1、rank-2 和 rank-3 上分别运行上述命令,即可启动一个 4 节点的微调进程。

重要提示!: 请确保在 sft.pyfinetune_sft.sh 中正确设置了路径。

微调超参数

bf16 true
lr 2e-5
eps 1e-5
betas [0.9, 0.95]
clip_grad 1
weight decay 0.1
DP size 16
TP size 4
PP size 1
seq length 2048 或 4096
lr scheduler cosine
min lr 2e-6
warmup ratio 0.1
added tokens [<|im_start|>, <|im_end|>]

应用场景

Meditron-70B 目前可供进一步测试和评估,旨在作为 AI 助手以增强临床决策能力,并使医疗领域的大规模语言模型更加普及化。潜在的应用场景包括但不限于:

  • 医学考试问答
  • 辅助鉴别诊断
  • 疾病相关信息查询(症状、病因、治疗等)
  • 健康常识查询

该模型可用于生成文本,这对于实验研究及理解其功能特性非常有帮助。然而,不应将其直接用于生产环境或可能对人们产生影响的实际工作中。

我们不建议在生产环境中使用此模型进行自然语言生成任务,无论是否经过微调。

下游应用

Meditron-70B 和 Meditron-7B 均为未经过微调或指令微调的基础模型。它们可以根据具体的下游任务和应用场景进行微调、指令微调或 RLHF 微调。

我们曾采用两种方式将该模型应用于下游问答任务:

  1. 在提示中加入 k 个示例(我们的论文中使用了 3 或 5 个),实现上下文学习。
  2. 使用特定的训练数据集对该模型进行微调,以适应下游问答任务。

我们鼓励并期待更多样化的应用场景能够基于该基础模型展开。

如果您希望以更交互式的方式与模型对话,建议使用高吞吐量且内存高效的推理引擎,并配备支持聊天和文本生成的用户界面。

您可以在下方的部署指南中查看我们的实践案例:我们使用了 FastChat 结合 vLLM。为了进行定性分析,我们通过一个交互式 UI 平台 BetterChatGPT 收集了模型生成的内容。以下是我们使用的提示格式示例:

qualitative-analysis-prompt

医疗基准推理与评估

必需条件

在开始之前,请确保已安装以下必要的软件包:

vllm >= 0.2.1
transformers >= 4.34.0
datasets >= 2.14.6
torch >= 2.0.1

有关如何使用医疗基准进行推理和评估的详细说明,请参阅此处的文档:推理与评估说明

模型部署

有关如何部署 Meditron 模型并进行交互式对话的详细步骤,请参阅此处的文档:模型部署

引用信息

如果您使用本软件或本文,请引用以下内容:

@misc{chen2023meditron70b,
      title={MEDITRON-70B: Scaling Medical Pretraining for Large Language Models},
      author={Zeming Chen and Alejandro Hernández-Cano and Angelika Romanou and Antoine Bonnet and Kyle Matoba and Francesco Salvi and Matteo Pagliardini and Simin Fan and Andreas Köpf and Amirkeivan Mohtashami and Alexandre Sallinen and Alireza Sakhaeirad and Vinitra Swamy and Igor Krawczuk and Deniz Bayazit and Axel Marmet and Syrielle Montariol and Mary-Anne Hartley and Martin Jaggi and Antoine Bosselut},
      year={2023},
      eprint={2311.16079},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

@software{epfmedtrn,
  author = {Zeming Chen and Alejandro Hernández-Cano and Angelika Romanou and Antoine Bonnet and Kyle Matoba and Francesco Salvi and Matteo Pagliardini and Simin Fan and Andreas Köpf and Amirkeivan Mohtashami and Alexandre Sallinen and Alireza Sakhaeirad and Vinitra Swamy and Igor Krawczuk and Deniz Bayazit and Axel Marmet and Syrielle Montariol and Mary-Anne Hartley and Martin Jaggi and Antoine Bosselut},
  title = {MediTron-70B: Scaling Medical Pretraining for Large Language Models},
  month = November,
  year = 2023,
  url = {https://github.com/epfLLM/meditron}
}

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

153.6k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|1周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|3天前
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|5天前
语言模型数据工具其他

gpt4all

GPT4All 是一款让普通电脑也能轻松运行大型语言模型(LLM)的开源工具。它的核心目标是打破算力壁垒,让用户无需依赖昂贵的显卡(GPU)或云端 API,即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。 对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说,GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点,让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者,还是单纯想体验私有化 AI 聊天的普通用户,都能从中受益。 技术上,GPT4All 基于高效的 `llama.cpp` 后端,支持多种主流模型架构(包括最新的 DeepSeek R1 蒸馏模型),并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端,支持 Windows、macOS 和 Linux 等多平台一键安装,还为开发者提供了便捷的 Python 库,可轻松集成到 LangChain 等生态中。通过简单的下载和配置,用户即可立即开始探索本地大模型的无限可能。

77.3k|★☆☆☆☆|2天前
语言模型开发框架