【论文阅读】Benchmarking Retrieval-Augmented Generation for Medicine

论文:https://arxiv.org/abs/2402.13178

代码:

GitHub - Teddy-XiongGZ/MIRAGE: Official repository of the MIRAGE benchmark

GitHub - Teddy-XiongGZ/MedRAG: Code for the MedRAG toolkit

研究背景:

系统地评估医用rag QA系统(MIRRAGE作为bechmark, MEDRAG作为RAG工具包),并且找到retriever和LLM的最佳配置

贡献:

  1. 提出MIRAGE,这是首个用于系统比较不同医疗RAG系统的基准。
  2. MEDRAG,一个用于医疗QA的RAG工具包,它包含各种特定领域的语料库、检索器和llm
  3. 根据我们对MIRAGE和MEDRAG的综合结果和分析,为医疗RAG系统的研究和部署推荐一套最佳实践

研究方法:

MIRAGE

基准

Zero-Shot Learning (ZSL):在没有提供任何示例的情况下评估模型直接回答从未见过的问题的能力。

Multi-Choice Evaluation (MCE):使用多项选择题的形式来评估模型的回答能力,这是一种大规模评价医疗问答系统的常用方法。

Retrieval-Augmented Generation (RAG):通过检索外部知识库中的相关文档来增强生成模型的回答能力,以减少幻觉问题并提供最新的知识。

Question-Only Retrieval (QOR):在检索阶段仅输入问题而不提供答案选项,使其更符合现实中医疗问答的实际需求。

 

数据集 

医疗RAG benchmark "MIRAGE"。该benchmark中包含7663个多选医疗问题,来自五个数据集。

  • MMLU-Med: 医学考试题数据集,包含复杂的医学问题,考察医学知识的深度。
  • MedQA-US: 美国医师执照考试相关问题,主要用于评估医学考试能力。
  • MedMCQA: 多学科、多选择医学考试数据集,涵盖多个医学领域。
  • PubMedQA*: 来自PubMed的医学文献问答数据集,问题基于研究文章,偏向生物医学研究。
  • BioASQ-Y/N: 是/否类型的生物医学研究问答数据集,问题简短,基于生物医学文献。

MEDRAG Toolkit 

MEDRAG是一个在系统评估医疗RAG的工具包。它由三个主要部分组成:语料库(PubMed, StatPearls,教科书,维基百科),retriever (BM25, Contriever, SPECTER, MedCPT)和llm (GPT-4, GPT-3.5, Mixtral, Llama2, MEDITRON)。该系统有助于对这些组件的不同组合进行可靠的分析。

语料库选择

  1. PubMed:

    • 特点: 包含了大量生物医学文献摘要,是一个规模庞大且领域专门的数据库,专门用于生物医学和生命科学领域。
    • 用途: 在医疗问答任务中,PubMed提供了权威且领域相关的文档,是大多数医疗检索任务的核心语料库。
  2. StatPearls:

    • 特点: 提供临床决策支持的文档,内容简洁,适合医疗实践和诊断的快速参考。
    • 用途: 适用于需要快速查阅医疗决策支持信息的任务,尤其是临床环境中的问题。
  3. Textbooks:

    • 特点: 包含医学教科书的内容,专注于领域内的权威知识,提供详细的背景信息和理论知识。
    • 用途: 特别适合用于医学考试相关的问答任务,提供较为详尽的学术信息。
  4. Wikipedia:

    • 特点: 通用知识库,覆盖广泛的主题,包括医学知识,但内容不如其他医学领域专用的语料库精准。
    • 用途: 提供广泛的背景知识,适合需要通用知识的任务,但在专门的医学任务中效果较弱。
  5. MedCorp:

    • 特点: 通过组合多个语料库(PubMed、StatPearls、Textbooks、Wikipedia)形成的混合语料库,涵盖了各种来源的医学和通用知识。
    • 用途: 适合跨领域的检索任务,能够为各种类型的问题提供更加综合的知识支持。

Retriever选择

Reciprocal Rank Fusion (RRF) 用来融合检索结果

  • BM25:

    • 类型: 基于词汇的检索算法。
    • 特点: 通过词频和文档频率对文档进行排名,适用于通用领域的文本检索,在简单文本匹配方面表现良好。
    • 优势: 简单且高效,特别适合处理短文本和明确的词匹配任务。
    • 适用领域: 通用领域。
  • Contriever:

    • 类型: 通用领域的语义检索器。
    • 特点: 通过语义对文档进行匹配,适合长文本和复杂语义任务,能捕捉到词汇之间的关系。
    • 优势: 能够更好地处理语义相似性任务,在通用领域具有较强的泛化能力。
    • 适用领域: 通用领域。
  • SPECTER:

    • 类型: 科学领域的语义检索器。
    • 特点: 专门为科学文献设计,利用文献的引文信息来训练模型,从而提高科学领域文档的检索精度。
    • 优势: 在科学和技术文献中表现优异,适合需要深入理解科学文献的任务。
    • 适用领域: 科学领域,尤其是论文和技术文献。
  • MedCPT:

    • 类型: 生物医学领域的语义检索器。
    • 特点: 基于PubMed用户日志训练的医学专用检索器,专注于检索生物医学相关文献。
    • 优势: 针对医学文献进行了优化,在检索与医学问题相关的信息时具有明显优势。
    • 适用领域: 生物医学领域,特别是医学和生物医学文献。

模型选型:

不含RAG的CoT作为比较基线

实验结果 

对比不同的LLM

1. GPT-4表现优异:在CoT(链式思维)模式下,GPT-4显著优于其他模型,在MIRAGE基准上取得了73.44%的平均得分。

2. MEDRAG显著提升其他模型:通过MEDRAG,GPT-3.5和Mixtral等模型的表现显著提升,接近70%,缩小了与GPT-4的差距。

3. Mixtral与GPT-3.5对比:尽管Mixtral在CoT模式下略高于GPT-3.5,但在MEDRAG设置下GPT-3.5表现更好,领先约3%。

4. 领域特定模型优势:MEDITRON和PMC-LLaMA在PubMedQA*任务中明显优于GPT-4,展示了领域知识在医学问答中的重要性。

5. 监督微调与RAG对比:虽然监督微调能更好地融合医学知识,但RAG作为一种灵活且成本较低的方式,也能显著提升LLM的表现。

特定任务影响:在像PubMedQA*和BioASQ-Y/N这样的任务中,MEDRAG显著提升了Llama2的表现,而在考试题型问题上,监督微调可能表现更优。

对比不同retriever和语料库

  1. MedCPT表现最佳:在各类生物医学检索任务中,特别是与PubMed语料库配合时,MedCPT展现出其领域特化的优势,一直优于其他检索器。

  2. BM25:作为词汇检索器,在使用MedCorp语料库时表现非常强劲,尤其在生物医学问答任务中展示出稳定的可靠性。

  3. Contriever:在使用像Wikipedia这样的通用领域语料库时表现较好,但在生物医学领域任务中,其表现不如像MedCPT这样的领域专用检索器。

  4. SPECTER:虽然为科学文献检索而设计,但在医学问答任务中的表现较差,原因可能是其训练侧重点在文档相似性,而非查询与文档的相关性。

  5. RRF融合检索器:通过融合多个检索器的结果,RRF有效提高了检索性能。比如,RRF-4(融合BM25、MedCPT、Contriever和SPECTER)在MIRAGE基准测试中表现最优,但在某些任务中,像RRF-2(BM25和MedCPT的组合)这样更简单的融合方法反而能超过更复杂的融合方案。

这些结论表明,针对生物医学任务,使用像MedCPT这样的领域专用检索器非常重要,且通过融合多个检索器的结果可以显著提升系统的鲁棒性

 搜索chunk数的影响(Performance Scaling)

  • 检索片段数影响模型表现:当检索片段数较少时(例如k≤8),MEDRAG不能提供足够的信息,反而会阻碍LLM利用其内在知识得出正确答案

  • 检索片段数量与性能呈现递增关系:当检索片段数增加时,系统性能随着有用知识的增加而提高,但当片段数过大时,噪声信号比例增加,性能反而下降​

  • PubMedQA*任务表现与片段数的关系:在PubMedQA*任务中,MEDRAG只需k=1的检索片段就能达到高准确率,但随着片段数增加,性能下降​

  • BioASQ-Y/N任务的显著提升:在BioASQ-Y/N任务中,随着片段数的增加,系统准确率显著提升​

对比chunk在prompt中位置影响

  • 中间位置的“lost-in-themiddle”现象:当关键信息出现在检索片段的中间时,MEDRAG的表现最差,这被称为“lost-in-the middle”,表明信息的位置对模型的回答能力有很大影响

  • 模型准确率的U型变化:在PubMedQA*和BioASQ-Y/N数据集中,模型的准确率随片段中关键信息位置的变化呈现先下降后上升的U型变化,U-shaped decreasing-then-increasing pattern,这暗示在未来的医学RAG研究中安排片段位置的重要性

 关于MedCorp语料库中不同来源的比例

  • Wikipedia比例下降:在医疗问题中,Wikipedia的片段比例明显下降,因为其很多片段与生物医学无关 。

  • 不同任务的检索模式:医学考试任务(如MMLU-Med、MedQA-US和MedMCQA)检索出的片段更多来自教科书和StatPearls,而与研究相关的问题(如PubMedQA*和BioASQ-Y/N)更多地检索到PubMed片段 。

  • 教科书在MedQA-US中的作用:MedQA-US数据集中,教科书片段占比较大,这是因为该数据集包含了美国医师执照考试中常用的教科书 。

最佳实践配置

  1. 语料库选择:PubMed和MedCorp是两个在所有任务中表现优于CoT的语料库,尤其是PubMed因其广泛的生物医学知识适用于各种医学问题 。

  2. 检索器选择:在四个独立检索器中,MedCPT表现最为可靠,并且BM25也是一个强大的选择。融合检索器(例如RRF-2,结合BM25和MedCPT)可以提供更强的性能 。

  3. LLM选择:目前GPT-4是性能最佳的模型,达到约80%的准确率,但GPT-3.5在性能和成本之间具有更好的平衡。对于数据隐私敏感的高风险场景,Mixtral等开源模型是不错的选择 。

 局限性:

  • RAG架构局限:本文主要评估了传统的RAG架构,未涉及新兴的RAG设计(如active RAG),这是未来的一个重要探索方向

  • 资源覆盖不足:虽然本文的MEDRAG工具包覆盖了多个语料库、检索器和LLM模型,但仍有其他潜在的有用资源未被纳入,例如PubMed Central (PMC)的全文文章和常见问题解答数据​ Frequently Asked Questions (FAQs)。

  • 检索组件评价不足:由于其他3个数据集缺乏关键信息的标签,本文仅对PubMedQA*和BioASQ-Y/N的数据集进行了检索组件的评估(对于其他数据集(如MMLU-Med、MedQA-US和MedMCQA),虽然retriever在这些数据集上有实验结果,但由于没有标注对应的支持文档,因此无法具体评估retriever找到的文档是否真正有助于回答这些问题),未来研究应关注这方面的补充。

  • 任务范围局限:本研究主要集中在医学问答任务上,其他可能受益于RAG系统的知识密集型任务(如事实验证)未进行系统评估​。

  • 多项选择问题限制:尽管本文的评估设置限制了检索阶段不接触选择项,但LLM在最终预测时仍需使用选项输入,这可能影响模型性能。(对现实场景的模拟不完全:在实际的医疗问答场景中,通常只会给出问题,而不会提供预设的答案选项。但在多项选择评估中,模型在最终预测时可以利用这些预设的答案选项进行推断,这与真实世界中的信息检索和生成任务有所不同,导致评估的结果可能不完全反映模型在实际应用中的表现​可能降低模型挑战性:提供选项可能降低了模型的挑战性,因为它们可以通过排除法或其他策略推测正确答案,而不是完全依靠知识和检索能力来生成答案,这也可能导致对模型能力的高估​)

 

 

 

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

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

相关文章

空洞骑士 Hollow Knight 攻略

文章目录 Part.I IntroductionPart.II 攻略Chap.I 地图Chap.II 护符Chap.III BOSSChap.IV 魔法 Reference Part.I Introduction 《空洞骑士》是独立团队 Team Cherry 开发的一款 2D 类银河恶魔城动作冒险游戏。本文记录笔者玩此游戏所积累的一些经验。 「在《空洞骑士》中打造…

MATLAB-最小二乘辨识

一、最小二乘法(Least Squares Method)一般步骤 非线性最小二乘法是一种用于优化非线性系统模型的数学方法,它通过迭代过程来逐步逼近最优解。这种方法在处理非线性系统时非常有用,因为它允许模型在数据拟合过程中具有更灵活的形…

【Python报错已解决】ModuleNotFoundError: No module named ‘sklearn‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(上)

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ OpenHarmony(鸿蒙南向开发)——轻量系统STM32F407芯片移植案…

如何配置 Apache 反向代理服务器 ?

将 Apache 配置为反向代理意味着将 Apache 设置为侦听和引导 web 流量到后端服务器或服务。这有助于管理和平衡服务器上的负载,提高安全性,并使您的 web 服务更高效。您还可以将其设置为监听标准 HTTP 和 HTTPS 端口上的请求,并将其重定向到运…

无人机维修保养一对一教学技术详解

随着无人机技术的日益普及和应用的广泛深入,无人机的维修保养成为确保飞行安全、延长使用寿命的关键环节。为了培养专业的无人机维护人才,一对一教学成为了一种高效、针对性的培训方式。以下将详细解析无人机维修保养一对一教学的技术要点,涵…

深入 mysql,掌握一对一、一对多、多对多表设计、查询及级联操作

数据库表的基本概念与关系 数据库通常包含多个表,每个表存储特定类型的信息。例如: 学生表:存储学生信息。老师表:存储老师信息。班级表:存储班级信息。 这些表通过各种关系连接,形成一个结构化的数据管…

基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 支持向量机(SVM) 4.2 WOA 4.3 WOA优化SVM参数 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核…

零工市场小程序:保障灵活就业

截止2024年高校毕业生达到1179万,在今年的经济情况下,就业市场就面临着比较大的压力,许多毕业生面临一时之间难以找到合适的工作的问题,那么求职者就会需要一份临时的工作来得到报酬,面对传统的找零工方式,…

用ASR PRO离线语音芯片和月饼盒做一个会跑会跳会说话的机器狗

中秋节刚过,大家月饼盒应该还有,不要扔,可以做点小玩意。 机器狗的创意来自B站石桥北的视频,他使用了一块ESP32芯片和打印件加四个舵机实现,应该说是比较复杂的,需要有3D打印机打印外壳,还得会…

Qt串口助手开发:基于多线程moveToThread方法串口通信工具

介绍了一个基于Qt框架开发的简易串口助手,满足粉丝的需求。该项目展示了如何利用Qt的moveToThread方法实现多线程串口通信,确保数据接收和发送功能的流畅性。项目中的核心类包括SerialWorker类和MainWindow类,分别负责串口操作和用户界面交互…

【数据可视化】Arcgis api4.x 热力图、时间动态热力图、timeSlider时间滑块控件应用 (超详细、附免费教学数据、收藏!)

1.效果 目录 1.效果 2.安装配置 3.热力图 4.TimeSlider滑块应用 4.1 时间滑块控件 4.2 添加控件 5.时间动态热力图 2.安装配置 这里不教大家如何在前端框架使用arcgis api。不过npm安装、css如何引入、教学数据存放与图层加载的教程,可以浏览我之前发的一篇文…

高效财税自动化软件的特点与优势

随着企业管理信息系统和互联网的不断发展,企业对财务管理提出了更高的要求。为有效助力企业规范财务工作,提高工作效率和准确性,实现信息化管理,越来越多的企业选择引入RPA等高效财税自动化软件。本文金智维将围绕RPA高效财税自动…

LeetCode 2332.坐上公交的最晚时间 (双指针 + 贪心)

给你一个下标从 0 开始长度为 n 的整数数组 buses ,其中 buses[i] 表示第 i 辆公交车的出发时间。同时给你一个下标从 0 开始长度为 m 的整数数组 passengers ,其中 passengers[j] 表示第 j 位乘客的到达时间。所有公交车出发的时间互不相同,…

基于SpringCloud的能源管理系统-能源管理平台源码-双碳平台源码-能管管理系统源码

一、介绍 基于SpringCloud的能管管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 二、软件架构 二、功能介绍 三、数字大屏展示 四、数据采集原理 五、软件截图

Mycat搭建读写分离

启动Mycat 进入 /mycat/conf/datasources目录下,修改prototypeDs.datasource.json文件 去mycat/bin目录用启动mycat ./mycat start (关闭mycat ./mycat stop)连接mycat 默认端口8066 用户名root 密码123456 注意:这里ip设为null表示任何ip都可以访问…

【设计模式-组合】

**Composite Pattern(组合模式)**是一种结构型设计模式,旨在将对象组合成树形结构,以表示“部分-整体”的层次结构。这种模式允许客户端以统一的方式处理单个对象和对象集合,从而简化了树形结构的处理。 核心思想 组…

LLM应用实战: 文档问答系统Kotaemon-1. 简介及部署实践

1.背景 本qiang~这两周关注到一个很火的开源文档问答系统Kotaemon,从8月28日至今短短两周时间,github星标迅猛增长10K,因此计划深挖一下其中的原理及奥秘。 本篇主要是Kotaemon的简介信息,涉及到主要特点,与传统文档…

MindShare PCIE 3.0 笔记-第一二章

MindShare 官网,地址如下: MindShare Chapter 1:PCIE 背景介绍 - PCI 总线模型 1. 以 PCI 总线作为外设总线的 SOC 芯片架构 下图展示了一个以 PCI 总线作为外设总线的 SOC 芯片架构(PCI 总线类似 AXI 下的 AHB?): 由上图可知…

虚拟机与物理机的文件共享

之前往虚拟机里传文件都是直接拖拽或者借助工具上传,都不太方便,倘若物理机的文件直接能在虚拟机里读取使用,那多好啊~ 1 虚拟机设置 注意文件夹名称不要中文/空格 2 验证Kali下分享文件夹功能是否启用 vmware-hgfsclient 3 创建挂载目录…