BioMistral 7B——医疗领域的新方法,专为医疗领域设计的大规模语言模型

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 能够拓展人工智能技术在医疗领域的潜力,进一步提高其准确性和可靠性,从而为解决现实世界的医疗问题做出贡献。

此外,本文还公布了数据集、多语言评估基准、脚本和实验中获得的所有模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/638539.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【简单介绍下近邻算法】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

案例题(第一版)

案例题目 软件架构设计考点(历年必考) 软件架构设计通常在每年的第一题,该题必考 必备概念 必备概念即考试必须要默写出来的概念 概念描述软件架构风格是指描述特定软件系统组织方式和惯用模式。组织方式描述了系统的组成构件和这些构件的组…

力扣刷题---返回word中所有不重复的单词

当需要从一个数据集合中去除重复元素时,set是一个很好的选择。由于其不允许存储重复的元素,因此可以很容易地实现去重功能。这在处理原始数据或进行数据分析时特别有用。 题目: 给定一个字符串数组 words,请返回一个由 words 中所…

表现层框架设计之表现层设计模式_2.MVP模式

1.MVP模式 MVP(Model-View-Presenter)模式提供数据,View负责显示,Controller/Presenter负责逻辑的处理。MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理&am…

构建健壮的机器学习大数据平台:任务实现与数据治理的关键

随着数据驱动决策成为现代企业的核心,构建安全、可靠且可扩展的大数据平台变得至关重要。这样的平台不仅需要支持复杂的机器学习任务,还需要在数据质量、合规性和分发方面提供严格的控制。本文旨在探讨构建大型企业机器学习大数据平台时需要考虑的关键要…

【软件设计师】2018年的上午题总结

2018 2018上半年2018下半年 2018上半年 1.小阶向大阶对齐 2.吞吐率是最长流水段操作时间的倒数 3.ssh的端口号是22 4.s所发送的信息使用s的私钥进行数字签名,t收到后使用s的公钥验证消息的真实性 5.数据流分析是被动攻击方式 6.《计算机软件保护条例》是国务院颁布…

OSPF问题

.ospf 选路 域内 --- 1类,2类LSA 域间 --- 3类LSA 域外 --- 5类,7类LSA --- 根据开销值的计算规则不同,还分为类型1和类型2 ospf 防环机制 区域内防环:在同一OSPF区域内,所有路由器通过交换链路状态通告&#xff…

操作视频号小店,新手最关心的问题,一篇给你讲解清楚!

大家好,我是电商小V 新手去做视频号小店的时候,心里面一定是有很多疑问的,会反复咨询一些最关心的问题,因为他们要做好准备,以防后续做店过程中出现问题,其实新手关心的问题就那几个,咱们今天就…

第2天 搭建安全拓展_小迪网络安全笔记

1.常见搭建平台脚本使用: 例如 phpstudy IIS Nginx(俗称中间件): 什么是中间件: 中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用&#…

我的文章分类合集目录

文章目录 Java相关基础常规问题类Docker类RabbitMQ类分库分表 网络工程相关路由交换、Cisco Packet TracerIP地址 前端相关数据库 Java相关 基础 Java开发规范、项目开发流程 SpringBoot整合MyBatis实现增删改查(简单,详细) SpringBoot整合MybatisPlus(详细&#…

HAL库点LED灯

文章目录 一、创建CubeMX项目操作步骤1.STM32CubeMX创建工程2.选择芯片3.Pinout & Configuration配置4.Clock Configuration配置5.Project Manager配置 二、实验(一)LED流水灯1.Keil修改代码2.实验现象3.keil波形仿真 (二)2只…

春秋CVE-2022-23906

简介 CMS Made Simple v2.2.15 被发现包含通过上传图片功能的远程命令执行 (RCE) 漏洞。此漏洞通过精心制作的图像文件被利用。 正文 1.进入靶场2.进入登录界面,弱口令admin/123456 3.进入后台,文件上传点 4.上传一句话木马图片 5.复制图片&#xf…

【MYSQL】分数排名

表: Scores ---------------------- | Column Name | Type | ---------------------- | id | int | | score | decimal | ---------------------- id 是该表的主键(有不同值的列)。 该表的每一行都包含了一场比赛的分数。Score 是…

element-ui输入框和多行文字输入框字体不一样解决

element-ui的type"textarea"的字体样式与其他样式不同 <el-input type"textarea"></el-input> <el-input ></el-input>设置&#xff1a; .el-textarea__inner::placeholder {font-family: "Helvetica Neue", Helvetic…

Transformer详解(3)-多头自注意力机制

attention multi-head attention pytorch代码实现 import math import torch from torch import nn import torch.nn.functional as Fclass MultiHeadAttention(nn.Module):def __init__(self, heads8, d_model128, droput0.1):super().__init__()self.d_model d_model # 12…

吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.4-3.5

目录 第二门课: 改善深层神经网络&#xff1a;超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第三周&#xff1a; 超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架&#xff08;Hyperparameter …

TENT: FULLY TEST-TIME ADAPTATION BY ENTROPY MINIMIZATION--论文笔记

论文笔记 资料 1.代码地址 https://github.com/DequanWang/tent 2.论文地址 https://arxiv.org/abs/2006.10726 1论文摘要的翻译 在这种完全测试时适应的情况下&#xff0c;模型只有测试数据和自身参数。我们建议通过测试熵最小化&#xff08;tent&#xff09;进行适应&…

windows查看mysql的版本(三种方法)

方法一&#xff1a;在win r 打开 cmd&#xff0c;在cmd命令状态下&#xff1a;mysql --help 回车即可 方法二&#xff1a;在mysql客户端窗口状态下&#xff1a;输入status并回车即可 在计算机开始菜单搜索以上应用打开即可进入mysql客户端窗口。 方法三&#xff1a;在mys…

python2.x版本安装、安装pip

文章目录 一、安装python二、安装pip2.1、pip简介2.2、pip安装2.3、no such option: -e2.4、pip卸载2.5、pip扩展 本文讲解在windows系统装安装python2.7.13版本 一、安装python 1.下载安装包&#xff0c;官网链接地址&#xff1a;https://www.python.org/downloads/ 直接在…

寻找峰值 ---- 二分查找

题目链接 题目: 分析: 因为题目中要找的是任意一个峰值即可, 所以和<山脉数组的峰值索引>这道题差不多因为峰值左右都小于峰值, 所以具有"二段性", 可以使用二分查找算法如果nums[mid] < nums[mid 1], mid一定不是峰值, 所以left mid 1如果nums[mid] &…