Apollo:开源多语言医疗大型语言模型
前言
医疗知识的整合与人工智能一直是研究界的焦点。尽管医疗大型语言模型(LLM)前景广阔,但现有工作主要集中在中文和英文上,对于其他语言的多语言适配还有待进一步探索。为了将最先进的 LLM 的好处普及到更广泛的用户群体,研究团队开发了 Apollo 系列多语言医疗 LLM。这一举措旨在将 LLM 视为现代版的医疗基础创新,类似于历史上电力和疫苗的普及。
模型特点
Apollo 作为一个轻量级的多语言医疗 LLM,具有以下显著优势:
- 代理模型能力 (Proxy Tuning):可以作为大模型的代理模型,在不需要接触敏感医疗训练数据的情况下,显著提升大模型的多语种医疗能力。
- 本地化部署:体积小,可直接部署在医疗设备上,无需联网即可提供本地化的医疗服务,提高效率并保障隐私。
- 低资源需求:计算资源要求低,更适合学术研究者探索医疗 LLM 领域的新思路和新问题。
ApolloCorpora:多语种医疗数据集
构建高质量的多语言医疗 LLM 需要庞大的语料支持。研究团队构建了 ApolloCorpora 数据集,覆盖了英语、中文、印地语、西班牙语、法语和阿拉伯语六种最广泛使用的语言,涵盖了全球约 61 亿人口。
数据来源包括书籍、临床指南、百科全书、论文、在线论坛和考试等,共 2.5 万亿 tokens。在数据处理过程中,研究团队针对不同语言的医学特点进行了本地化特征保留,确保数据的准确性和文化适应性。
Apollo:性能优良的轻量级多语言医疗 LLM
基于 ApolloCorpora,研究团队开发了 Apollo 系列多语言医疗 LLM,其中包括 0.5B、1.8B、2B、6B 和 7B 等不同规模的模型。相较于传统的继续预训练和指令微调方法,Apollo 采用了一种新的域适应方法:使用 ChatGPT 将预训练语料重写为问答对,并采用自适应采样策略,实现了更平滑的过渡。
这种相对较小规模的模型设计,使 Apollo 可以作为大模型的代理模型 (Proxy Tuning) 使用,在不需要直接训练大模型的情况下,即可显著提升其多语言医疗能力,从而保护医疗训练数据的隐私。
技术实现细节
为了实现高效的域适应,Apollo 采用了以下关键技术步骤:
- 数据清洗与标准化:去除噪声数据,统一不同来源的格式。
- 问答对生成:利用强大的基座模型生成高质量的医疗问答对,增强指令遵循能力。
- 自适应采样:根据数据难度动态调整采样概率,优化训练效率。
XMedBench:多语种医疗知识评测
为了全面评估多语言医疗 LLM 的性能,研究团队构建了 XMedBench 评测集。该评测集包括:
- 英语:MedQA、MMLU
- 中文:CMMLU
- 西班牙语:HEAD-QA
- 法语:FrenMedMCQA
- 阿拉伯语和印地语:翻译自 MMLU 的版本
评测结果显示,虽然 GPT-4 和 Qwen-72B 在闭源和开源模型中排名第一,但 Apollo 系列模型在同等规模下取得了最佳性能。其中 Apollo-7B 的表现与 GPT-3.5 持平,Apollo-1.8B 与 Mistral-7B 持平,Apollo-0.5B 与 Llama2-7B 持平。
虽然阿拉伯语和印地语的支持仍有待进一步提高,但 Apollo 系列模型在英语、中文、法语和西班牙语等主流语言的医疗知识理解方面已经达到了领先水平。
使用指南
为了帮助开发者快速上手 Apollo 模型,以下是基于 Hugging Face Transformers 库的使用示例。
环境准备
首先,确保安装了必要的依赖库:
pip install transformers torch accelerate
模型加载与推理
以下代码展示了如何加载 Apollo-7B 模型并进行简单的医疗问答推理:


