BioMistral 7B: 生物医学领域的开源多语言AI模型

news2024/11/24 6:28:23

人工智能咨询培训老师叶梓 转载标明出处

尽管目前有许多开源的针对健康领域的大模型可供使用,但现有模型在数据隐私风险、模型性能以及多语言支持方面的局限性,限制了它们在医疗领域的应用。为了克服这些限制,研究者们提出了BioMistral,一个专门为生物医学领域设计的开源大型语言模型。它是由法国阿维尼翁大学和南特大学的研究团队共同开发的。该模型基于Mirstral模型,并进一步在PubMed Central上进行了预训练,以适应生物医学领域的专业需求。

BioMistral 

研究团队选择了PMC(PubMed Central)开放获取子集作为数据源,这是一个全面且可自由访问的医学研究论文集合。此选择受到PMC-LLaMA、PubMedBERT和SciFive等模型成功的启发,这些模型在医学应用的语言建模方面展示了显著的提升。

重点放在了允许商业使用的子集上,包含了在不同创作共用许可(如CC0、CC BY、CC BY-SA和CC BY-ND)下的文档。这确保了模型输出的可重用性,甚至可以用于商业目的。

在预处理阶段,研究者们旨在优化数据集以提高训练效率,同时考虑到硬件限制。目标是在Jean Zay HPC的20小时限制内,对Mistral模型进行1.5个epoch的进一步预训练。这一决策与Zephyr模型的建议相符,即观察1.5倍的语料库足以显著提升模型性能,超出这一阈值的边际效益有限。研究者们从预处理的PubMed Central语料库中精心挑选了30亿个token,大约对应147万份文档。数据集主要由英文文档组成(占语料库的98.75%),其余部分包括荷兰语、德语、法语等9种语言。策略上强调多语言数据集方法,优先考虑非英语文档,并辅以英文文本,以确保训练数据集的多样性和代表性,达到30亿token的目标。原始文本文档使用Mistral分词器进行预处理,包括分词和规范化流程。

在模型适应方面,研究者们利用Mistral 7B Instruct v0.1作为基础模型进行适应,原因在于其设计上适合在提示中纳入指令,并且能够使用有限的数据集进行微调以适应不同的任务。BioMistral 7B的预训练设置在很大程度上与Mistral 7B Instruct v0.1保持一致。优化方面,采用了AdamW优化器和余弦学习率调度器。模型架构继承了Mistral的标准transformer架构,包括Grouped-Query Attention、Sliding Window Attention和Rolling Buffer Cache等功能。所有模型,包括量化版本,都保持了2048个token的输入上下文长度,并结合了FlashAttention-2。

为了提高训练效率,研究者们引入了一种后分词分组方法,该方法通过聚合由序列结束标记(</s>)标记的可变大小序列,无需填充即可填满模型的2048-token序列。这减少了87.88%的序列数量,从而加快了epoch时间。

模型融合方法是一种提高模型性能和跨领域泛化能力的策略。本质上是将多个预训练模型的参数结合起来的过程,这样做的目的是在不需要额外训练的情况下增强模型的效果。在BioMistral项目中,研究者们特别关注了几种模型融合技术,包括SLERP、TIES和DARE。

SLERP(Spherical Linear Interpolation) 是一种在球面上进行线性插值的方法,它允许在两个模型参数集之间实现平滑过渡,同时避免了直接平均模型权重时可能发生的信息损失。SLERP通过保持模型参数的几何结构来减少信息丢失,这对于维持模型性能至关重要。

TIES(Task-agnostic Interpolation of Expertise) 是一种模型融合方法,它通过从每个模型中创建“任务向量”来实现。这些向量通过减去一个共同的基础模型(如Mistral 7B Instruct)来隔离每个模型的独特贡献。然后,这些向量与基础模型的参数平均,以减少模型间的干扰,并通过稀疏向量和符号共识方法来提高性能。

DARE(Delta-Aware Redundancy Elimination) 是对TIES方法的改进,它通过随机修剪和重新调整比例来减少delta参数的冗余,主要是将它们设置为零。这种方法在保持或提高原始模型性能的同时,减少了模型参数的冗余。

量化技术对于在更小的设备上执行大型语言模型至关重要,因为它通过最小化内存需求使模型更加亲民。在本研究中,研究者们调查了两种核心技术:Activation-aware Weight Quantization(AWQ)和BitsandBytes(BnB)。AWQ利用了权重重要性不同的洞察,允许跳过量化关键权重以减轻性能下降。而BnB量化则为整个模型分配4位或8位的固定精度。

表1描述了用于评估的医学问答任务的基准,包括每个任务的训练、验证和测试问题数量,以及答案选项。只有PubMedQA在提示中包含了上下文信息。表格中提到的“Clinical KG”指的是“Clinical Knowledge”。

性能评估

BioMistral 7B模型的评估是通过一系列英语医学推理任务来进行的,这些任务从4个著名的医学语料库中选取,涵盖了遗传学、解剖学和临床案例等多个专业领域。这些数据集包括医学专业人士遇到的现实世界场景、医学院入学考试格式以及基于PubMed内容的理解测试。这些数据集的特点见表1。

MMLU:包含57个学科的考试问题,研究团队专注于与医学和临床知识相关的6个学科,这些问题被合并成一个综合的医学相关基准,包含1089个问题。由于MMLU缺乏训练数据,研究者在MedQA上微调模型,并在MMLU上评估其泛化性能。

MedQA:以美国医学执照考试(USMLE)的格式呈现问题,包含多样的医学知识,如患者档案、疾病症状和药物剂量要求。训练集包含10178个样本,测试集包含1273个问题。MedQA提供两种配置:四选一(MedQA)和五选一(MedQA 5-options)问题格式。

MedMCQA:包含超过193k个多项选择题,每个问题都有4个选项,从印度医学院入学考试(AIIMS/NEET)中提取。它涵盖了21个医学科目中的2400个医疗话题。训练集包含183k个样本,验证集包含4183个问题。由于6150个问题的测试集没有答案键,研究者采用了与Wu等人(2023年)相似的方法,使用验证集进行评估。

PubMedQA:包含211k个人工生成的多项选择题样本和1000个专家标记的样本。在评估中,研究者坚持需要推理的设置,即模型必须根据给定的PubMed摘要作为上下文和相应的问题来预测是、否或可能。使用211k个人工标记的样本进行微调,并在BigBio(Fries等人,2022年)和Chen等人(2023年);Singhal等人(2023a)协议中指定的500个专家标记的样本上进行验证和测试。

尽管生物医学语言模型已经在英语、中文、法语和西班牙语等多种语言中得到了广泛的评估,但它们在非原生语言中的性能仍然相对未被充分研究。为了填补这一空白,研究者使用GPT-3.5 Turbo(版本1106)通过OpenAI API进行自动翻译,将基准测试翻译成7种语言:西班牙语、德语、葡萄牙语、俄语、法语、阿拉伯语和中文。尽管自动翻译存在挑战,但这些工具近年来已经取得了显著改进,使得成本效益高的多语言评估成为可能。

所有的指令都遵循GPT-4医学评估的指南,每个任务都以多项选择题(MCQA)的形式呈现,答案选项与字母(A到D或A到E)相关联。在推理过程中,模型基于输入提示预测下一个token,为词汇表中的每个token生成概率。为了确保相关性,词汇表被过滤,只包括与预期答案选项相对应的token(在这里,是选择字母)。这种方法防止了模型生成不相关的token或幻觉。

监督微调(SFT)是一个关键步骤,涉及在注释数据上微调模型,使其适应特定任务。为了优化BioMistral的性能,超越仅通过少量学习所能实现的,研究者在BioMistral 7B模型和基线开源模型上进行了SFT,使用表1中指定的训练集。然而,传统的SFT方法可能资源密集。为了应对这一挑战,研究者采用了QLoRa微调方法和8位量化技术作为更具成本效益的替代方案。

表2展示了3次上下文学习的性能,得分代表准确率,并在3个随机种子上平均。BioMistral 7B Ensemble、DARE、TIES和SLERP是将BioMistral 7B和Mistral 7B Instruct组合的模型融合策略。最佳模型以粗体显示,第二佳模型下划线标注。

性能分析

在少样本学习评估中,BioMistral 7B模型在3次上下文学习中的表现被测试,这是基于每个数据集训练集中随机选择的3组样本进行的。由于模型的上下文窗口大小限制为2048个token,因此样本数量被限制为3。在表2中,我们可以看到BioMistral 7B在10个任务中的8个上超过了Mistral 7B Instruct,这表明了领域适应的有效性。此外,在3次场景中,BioMistral 7B在所有任务上都超过了其他所有开源的生物医学基线模型。例如,在MedQA的4选1和5选1选项中,BioMistral 7B显示出比其他模型更高的准确率,分别提高了9.6%和11.1%。

表3展示了BioMistral模型和相关基线模型在监督微调后的性能,以准确率衡量。总得来说SFT几乎在所有数据集上都进一步提高了模型的性能。与少样本学习评估中的趋势相似,BioMistral 7B在10个任务中的7个上超过了Mistral 7B Instruct,并且在每个任务上都超过了其他所有开源的生物医学基线模型。在PubMedQA上,BioMistral 7B的性能有了显著提升,最终超过了其前身。

在前面讲的3种模型融合方法(SLERP、TIES和DARE)被评估以确定它们的效益。所有模型均通过将Mistral 7B Instruct和BioMistral 7B等权重参数(各占50%)合并而成。在少样本学习和监督微调两种场景中进行了研究。在少样本学习场景中,还包括了一种集成方法,称为BioMistral 7B Ensemble,它聚合目标token的对数概率,并作为基线。在这两种场景中,使用模型融合策略在所有考虑的多项选择问答(MCQA)任务上一致性地提高了所有开源模型的性能。然而,没有任何融合策略普遍优于其他策略,每种策略在特定任务上展现出最高的性能。例如,在少样本学习场景中,BioMistral 7B Ensemble在大学生物学上提高了3.7%的准确率,在PubMedQA上提高了30.4%,但这种策略在解剖学上导致了2.7%的性能下降。在所有融合方法中,SLERP作为最有效的方法,显示出比BioMistral 7B高出5.11%的平均准确率增益。相比之下,DARE和TIES方法分别带来了4.35%和0.82%的平均增益。

在表9中报告了所有模型在7种目标语言上少样本学习性能的详细情况。结果以准确率表示,跨3个随机种子平均。总体来看,与英语基准相比,模型和任务的性能普遍下降,这可能归因于自动翻译的质量。尽管如此,GPT-3.5 Turbo在所有语言上都实现了有竞争力的性能,尽管略低于英语。我们观察到,GPT-3.5 Turbo和开源医学模型之间的性能差异在各种语言中相似,这可能表明开源模型缺乏目标语言的训练数据,而GPT-3.5 Turbo具有更好的多语言能力。对于给定的模型和任务,性能可能在不同语言之间变化。例如,在BioMistral 7B的MedQA上,最低的性能是阿拉伯语(26.3%),而最好的是西班牙语(33.7%),差异为7.4%。同样,这种趋势在GPT-3.5 Turbo中观察到,中文准确率为40.0%,西班牙语为49.0%。值得注意的是,BioMistral 7B和Mistral 7B Instruct在所有任务和语言中一致地展现出相似的性能。此外,DARE、TIES和SLERP融合变体在所有任务和语言中始终优于原始模型和现有的开源医学模型,表明在多语言环境中具有更好的鲁棒性。

表4概述了不同量化技术对BioMistral性能的影响。值得注意的是,BnB 8位量化在诸如MMLU Clinical Knowledge和Anatomy等数据集上显示出准确率的提升,分别增加了0.65%和1.00%。然而,对于MedQA的4选1和5选1任务,观察到性能略有下降,分别下降了2.61%和1.06%。另一方面,MedMCQA在所有量化方法中平均性能下降了4.05%,而PubMedQA在使用AWQ方法时准确率显著提高了24.1%。尽管AWQ + GEMV模型具有高压缩率和竞争力性能,但在RTX 3090上处理MMLU专业医学测试集的推理时间最慢,需要421秒。相比之下,AWQ + GEMM模型实现了86.23%的更快推理时间,在57.96秒内完成了同样的任务,尽管性能略有损失。此外,4位和8位BnB方法显示出更慢的推理时间,分别需要133秒和177秒,同时占用更少的内存并产生性能权衡,使AWQ + GEMM方法成为最具吸引力的选择。

确保模型校准对于保证预测概率与现实结果一致至关重要。一个校准良好的模型准确地反映了其预测所关联的信心水平。为了评估校准,研究者采用了预期校准误差(ECE)指标,它量化了预测概率和实际结果在不同置信水平之间的差异。较低的ECE值表示更好的校准,意味着模型的信心估计更可靠。表5显示了BioMistral 7B及其基础模型与其他开源医学模型在各种语言中的校准和置信度得分。BioMistral 7B及其基础模型与其他模型相比展现出更差的校准和置信度得分,可能由于与LLaMa基础模型的校准基线存在差异。此外,额外的PubMed预训练在所有语言中提高了校准,特别是在英语和法语中(ECE增益3.3%),而在中文中观察到一些退化(损失1.6%)。这表明需要针对不同语言进行特定的校准调整,强调了语言特定考虑的重要性。值得注意的是,不同模型中存在语言特定的平均置信度变化。例如,与Mistral 7B系列中的其他语言相比,中文模型展现出较低的置信度水平,而阿拉伯语模型在基于LLaMa的模型中落后。分析揭示了模型融合方法倾向于降低校准度,表明模型性能和校准之间可能存在权衡。

语言模型的真实性对于防止错误观念和信仰的传播至关重要。研究者采用了TruthfulQA基准测试(Lin等人,2022)来评估真实性,该测试评估了LLMs在817个问题和38个类别(如金融和政治)上的事实性和合理性输出。为了评估医学领域,研究者专注于与健康和医学相关的类别。评估包括两个零样本提示:一个通用评估提示和一个从MediTron-7B文章中派生的提示(见图4)。表8显示,BioMistral 7B在两个提示上都优于其他模型,并比GPT-3.5 Turbo提高了4.0%。然而,值得注意的是,没有任何单一模型在所有任务上始终优于其他模型,这表明每个模型都有特定的优势和劣势。值得注意的是,与原始BioMistral 7B相比,BioMistral 7B DARE的表现较差。有趣的是,告知模型它们正在被测试真实性显著提高了它们的表现。然而,当面对模仿现实世界用户交互的提示时,性能往往会下降。这种下降可能源于提示中缺乏对偏见的认识或任务理解能力的下降。零样本提示对PMC-LLaMA 7B和MediTron7B模型提出了挑战,这些模型在科学和心理学类别中难以提供正确的答案。

评估分析展示了BioMistral 7B模型在多个维度上的性能,包括少样本学习、监督微调、模型融合策略、多语言泛化能力、量化技术的影响、校准度和真实性。这些评估结果为BioMistral 7B在生物医学领域的应用提供了全面的视角,并指出了未来改进的方向。

论文链接:https://arxiv.org/abs/2402.10373

模型链接:https://hf-mirror.com/BioMistral

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

吴恩达机器学习 笔记四十二 基于内容过滤的深度学习

在电影评分的案例中&#xff0c;基于内容过滤的方法需要用到两个向量&#xff0c;一个是来自用户的特征向量Vu,另一个是电影特征的向量 Vm。以用户的特征为例&#xff0c;原始的向量Xu作为一个神经网络的输入&#xff0c;经过几层之后输出一个有32个单元的向量Vu&#xff0c;电…

中芯国际:回暖

业绩稳重向好&#xff0c;半导体周期逆转&#xff1f;或许可以去掉问号。 今天我们来聊国产晶圆代工龙头——中芯国际 半导体复苏的风已经吹了几个月&#xff0c;各家业绩预告亮眼&#xff0c;但只有数据真正落地才能下定结论。而半导体看晶圆代工&#xff0c;晶圆代工看中芯国…

14.1 NumPy基础

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

uni-app 吸顶方案总结

效果 页面级 uni.pageScrollTo 官方文档&#xff1a;https://uniapp.dcloud.net.cn/api/ui/scroll.html#pagescrollto 原生头部导航 uni.pageScrollTo({selector: #tabs,duration: 300 });(推荐)需要兼容自定义头部导航 <template><view id"demo1" :styl…

Sakana.ai 迈向完全自动化的开放式科学发现

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

设计模式-标识域(Identity Field)

目的 为了在内存对象和数据库行之间维护标识而在对象内保存的一个数据库标识域。 关系数据库和内存对象的区别 区分行&#xff1a;关系数据库使用键来区分数据行&#xff0c;而内存对象不需要这样一个键 引用方法&#xff1a;对象系统中通过原始内存位置直接区分对象&#x…

【3】字节码文件的组成

一.应用场景与学习路线 二.以正确的姿势打开文件 使用记事本和NotePad打开字节码文件很不方便 三.字节码文件的组成

Spring MVC源码详解

什么是Spring MVC &#xff1f; Spring MVC就是SpringMVC。 Spring就不介绍了&#xff0c;什么是MVC&#xff1f; M&#xff1a;模型&#xff0c;javabeanV&#xff1a;视图&#xff0c;如jspC&#xff1a;控制层&#xff0c;如Controller、Servlet SpringMVC请求处理流程 用…

图像处理(空域变换(上))

数字图像处理 参考视频 Task 1 亮度变换 1. 幂律变换 伽马变换本质上是对图像矩阵中的每个值进行幂运算。 幂函数 s c r γ ( r ∈ [ 0 , 1 ] ) \text{幂函数}scr^γ(r\in[0,1]) 幂函数scrγ(r∈[0,1]) 其中&#xff0c;r为灰度图像的输入值&#xff08;原来的灰度值&…

<数据集>集装箱缺陷识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3793张 标注数量(xml文件个数)&#xff1a;3793 标注数量(txt文件个数)&#xff1a;3793 标注类别数&#xff1a;4 标注类别名称&#xff1a;[DAMAGE - DEFRAME, DENT, DAMAGE - RUST, DAMAGE - HOLE] 序号类别名…

高分六号卫星助力农业监测_卫星介绍_论文分享_数据获取

卫星遥感已经成为农业发展的重要支持工具。《“数据要素X”三年行动计划(2024-2026年)》指出,在现代农业交通运输、应急管理等领域鼓励探索利用遥感数据。为什么高分六号会经常应用于农业检测呢&#xff1f;本文将介绍高分六号卫星的农业检测特性、在农业应用中的优势、具体农业…

Video视频抽帧和WebCodecs API视频抽帧介绍

目录 mp4Box抽帧 ffmpeg抽帧 video元素抽帧 WebCodecs 核心API 视频文件是一个容器&#xff0c;里面有很多不同的轨道信息。如&#xff1a;图像、声音、字幕等。而视频图像信息又是由一系列图片序列帧的集合。如10秒时长的视频&#xff0c;假设每秒30帧。那大概有300条图像…

二叉树——9.找树左下角的值

力扣题目链接 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 示例&#xff1a; 输出&#xff1a;7 题干很简单&#xff0c;找到树的最后一行&#xff0c;在该行找到最左边的值&#xff0c;结合完整代码进行分析。 完整代码如下&#xff1a; class Solution:d…

Django后台数据获取展示

​ 续接Django REST Framework&#xff0c;使用Vite构建Vue3的前端项目 1.跨域获取后台接口并展示 安装Axios npm install axios --save 前端查看后端所有定义的接口 // 访问后端定义的可视化Api接口文档 http://ip:8000/docs/ // 定义的学生类信息 http://ip:8000/api/v1…

Springboot发邮件如何配置SMTP服务器信息?

Springboot发邮件安全性考虑&#xff1f;如何用Springboot发信&#xff1f; 在 SpringBoot中配置邮件发送功能相对简单&#xff0c;但需要正确设置 SMTP 服务器信息。AokSend将详细介绍如何在 SpringBoot应用程序中配置 SMTP 服务器信息&#xff0c;以实现邮件发送功能。 Spr…

如何构建一个高效的编程学习笔记系统(万字总结)

你是否曾经在编程学习的海洋中迷失方向&#xff1f;是否感觉自己学了很多&#xff0c;却总是记不住关键知识点&#xff1f;别担心&#xff0c;今天我们将一起探索一种革命性的笔记方法&#xff0c;它将彻底改变你的学习体验&#xff01; 目录 引言&#xff1a;为什么我们需要…

鸿蒙(API 12 Beta3版)【本地媒体会话概述】 音视频播控服务

交互过程 本地媒体会话的数据源均在设备本地&#xff0c;交互过程如图所示。 此过程中涉及两大角色&#xff0c;媒体会话提供方和媒体会话控制方。 说明 媒体会话控制方为系统应用&#xff0c;三方应用可以成为媒体会话提供方。 本地媒体会话中&#xff0c;媒体会话提供方通…

[大模型实战] DAMODEL云算力平台部署LLama3.1大语言模型

[大模型实战] DAMODEL云算力平台部署LLama3.1大语言模型 目录 一、LLama3.1二、DAMODEL云算力平台2.1 提供的服务2.1.1 AI训练2.1.2 AI推理2.1.3 高性能计算2.1.4 图像&#xff0f;视频渲染2.1.5 定制化部署 2.2 支持的GPU 三、在DAMODEL部署LLama3.13.1 在DAMODEL创建实例&…

【案例43】打开节点-后台任务日志优化案例

问题现象 通过SPR日志发现 打开节点-后台任务日志节点sql调用严重。 通过nmc查看&#xff0c;后台线程耗时20s &#xff0c;基本都卡在sql层面 一直在执行如下sql selectl.pk_workingtasklog frompub_workingtasklog l inner joinpub_alertregistry ron l.pkregistry r.pk_a…

Black Forest Labs 的 Flux——文本转图像模型的下一个飞跃,它比 Midjourney 更好吗?

一、前言 Black Forest Labs是开创性稳定扩散模型的团队&#xff0c;现已发布Flux——一套最先进的模型&#xff0c;有望重新定义 AI 生成图像的功能。但 Flux 是否真正代表了该领域的飞跃&#xff1f;它与 Midjourney 等行业领导者相比如何&#xff1f;让我们深入探索 Flux 的…