1. 概述
自然语言处理领域正在以惊人的速度发展,ChatGPT 和 Vicuna 等大型语言模型正在从根本上改变我们与计算机交互的方式。从简单的文本理解到复杂的问题解决,这些先进的模型展示了类似人类的推理能力。
特别是,BLOOM 和 LLaMA 等开源模式在医疗保健领域日益受到关注,为该领域的创新提供了新的可能性。然而,将这些技术引入医疗保健领域也带来了独特的挑战和机遇。有许多问题需要解决,包括数据隐私问题和采用开源模式的障碍。
为了应对这些挑战,本文介绍了 BioMistral 7B。BioMistral 7B 扩展了开源大规模语言模型在医学领域的潜力,并展示了其应对更广泛用例的能力。bioMistral 7B 扩展了开源大规模语言模型在医学领域的潜力,并展示了其应对更广泛使用情况的能力。
此外,该倡议还根据 Apache 2.0 许可在HuggingFace 和 GitHub 上提供了数据集、多语言基准、预处理脚本和模型。这项研究有望成为未来医疗技术的创新举措。
论文地址:https://arxiv.org/pdf/2402.10373.pdf
2. BioMistral 模块
首先,让我们来谈谈研究前的数据集。PMC开放存取子集是一个全面但可免费访问的医学研究文章集合,我们参考了之前成功的研究,如PMC-LaMA、PubMedBERT和SciFive,选择了一个专门适用于生物医学领域的子集。.这些研究表明,医学应用中的语言建模有了很大改进。本文的重点是获得商业使用许可的子集,包括各种知识共享许可(CC0、CC BY、CC BY-SA、CC BY-ND)下的文档。该子集保证了模型输出的可重用性,甚至可用于商业目的。
此外,还从经过预处理的 PubM Central 语料库中精心挑选了约 3 亿个词库和 147 万份文档。该数据集主要由英文文档组成,但也包括荷兰语、德语和法语等其他九种语言的文档。我们的方法侧重于多语种数据集,优先处理非英语文档,并建立一个多样化、有代表性的训练数据集,以实现 3 亿个词库的目标。然后,我们使用 Mistral 标记化器对原始文本文档进行标记化和规范化预处理。
接下来,让我们谈谈模型适应性:BioMistral 7B 的开发使用 Mistral 7B Instruct v0.1 作为基础模型,该模型专为纳入引导提示和微调数据集有限的各种任务而设计这一选择强调了该模型与特定指导一起工作的能力,以及灵活适应不同类型任务的能力。优化过程还采用了高效的 AdamW 优化器和余弦调度器,可随着时间的推移调整学习率。该模型的架构保留了从 Mistral 继承而来的转换器架构的标准功能,如分组查询关注、滑动窗口关注和滚动缓冲缓存。这些选择都是为了确保高吞吐量和高精确度。此外,为了提高预训练的效率,还引入了标记化后分组方法。这种方法能有效聚合标有标记符号的可变大小序列,标记符号表示序列的结束,从而无需填充即可填充模型的 2,048 个标记符号序列。这一独创性大大减少了序列的数量,从而缩短了训练时间。
接下来,我们将引入一种创新方法来整合不同的预训练模型,以进一步推动生物医学领域的先进水平。传统上,我们通常为每个特定应用使用不同的模型,但这会增加复杂性和成本。根据最新的研究趋势,我们采用SLERP、TIES 和 DARE 等先进的模型合并技术,合并模型之间的参数,以提高性能并增强在领域外的通用能力。
在生物医学领域,将通用领域模型与特定领域模型合并对于提高适应性和准确性特别有用。这种方法可以增强专用模型的能力,使其应用范围更广。此外,它还探索了新的推理可能性,并力求超越传统模型的性能。
最后是量化技术。它使大规模语言模型能够应用于更广泛的设备,从而促进其广泛应用。内存使用量的减少使较小的设备也能运行大型语言模型,从而提高了该技术的可及性。本文介绍了两种先进的量化方法:激活感知权重量化(AWQ)和 BitsandBytes(BnB)。AWQ 通过避免对基本权重进行量化,转而采用权重重要性,从而将模型的性能下降降到最低。AWQ 通过避免基本权重量化,而采用权重重要性量化,从而最大限度地降低了模型的性能,在保持准确性的同时有效地缩小了模型规模。另一方面,BnB 量化通过为整个模型分配 4 或 8 位的统一精度,实现了简洁性和统一性。这种方法降低了量化过程的复杂性,使在更多设备上运行大型语言模型成为现实。
2.评估协议 - 英语医学推理任务基准
为了评估 BioMistral 7B 模型的性能,该模型重点测试了 10 个英语问答(QA)任务,这些任务选自四个关键医学语料库,涵盖了遗传学、解剖学和临床病例等多个医学专业。它们涵盖了医学专业人员日常遇到的真实场景、医学院入学考试的形式以及基于 PubMed 内容的理解测试。这些数据集总结了医疗专业人员遇到的真实场景、医学院入学考试的形式以及基于 PubMed 内容的理解测试。下表总结了这些数据集。
MMLU(Hendrycks 等人,2021 年)是 57 个科目的试题集,我们选择了与医学和临床知识相关的六个科目。由于 MMLU缺乏训练数据,我们使用 MedQA 进行微调,并用 MMLU 评估泛化性能。
MedQA(Jin等人,2020年)包含以USMLE格式呈现的各种医学知识问题。训练集由 10,178 个样本组成,测试集由 1,273 个问题组成,分为四问和五问两种形式。MedMCQA(Pal 等人,2022 年)包含超过 193K 个问题,这些问题来自印度医学入学考试,涵盖 21 个医学科目、2,400 个医疗保健主题。MedMCQA(Pal 等人,2022 年)包含超过 193K 道来自印度医学入学考试的题目,涵盖 21 个医学科目、2400 个医疗保健主题、183K 个训练样本和 4183 道验证题。由于无法获得测试集答案密钥,因此使用验证集进行评估,并使用超参数调整将训练集拆分成新的 146K 和 37K 样本。
PubMedQA(Jin等人,2019)包含211K个人工生成的多选题样本和1,000个专家标签样本,模型以给定的PubMed摘要和相关问题为上下文,根据 “是”、"否 "和 "也许 "的设置进行评估,推断预测 “是”、"否 "和 “也许”。‘,并根据所需的设置对预测’是’、'否’和’可能’的推论进行评估。微调是在 211K 个人工标记样本上进行的,验证是在 500 个专家样本上进行的,用 BigBio(Fries 等,2022 年)、Chen 等(2023 年)、Singhal 等(2023a)进行了性能测量。根据协议在 500 个测试样本中进行了评估。
3.评估协议 - 多语言评估
对 BioMistral 7B 模型的全面评估旨在关注其在英语和多种语言中的表现。迄今为止,生物医学语言模型已在英语、中文、法语和西班牙语等语言中得到广泛验证。然而,它们在其他语言中的表现尚未得到充分评估。造成这种情况的原因是,除英语外,缺乏其他语言的生物医学相关任务。
为了解决这个问题,我们使用 GPT-3.5 Turbo 通过 OpenAI API 进行自动翻译,用西班牙语、德语、葡萄牙语、俄语、法语、阿拉伯语和中文七种不同语言进行了基准测试。自动翻译当然会带来挑战,但最近的技术进步已显著提高了这些工具的准确性,从而实现了高效的多语言评估。
多语种评估方法的设计类似于用英语进行的三枪情景模拟。问题、选项和上下文都经过翻译,同时保留了用于少数人射击训练的示例。这样就可以在考虑到每种语言的文化和语言特点的同时,测试模型的理解力和适应性。
4.评价规程–应用教学提示
BioMistral 7B 模型评估严格遵守基于 GPT-4 医学评估官方指南(Nori 等人,2023a)的教学提示。这确保了每个问答(QA)任务都以多选题(MCQA)的形式呈现,选项从 A 到 D 或从 A 到 E。有关教学提示的详细列表,请参阅本文附录。
在推理过程中,模型会根据给定的输入提示预测下一个标记,并为词库中的每个标记生成一个概率。为了提高预测的准确性,词典的范围被缩小到只包括与答案选项(在本例中为选项字母)相对应的标记。这种方法降低了模型产生不相关词库或不准确信息(错觉)的风险,使预测结果更加可靠。
5. 评估协议 - 监督微调 (SFT)
监督微调(SFT)是对注释数据进行微调的重要过程,目的是使模型适应特定任务。SFT 已应用于开源模型。所使用的训练集是根据预定义标准选择的。
然而,传统的 SFT 方法往往需要大量资源,这是一个挑战。为了解决这个问题,我们引入了 QLoRa 微调方法和 8 位量化技术。这些方法具有成本效益,使 SFT 流程更加可行。此外,改进后的批量处理方法缩短了微调所需的时间。这些策略在有效地最大限度提高 BioMistral 7B 的性能方面发挥了重要作用,并使其更能适应特定任务。
6.实验结果
为了测试 BioMistral 7B 模型的能力,我们首先考察了它在少量学习情况下的性能。在评估中,我们从每个数据集的训练集中随机抽取三个样本,进行了三次情境学习。结果如下表所示。
结果非常乐观,BioMistral 7B 在十项任务中的八项都优于现有的 Mistral 7B Instruct 模型,有力地证明了其适应特定领域的有效性。特别是,在这个三次学习场景中,它在所有任务中的表现都优于其他开源生物医学基线模型。
在 MedQA 中,BioMistral 7B 比 MediTron-7B 和 MedAlpaca 7B 有明显改善;在 MMLU 中,BioMistral 7B 明显优于现有的生物医学大规模语言模型;同样,在 MedMCQA 中,BioMistral 7B 比其他模型有明显改善。同样,在 MedMCQA 中,BioMistral 7B 也显示出与其他模型相比的显著进步。另一方面,在 PubMedQA 中,由于类不平衡可能导致的幻觉,性能有所下降。
虽然 GPT-3.5 Turbo 是整个三次学习场景中的最佳模型,但 BioMistral 7B 凭借其领域自适应能力和在少量学习场景中的出色表现,展示了人工智能在生物医学应用中的新可能性。这些结果为人工智能技术在生物医学应用中的未来发展方向提供了重要启示。
然后,对照几个基准模型对 BioMistral 7B 的微调性能进行评估;BioMistral 模型和相关基准模型的性能如下表所示。
总体而言,SFT 进一步提高了模型在几乎所有数据集上的性能。对模型的比较显示出与 "少镜头-上下文学习 "评估类似的趋势,BioMistral 7B 在十项任务中有七项优于 Mistral 7B Instruct,并在所有任务中优于其他开源生物医学基线。在 PubMedQA 中,BioMistral 7B 也有明显进步。
7.总结
近年来,大规模语言模型呈现出显著的多样性,并在医学和医疗保健等特定领域提供了潜在的应用。尽管有各种针对医疗保健的开源大规模语言模型,但将通用大规模语言模型应用于医疗保健领域仍面临巨大挑战。
本文提出了生物医学领域专用的开源大规模语言模型BioMistral 7B,利用在 PubMed Central 进一步预训练的底层模型 Mistral,展示了医学领域专用大规模语言模型的新可能性。.该模型基于 PubMed Central 的高质量资源,是 Mistral 7B Instruct 的进一步演化,采用了量化和模型集成等技术。因此,与现有的开源 7B 模型相比,BioMistral 7B 在多语种医学评估基准中取得了卓越的性能。
展望未来,该公司计划进行人工评估,以进一步深化 BioMistral 7B 的生成质量。公司还表示,正在计划利用监督微调和直接优化偏好等技术,扩展模型的多语言能力和聊天功能。
希望 BioMistral 7B 能够拓展人工智能技术在医疗领域的潜力,进一步提高其准确性和可靠性,从而为解决现实世界的医疗问题做出贡献。
此外,本文还公布了数据集、多语言评估基准、脚本和实验中获得的所有模型。