baichuan-inc/Baichuan-M1-14B-Base
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Baichuan-M1-14B-Base

🤗 Baichuan-M1-14B-Base • 🤗 Baichuan-M1-14B-Instruct • 📗 技术报告 • 💬 微信交流


📖 目录

  • 🏁 模型简介
  • 🔬 数据收集与处理
  • 🧠 全新模型架构
  • ⚙️ 训练方法
  • 📊 评测结果
  • 🚀 快速开始
  • 📜 许可与声明
  • 🏷️ 参考文献

🏁 模型简介

Baichuan-14B-M1 是百川智能自主研发的业界首个开源医疗大语言模型。该模型在保持优秀通用能力的同时,在医疗领域展现出强大性能。在多数通用基准评测中,其表现与同规模模型相当;而在医疗场景下,性能则超越了五倍参数量级的模型。模型核心特点如下:

  • 基于 20 万亿 tokens 的高质量医疗及通用数据从头训练。
  • 针对 20+ 临床科室 进行专业化建模,具备精细化医疗知识。
  • 引入 创新模型架构,显著提升上下文理解能力与长序列任务表现。
  • 提供 🤗 Base 模型 和 🤗 指令微调模型。

🔬 数据收集与处理

医疗数据收集

我们针对医疗领域进行了细致的数据收集与整合,具体包括:

  • 数千万级专业医疗数据:中英文专业论文、医学病例、医学教材、知识库等。
  • 数亿级医疗问答与临床数据:涵盖复杂医学推理及真实世界临床案例。
  • 全面的数据分类与评估:按科室、内容、价值等维度分类,确保数据分布均衡,筛选出真正有价值的医疗数据。

数据合成与优化

  • 合成数据设计:融合知识图谱、案例及教材,生成多样化、高质量的医疗推理数据。
  • 自反思机制与奖励模型:持续提升合成数据质量,最终生成近万亿 tokens 的推理数据,覆盖长尾知识与复杂场景。

通用数据采集

  • 20T 多语言通用数据集:包含 14T 英文数据、4T 中文数据,以及覆盖 30 种主流语言的 2T 数据。
  • 去重与上采样策略:对高质量数据进行上采样,显著提升模型性能。
  • 27 个全球知识分类:基于小模型实验优化数据比例,平衡通用能力与领域能力。

🧠 新型模型架构

短卷积注意力机制

  • 在计算 Key 和 Value 时引入轻量级短卷积操作,大幅降低标准 Transformer 模型对归纳头(induction heads)学习的依赖。传统 Transformer 依赖归纳头捕捉序列中的重复模式和上下文依赖关系,这需要一定的模型宽度和深度。短卷积在时间维度上对 Key 和 Value 序列进行解耦,增强上下文学习能力。从小型玩具模型到超百亿参数模型的大量实验表明,短卷积注意力机制在语言建模任务中表现优异,尤其在高度依赖上下文信息的任务上。

滑动窗口注意力机制

  • 在部分层采用滑动窗口注意力机制,降低 KV Cache 内存占用。
  • 平衡计算效率与性能,特别适用于长序列任务。

优化位置编码震荡

  • 通过增加部分注意力头的维度,减少 RoPE 曲线震荡。
  • 在长序列任务中表现更稳定,同时保持模型捕捉多样化特征的能力。

高峰学习率策略

  • 采用WSD学习率调度策略,配合高峰学习率以提升模型的泛化能力。
  • 显著提升基准任务性能。

自适应梯度更新

  • 动态梯度裁剪:当梯度过大时跳过更新,以减少特殊样本或陡峭损失空间导致的不稳定性。

⚙️ 训练方法

我们创新性地采用了多阶段课程学习与对齐优化方法,通过以下两部分系统提升模型能力:

1. 多阶段课程学习

训练分为三个阶段,逐步优化模型的通用及医疗领域能力:

  1. 通用知识增强阶段:专注于通用语言建模,提升基础语言能力与常识水平。
  2. 医学基础知识增强阶段:引入高质量医疗数据,强化推理、数学及医学知识。
  3. 医学高级知识增强阶段:进一步优化数据质量,聚焦复杂医学推理、疾病诊断及长尾知识。

2. 对齐优化

通过强化学习与成对数据优化,提升模型生成质量、逻辑推理能力及用户偏好对齐度:

  1. 成对数据:涵盖多轮对话、指令遵循、数学与代码及推理任务,来源于人工标注与多模型生成。
  2. 优化流程:
    • ELO:基于最大似然优化多样化、高质量的思维链生成。
    • TDPO:利用成对数据优化生成模型,实现更好的用户偏好对齐。
    • PPO:通过策略优化进一步增强生成逻辑与任务性能。

这种多阶段与对齐优化相结合的方法,使模型在通用及医疗领域能力上均实现了卓越表现。


📊 基准测试结果

我们的评估涵盖所有主流基准测试,在开源和闭源评估中均取得优异指标,在保持强大通用性能的同时,展现出卓越的医疗场景能力。

类别基准测试Baichuan-M1-14B-InstructQwen2.5-14B-InstructQwen2.5-72B-Instructclaude-3.5-sonnet-20241022gpt-4o
平均得分72.2365.3970.5174.8575.00
临床实践cmbclin77.4071.5175.3678.3775.36
clinicalbench_diag70.9068.8572.2375.0073.05
clinicalbench_hos70.0568.8370.5365.5869.38
clinicalbench_treat56.3855.0357.3064.0359.35
rarearena_rdc81.8066.4076.2089.6088.40
rarearena_rds54.0042.6049.8059.8057.20
rarebench59.6052.8060.6065.3062.80
资格考试cmexam80.1077.7082.7077.5078.00
Pediatric Qualification Exam78.4874.6884.8176.5878.48
Internal Medicine Qualification Exam83.4286.1087.1787.7083.42
General Practice Qualification Exam87.0788.4488.4481.6384.35
USMLE78.0067.2076.7085.9087.10
medbullets66.8854.2264.2972.4075.97
mediq83.4066.8079.9088.8090.20
nejmqa49.7545.6950.7669.5454.31
pubmedqa75.2076.4075.6077.0077.60
redisqa74.5069.7075.0083.2082.80
基础能力mednli_dis80.4068.9074.9058.3079.80
medcalc56.0031.4037.9052.6049.00
MMLU-anatomy80.0067.4171.1186.6791.11
MMLU-virology54.8256.0253.0154.2257.23
MMLU-genetics91.0082.0087.0097.0095.00

🚀 快速开始

🤗 Hugging Face Transformers

我们建议使用最新版本的 Transformers 库(至少 4.47.0 版本)。以下代码片段展示了如何使用 Baichuan-M1-14B-Instruct 模型:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# 1. Load pre-trained model and tokenizer
model_name = "baichuan-inc/Baichuan-M1-14B-Base"  
tokenizer = AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name,trust_remote_code=True,torch_dtype = torch.bfloat16).cuda()

input_text = "I have recently recovered from my cold."


inputs = tokenizer(input_text, return_tensors="pt").to(model.device)

outputs = model.generate(
        inputs["input_ids"],
        max_length=100, 
    )

generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print("Generated Text:")
print(generated_text)

📜 许可与声明

模型的使用必须遵守《Baichuan-M1-14B模型社区许可协议》。

百川开发团队未基于本模型开发任何商业应用。所有用户必须遵守法律法规,不得将模型用于危害国家安全或非法目的。


🏷️ 引用

如果您需要引用我们的工作,请使用以下参考文献格式:

@article{baichuan-m1-2025,
  title={Baichuan-M1: Pushing the Medical Capability of Large Language Models},
  author={Bingning Wang, Haizhou Zhao, Huozhi Zhou, Liang Song, Mingyu Xu, Wei Cheng, Xiangrong Zeng, Yupeng Zhang, Yuqi Huo, Zecheng Wang, Zhengyun Zhao and others},
  journal={arXiv preprint arXiv:2502.12671},
  year={2025}
}