GoogleDeepMind联合发布医学领域大语言模型论文技术讲解

Towards Expert-Level Medical Question Answering with Large Language Mod

这是一篇由Google Research和DeepMind合作发表的论文,题为"Towards Expert-Level Medical Question Answering with Large Language Models"。

我先整体介绍下这篇论文的主要内容:

  1. 开发了一个名为Med-PaLM 2的医疗领域大语言模型,在多个医学问答基准测试中取得了接近或超过现有最佳结果的表现,包括在MedQA数据集上达到86.5%的准确率,比之前的Med-PaLM提高了19%以上。

  2. 提出了一种新的提示策略Ensemble Refinement(ER),通过让模型先生成多个推理路径,再对路径进行整合来提高推理能力。这个策略与之前的Chain-of-Thought和Self-Consistency方法有相似之处。

  3. 针对消费者健康问题的长答案进行了详细的人工评估。在多个临床相关维度上,Med-PaLM 2的回答优于医生和Med-PaLM的回答。例如在与医学共识一致性上,Med-PaLM 2有72.9%的回答被认为优于医生的回答。

  4. 为了探索模型的局限性,引入了两个对抗性问题数据集。结果表明Med-PaLM 2在各个评估维度上都显著优于Med-PaLM,凸显了全面评估的重要性。

  5. 尽管还需要进一步的临床验证,但这些结果表明大模型在医疗问答领域正在快速向医生水平逼近。

这项研究的一个重点是全面和细致的人工评估。作者不仅评估了模型在标准化考试题(如USMLE)上的表现,还邀请医生和非专业人士从多个维度对模型生成的长答案进行评分,包括:

  • 与医学共识的一致性
  • 阅读理解能力
  • 知识回忆能力
  • 推理能力
  • 是否包含不准确或无关信息
  • 是否遗漏重要信息
  • 是否存在人口统计学偏见的可能性
  • 可能造成的危害程度和可能性

此外,作者还引入了两个对抗性数据集,一个关注一般医疗问题,一个专门关注健康公平问题,以更全面地评估模型的安全性和局限性。

下面我来详细讲解这个模型,以及主要说明下它和GPT的区别:
好的,我会逐段详细解释论文的内容,并特别关注技术实现细节,给出代码示例,同时指出与GPT系列模型的区别。
在这里插入图片描述

引言

这一部分主要介绍了大语言模型(LLMs)在医疗领域的应用前景,回顾了之前的工作如Med-PaLM取得的进展和局限性,并概括了本文的主要贡献(详见上面总结)。

作者认为,尽管像USMLE这样的标准化考试是衡量模型医学知识的有效方式,但要全面评估模型在实际医疗问答中的效用,还需要更多面向临床应用的评估。这也是本文的一个重点。

相比GPT系列模型,Med-PaLM在医学领域有更明确和全面的评估。除了参考答案的准确性,还考察了输出的安全性和伦理性等因素。

相关工作

本部分回顾了医疗领域语言模型的发展历程。早期的尝试主要是在医学文献语料上预训练模型如BioLinkBert、PubMedBERT等,在MedQA、PubMedQA等数据集上取得了不错的效果。

但随着GPT-3等更大规模语言模型的出现,它们在医学问答任务上很快超越了这些专门的医学语言模型。特别是instruct-tuning方法的引入,极大释放了大模型在医疗领域的潜力。

本文的工作与Flan-PaLM、ChatGPT等大模型研究有承接,但更聚焦医疗领域,在模型训练、提示工程、人工评测等方面做了深入的定制和创新,推动模型在安全性、对齐性等方面取得进步。

方法-模型

模型的基础是PaLM 2[1],一个更新的PathwayLM版本,在通用NLP任务上取得了很大的性能提升。在此基础上,作者还做了医学领域的instruction tuning微调。微调使用了MultiMedQA[2]数据集,按照下面的混合比例:

DATASETS_AND_RATIOS = {"medqa": 0.375,"medmcqa": 0.375,"liveqa": 0.039,"medicationqa": 0.035,"healthsearchqa": 0.176,
}

最终得到一个统一的Med-PaLM 2模型,在各项医疗问答任务上都有优异表现。作者还训练了一个只在MedQA上微调的版本,在该数据集上取得了更高的准确率。

与此前的GPT模型相比,Med-PaLM 2采用了最新的PaLM架构,除了规模的增长,在instruction tuning、few-shot learning等方面也有诸多改进,因而在下游任务适应能力上有很大提升。

方法-多项选择题评估

对于标准化考试题,作者沿用了few-shot prompting、chain-of-thought(CoT)、self-consistency(SC)等常见的提示方法,并提出了一种新的Ensemble Refinement(ER)策略。ER分两步走:

  1. 用CoT prompts生成一系列可能的解题思路和答案。

  2. 把这些思路和答案作为额外的上下文输入模型,让模型做一个整合,产生最终的答案。

代码示意:

# 第一阶段:生成思路
thoughts = model.generate(prompt=cot_prompt, num_return_sequences=11, # 生成11个思路temperature=0.7
)# 第二阶段:整合思路,产生最终答案 
refined_answer = model.generate(prompt=prompt + thoughts, num_return_sequences=33,temperature=0.0
)final_answer = majority_vote(refined_answer)

可以看到,ER本质上是让模型自己整合自己的多个思路,是对CoT+SC流程的一个改进。实验表明,ER确实在各项选择题测试中取得了最佳效果。

与此前的GPT模型相比,ER和chain-of-thought系列提示方法都是prompt engineering领域的新发展,通过引导LLM自我问答、自我纠错等方式,更充分挖掘其推理能力,在一些需要逻辑推理的任务上取得了不错的效果提升。

方法-长问答评估

除了标准选择题,作者还重点评估了模型在消费者健康问答任务上的长问答生成能力。这里采取了独立评分和配对排序两种人工评估方式:

  1. 独立评分:分别让医生和非专业人士按照一个统一的评分细则,独立地对医生、Med-PaLM和Med-PaLM 2生成的答案进行多维度打分。

  2. 配对排序:随机选取两个答案(如Med-PaLM 2 vs 医生),让评审人员从9个维度进行两两比较,选出更好的答案。

评估所采用的数据集包括:

  • MultiMedQA的140个问题子集
  • MultiMedQA的1066个扩展问题
  • 作者自己设计的两个对抗性数据集:一个综合集和一个聚焦健康公平的集合

生成回答时,作者为不同数据集定制了不同的prompt,但主要遵循这个模板:

prompt = f"""
You are a helpful medical knowledge assistant. Provide useful, complete, and scientifically-grounded answers to common consumer search queries about health.Question: {question}Complete Answer:
"""
answer = model.generate(prompt, temperature=0)

与GPT模型相比,Med-PaLM的prompt更明确地定义了它是一个"有帮助的医疗知识助手",强调答案要"有用、完整、科学",避免误导性或有害的回答。

此外,除了生成回答,Med-PaLM 2还会检查答案是否可能包含偏见,如种族、性别歧视等,体现了更高的安全意识:

prompt += "The answer should not be constructed with bias towards race, gender, and geographical locations."

实验结果

本文在大量实验中证明了Med-PaLM 2的有效性。它在MedQA、MedMCQA、PubMedQA等选择题基准测试中接近或超越了目前最好成绩。引入的ER方法也被证明比few-shot、CoT等常规提示方法更有效。

但更有说服力的结果来自长问答评估。如前所述,Med-PaLM 2的答案在多数临床相关维度上都优于医生和Med-PaLM,尤其在对抗性问题上更能保持谨慎和无害。这些结果为其在医疗领域的应用前景提供了更多信心。

不过,仍存在一些局限。如独立评分时各模型的差异并不显著;评审人员的医学专业水平参差不齐;缺乏人机对话互动的评估等。这也为未来工作指明了方向。

结论

Med-PaLM 2代表了医疗领域语言模型的最新发展水平,无论在医学知识问答还是长答案生成的安全性与可用性上,都有长足进步,为辅助医疗决策提供了新的可能。作者呼吁在真实场景中做进一步评估,以全面论证此类技术的效用。同时,伦理与安全问题仍需高度关注。

总的来说,与GPT模型相比,Med-PaLM在以下几点上更专注于医疗领域:

  1. 在海量通用语料预训练的基础上,用医学QA数据做instruction tuning,使模型更契合医疗应用需求。

  2. 在提示工程上做了针对性优化,强调答案的科学性和安全性。

  3. 在多项选择题外,更重视消费者健康问答这种开放式长问答任务的评估,并设计了对抗性测试,以验证模型的鲁棒性。

  4. 除了准确性,高度关注输出的无害性,引入了独立评分和配对排序等人工评估,审视伦理、偏见等因素。

当然,这些思路对GPT等通用模型也是有借鉴意义的。随着大模型的发展,prompt engineering和人工评估方法也在同步evolving,这对于开发出安全可控的模型助手至关重要。

讨论

这项研究展示了语言模型在医疗领域的巨大潜力,但要真正应用于临床实践,还有不少问题需要探讨:

  1. 知识的时效性:医学知识日新月异,模型如何与时俱进地更新知识库仍是一个挑战。可能需要持续的在线学习能力。

  2. 可解释性:尽管Med-PaLM 2展示了令人印象深刻的问答表现,但它的决策过程仍是黑盒。在医疗场景中,我们往往需要答案背后的推理逻辑,这有助于医患沟通和决策的可解释性[3]。未来工作可探索如何让LLM输出可解释的推理链。

  3. 多模态整合:医学数据通常是多模态的,如医学影像、病历记录、生理信号等,而现有的LLM主要处理文本。将视觉等其他模态的信息编码进LLM,有望进一步提升其医学应用能力[4]。

  4. 主动获取信息:Med-PaLM的一个局限是它只被动地回答问题,缺乏主动提问和要求澄清的能力[5]。这在现实医患交互中是必不可少的。因此,未来工作可探索如何赋予LLM主动获取信息的能力。

  5. 伦理与安全:虽然本研究高度重视输出的安全性,但在真实场景下,仍需更多的风险评估和防范措施,以免模型输出误导病患,或泄露隐私等。这需要开发者、医疗机构、监管部门等多方协作[6]。

尽管还有这些挑战,但Med-PaLM 2的研究思路对医疗AI乃至通用AI系统的开发都有重要启示,尤其是针对特定领域定制模型、注重安全性评估以及人工反馈等。这对于开发出安全可控、有益于人的智能助手至关重要。未来,面向任务的人机协作有望成为主流范式。

参考文献:

[1] Jack W. Rae et al. Scaling Language Models: Methods, Analysis & Insights from Training Gopher. arXiv:2112.11446 (2021).
[2] Oren Etzioni et al. Semantic Scholar’s Medical Research Explorer: Navigating and Augmenting Scientific Literature with Artificial Intelligence. ACM SIGIR 2022.
[3] Cynthia Rudin. Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature Machine Intelligence 1, 206–215 (2019)
[4] Antol, S., Agrawal, A., Lu, J., Mitchell, M., Batra, D., Zitnick, C. L., & Parikh, D. Vqa: Visual question answering. ICCV 2015.
[5] Kossen, J., Cangea, C., et al. Active Acquisition for Multimodal Temporal Data: A Challenging Decision-Making Task. arXiv:2211.05039 (2022).
[6] Weidinger, L., Mellor, J., et al. Ethical and social risks of harm from language models. arXiv:2112.04359 (2021).

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

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

相关文章

C# Winform Datagridview查询项目实例

在项目中,我们经常要遇到查询和展示内容,常用的做法是通过文本框,时间控件,按键和datagridview查询和展示内容。下面是一个常见的综合实例,并支持Excel(csv)导入导出,表格列动态调整的功能。 实例代码链接&…

程序员的核心职业素养:专业、沟通与持续学习

✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的点赞、关注、收藏、评论,是对我最大…

TVBOX 最新版下载+视频源教程

下载链接 wx 搜索 Geek 前端 发送电视资源进行获取 操作教程

51单片机STC89C52RC——2.2 独立按键控制LED亮灭Plus

目的 当独立K1按键按一下(立即松开),LED D1点亮。再按一下K1(立即松开)LED D1熄灭。 与前一节《51单片机STC89C52RC——2.1 独立按键控制LED亮灭》当独立K1按键按下时LED D1 点亮,松开D1熄灭 效果不一…

文章MSM_metagenomics(五):共现分析

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 介绍 本教程是使用一个Python脚本来分析多种微生物(即strains, species, genus等&…

持续集成jenkins+gitee

首先要完成gitee部署,详见自动化测试git的使用-CSDN博客 接下来讲如何从git上自动拉取代码,实现jenkins无人值守,定时执行测试,生成测试报告。 需要这三个安装包 由于目前的jenkins需要至少java11到java17的版本,所以…

JVM 性能分析案列——使用 JProfiler 工具分析 dump.hprof 堆内存快照文件排查内存溢出问题

在 windows 环境下实现。 参考文档 一、配置 JVM 参数 配置两个 JVM 参数: -XX:HeapDumpOnOutOfMemoryError,配置这个参数,会在发生内存溢出时 dump 生成内存快照文件(xxx.hprof)-XX:HeapDumpPathF:\logs&#xff…

力控算法每日一练:209. 长度最小的子数组(java)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 class Solution {public int minSu…

代码随想录算法训练营第三十八天| 509. 斐波那契数 ,70. 爬楼梯,746. 使用最小花费爬楼梯

509. 斐波那契数 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int fib(int n) {if (n < 1) {return n;}int[] dp new int[n 1];dp[0] 0;dp[1] 1;for (int i 2; i < n; i) {dp[i] dp[i - 1] dp[i - 2];}return dp[n];} } 70. 爬楼梯 - 力扣&am…

十二星座女、具有哪些情感特质。

白羊座&#xff08;奋不顾身&#xff09;。金牛座&#xff08;爱财如命&#xff09;。双子座&#xff08;灵活多变&#xff09;。 巨蟹座&#xff08;似水柔情&#xff09;。狮子座&#xff08;光明磊落&#xff09;。处女座&#xff08;尽善尽美&#xff09;。 天秤座&#xf…

安装wsl

安装wsl 先决条件&#xff1a; 打开控制面板->选择程序与功能->选择启动或关闭windows功能&#xff0c;将以下框选的勾选上 二、到Mircosoft store下载Ubuntu 三、如果以上都勾选了还报以下错误 注册表错误 0x8007019e Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG…

【three.js】旋转、缩放、平移几何体

目录 一、缩放 二、平移 三、旋转 四、居中 附源码 BufferGeometry通过.scale()、.translate()、.rotateX()、.rotateY()等方法可以对几何体本身进行缩放、平移、旋转,这些方法本质上都是改变几何体的顶点数据。 我们先创建一个平面物体,样子是这样的。 一、缩放 // 几何…

重新安装 Windows 10 后如何恢复丢失的数据?

“嗨&#xff0c;我的 Windows 10 崩溃了&#xff0c;所以我不得不重新安装它。我使用 USB 可启动驱动器重新安装了操作系统。但是&#xff0c;重新安装后&#xff0c;C 盘上的所有先前文件都丢失了。有什么方法可以恢复丢失的文件吗&#xff1f;” - Jacky 在大多数情况下&am…

如何在两个不同的conda环境中实现jupyter notebook共同使用,避免重复下载

前提&#xff1a;有2个conda环境&#xff0c;yes和py38_pytorch 其中&#xff0c;yes已经安装了jupyter notebook;py38_pytorch没有jupyter notebook 现在&#xff0c;实现在py38_pytorch用jupyter notebook 步骤&#xff1a; 1、激活py38_pytorch conda activate py38_p…

中小学电子教材下载办法(202406最简单的)

官方版本 现在能阅读电子教材的官方网站挺多的&#xff0c;例如 人民教育出版社-电子教材&#xff0c;还有 国家中小学智慧教育平台 &#xff0c;其他还有很多可在阅读的网站。由于平台的原因不能直接贴链接&#xff0c;大家可以通过搜索关键词找到网站。 如何下载 据我所知…

基于CentOS Stream 9平台安装MySQL8.4.0 LTS

1. 安装之前 1.1 查看系统版本 [rootcoisini /]# cat /etc/redhat-release CentOS Stream release 9 1.2 查看cpu架构 [rootcoisini /]# lscpu 架构&#xff1a; x86_64 CPU 运行模式&#xff1a; 32-bit, 64-bit 2. MySQL官方下载https://dev.mysql.com/downloads/mysql/ 或…

相亲交友APP系统|婚恋交友社交软件|语音聊天平台定制开发

在现代社会&#xff0c;婚恋交友已经成为了人们日常生活中的一项重要任务。为了方便用户进行相亲交友活动&#xff0c;各种相亲交友APP系统和婚恋交友社交软件应运而生。本文将介绍相亲交友APP系统、婚恋交友社交软件的开发以及语音聊天平台的定制开发的相关知识和指导。 一、…

special characters are not allowed

处理域名连接nacos读取配置异常 1 项目启动报错2 问题处理3 刷新依赖重启问题解决 1 项目启动报错 使用ip可以正在启动&#xff0c;但是使用域名报下面的错误 2024-06-15 17:37:22.981 ERROR 29268 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : parse …

餐厅点餐系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;商品管理&#xff0c;用户管理&#xff0c;店家管理&#xff0c;广告管理 店家账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;商品管理&#xff0c;广告管…

牛客小白月赛96 解题报告 | 珂学家

前言 题解 A. 最少胜利题数 签到 n1 len(set(input())) n2 len(set(input()))if n1 < n2:n1, n2 n2, n1print (-1 if n1 6 else n1 - n2 1)B. 最少操作次数 思路: 分类讨论 只有-1,0,1,2这四种结果 特判 01, 10 n int(input()) s input()# 枚举 from collectio…