Med-R2:通过检索和推理循证医学证据,培养可信赖的大模型AI医生 - 北大&百川
近年来,大型语言模型(LLMs)在临床场景中表现出显著的能力。然而,尽管具有潜力,现有工作将LLMs应用于医疗环境时面临挑战。依赖使用医疗数据集进行训练的策略成本高昂,并可能因训练数据过时而受影响。利用外部知识库是一种合适的替代方案,但它面临着诸如检索精度有限以及答案提取效果不佳等障碍。这些问题共同阻碍了LLMs在掌握医学专业知识方面展现预期的熟练水平。
摘要
近年来,大型语言模型(LLMs)在临床场景中表现出显著的能力。然而,尽管具有潜力,现有工作将LLMs应用于医疗环境时面临挑战。依赖使用医疗数据集进行训练的策略成本高昂,并可能因训练数据过时而受影响。利用外部知识库是一种合适的替代方案,但它面临着诸如检索精度有限以及答案提取效果不佳等障碍。这些问题共同阻碍了LLMs在掌握医学专业知识方面展现预期的熟练水平。为了应对这些挑战,我们引入了MedR2,一种新颖的LLM医师框架,遵循循证医学(EBM)流程,高效地整合检索机制以及证据的选择和推理过程,从而提升LLMs在医疗场景中的问题解决能力,并培养可信赖的LLM医师。我们的综合实验表明,Med-R2实现了14%的提升。相较于原始的关系型注意力生成(RAG)方法,性能提升了87%,甚至与微调策略相比,也提高了3.59%,且无需增加额外的训练成本。代码和数据集可在以下网址获取:
https://github.com/8023looker/Med-RR。
核心速览
研究背景
-
研究问题:这篇文章要解决的问题是如何在医疗领域中有效地利用大型语言模型(LLMs),特别是在知识获取、医学检索和答案提取方面的挑战。
-
研究难点:该问题的研究难点包括:
-
知识获取效率低:现有的预训练和微调方法计算密集且资源需求高,尤其是随着模型规模的增加。
-
医学检索精度有限:与领域特定的训练相比,检索增强生成(RAG)系统提供了成本效益更高的解决方案,但检索精度仍然有限。
-
答案提取效果低:当前研究未能开发出针对医疗场景的有针对性的答案提取方法,难以处理复杂的证据层次结构和推理。
- 相关工作:该问题的研究相关工作包括:
-
LLMs在医疗领域的应用:如ChatDoctor、PMC-LLaMA和MEDITRON等开源项目。
-
RAG系统的优化:如Wang等人(2024)、Jeong等人(2024)和Long等人(2024)对RAG管道的优化工作。
研究方法
这篇论文提出了MedR2,一种新的LLM医生框架,遵循证据为基础医学(EBM)流程,通过高效整合检索机制以及证据的选择和推理过程,增强了LLMs在医疗场景中的问题解决能力。具体来说,
-
问题构建:首先,将查询按EBM和一般自然语言问题类型分类。然后,根据EBM类别对原始查询进行领域特定的重构,以符合专业上下文。
-
证据检索和评估:使用粗到细的策略进行证据检索和评估。检索器包括学术文章、条目、书籍和指南等多种资源。使用BGE-Reranker v2-M34进行粗粒度重排,然后进行细粒度重排,结合三个不同的标准:证据层次结构、有用性和文档类别。
-
证据应用:通过链式思维(CoT)生成模块构建基于原始医疗查询和检索到的证据文档的推理过程。CoT生成器既作为查询重构的组成部分,也提供少量学习实例。
-
效果评估:评估CoT生成器在回答查询中的准确性以及不同阶段证据文档检索的稳定性。
实验设计
-
数据集选择:选择了五个医疗数据集:PubMedQA、MedQA-USMLE、MedQA-MCMLE、MedMCQA和MMLU-Med。这些数据集涵盖了诊断、治疗、预后、病因、预防和成本等多种EBM类别。
-
模型选择:评估了多种开源LLMs,包括Qwen2.5-7B、LLaMA3.1-8B、LLaMA2-13B、Qwen2.5-14B、Qwen2.5-32B和LLaMA3.1-70B,参数规模从7B到70B不等。
-
实现细节:构建了医疗知识语料库,并使用FAISS向量库进行索引。实验在NVIDIA RTX H800上进行,内存为80G。训练和评估实验均基于全参数微调,学习率调度器采用线性预热和余弦衰减,峰值学习率为2e-5,预热比为0.03,权重衰减为0.0,批量大小为128,训练3个epoch。
结果与分析
-
整体性能提升:MedR2在大多数基准测试中表现优于现有的策略,平均提升了35.46%。特别是在轻量级模型(如Qwen-2.5-7B和LLaMA3.1-8B)上,MedR2分别提升了79.72%和77.80%。
-
与微调的比较:MedR2在跨数据集微调中表现尤为突出,提升了7.02%,整体能力提升了3.59%。这表明MedR2在外部医疗知识库的有效检索和提取方面具有显著优势。
-
组件分析:通过对MedR2组件的消融分析,发现证据重排器对模型性能的提升贡献最大。结合查询重构器和CoT生成器后,性能进一步提升。
-
与其他基准模型的对比
总体结论
这篇论文提出的MedR2框架通过遵循EBM流程,有效地利用了检索、过滤和推理过程,显著提升了LLMs在医疗场景中的问题解决能力。实验结果表明,MedR2在多个基准测试中表现优异,特别是在跨数据集微调中展现了显著的优势。此外,MedR2还展示了良好的扩展能力,适用于不同规模和上下文长度的模型。总体而言,MedR2为解决医疗领域中的LLMs应用问题提供了一个高效且可靠的解决方案。
论文评价
优点与创新
-
提出了一个新的LLM医生框架:MedR2遵循循证医学(EBM)流程,通过整合检索机制以及证据的选择和推理过程,显著提升了LLMs在医疗场景中的问题解决能力。
-
提高了检索精度:通过对原始查询进行精细化处理,并结合从检索内容中生成的思维链序列,改进了检索的精确性。
-
增强了答案提取的有效性:采用粗到细的策略对文档进行评估和过滤,并选择最相关的文档辅以思维链演示,以协助医疗查询的解决。
-
无需额外训练成本:与微调策略相比,MedR2在不增加额外训练成本的情况下,实现了14.87%的改进,甚至比微调策略高出3.59%。
-
全面的实验验证:通过综合实验表明,MedR2在不同模型和数据集上的表现均优于现有策略,特别是在跨数据集训练中表现突出。
-
可扩展性分析:对模型规模和上下文窗口长度的分析展示了MedR2的可扩展性,特别是在较大模型和较长上下文窗口下的性能提升。
不足与反思
-
医疗知识库的覆盖范围:由于医疗知识的快速演变和专业性,构建的医疗知识库可能无法完全覆盖所有医疗信息,这可能限制了检索精度的上限。
-
查询分类器的全面性:查询分类器的框架可能不够全面,且依赖于高级语言模型,不能保证分类的绝对准确性。
-
细粒度重排阶段的代理模型:在细粒度重排阶段,为了平衡计算成本和效果,采用了轻量级代理模型来计算当前证据文档的有用性得分,但这并不完全代表目标模型在实际评估中的性能趋势。
关键问题及回答
问题1:MedR2框架如何在医学检索和答案提取方面提高LLMs的性能?
MedR2框架通过以下几个方面提高了LLMs在医学检索和答案提取方面的性能:
-
问题构建:MedR2将查询按EBM和一般自然语言问题类型分类,并根据EBM类别对原始查询进行领域特定的重构,以确保查询的专业性和相关性。
-
证据检索和评估:使用粗到细的策略进行证据检索和评估。检索器包括学术文章、条目、书籍和指南等多种资源。使用BGE-Reranker v2-M34进行粗粒度重排,然后进行细粒度重排,结合三个不同的标准:证据层次结构、有用性和文档类别。
-
证据应用:通过链式思维(CoT)生成模块构建基于原始医疗查询和检索到的证据文档的推理过程。CoT生成器既作为查询重构的组成部分,也提供少量学习实例,帮助LLMs更好地理解和利用检索到的证据。
-
效果评估:评估CoT生成器在回答查询中的准确性以及不同阶段证据文档检索的稳定性,确保检索到的证据文档既有效又可靠。
问题2:MedR2在跨数据集微调中表现突出的原因是什么?
MedR2在跨数据集微调中表现突出的原因主要有以下几点:
-
外部知识库的有效利用:MedR2整合了一个全面的外部医疗知识库,包含学术文章、条目、书籍和指南等多种资源。这个知识库为LLMs提供了丰富的信息来源,有助于其在不同数据集上进行有效的知识检索和提取。
-
粗到细的检索策略:MedR2采用了粗到细的检索策略,首先进行粗粒度的重排,筛选出与查询相关的文档,然后再进行细粒度的重排,结合证据层次结构、有用性和文档类别等多个标准,确保检索到的文档最符合查询需求。
-
链式思维(CoT)生成器:MedR2的CoT生成器在跨数据集微调中发挥了重要作用。CoT生成器不仅帮助LLMs更好地理解和利用检索到的证据,还提供了少量学习实例,增强了模型在不同数据集上的泛化能力。
-
减少计算成本:与传统的微调方法相比,MedR2在外部知识库的有效检索和提取方面具有显著优势,减少了额外的训练时间和计算资源消耗,使得MedR2在跨数据集微调中表现更为出色。
问题3:MedR2在不同规模和上下文长度的模型上表现如何?其扩展能力如何?
MedR2在不同规模和上下文长度的模型上表现良好,并展示了良好的扩展能力:
-
轻量级模型:在轻量级模型(如Qwen-2.5-7B和LLaMA3.1-8B)上,MedR2分别提升了79.72%和77.80%。这表明尽管轻量级模型在医学知识方面可能缺乏全面的理解,但通过外部知识库的有效补充,能够显著提升其性能。
-
大规模模型:在大规模模型(如LLaMA3.1-70B)上,MedR2也表现出色,提升了81.53%。这表明MedR2不仅适用于轻量级模型,还能在大规模模型上发挥其优势。
-
上下文长度:MedR2在上下文长度为16K和32K的模型上表现最佳,随着模型参数规模的增加,其性能提升的趋势也更加稳定。这表明MedR2在处理长文本和复杂推理任务时具有较高的效率和准确性。
综上所述,MedR2在不同规模和上下文长度的模型上均表现出色,并展示了良好的扩展能力,适用于各种医疗场景和应用需求。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)