链接:https://arxiv.org/abs/2408.01112v2
研究背景
-
研究问题:这篇文章要解决的问题是如何利用大型语言模型(LLMs)生成易于患者理解的医学报告,同时确保报告的准确性和可读性。
-
研究难点:该问题的研究难点包括:LLMs容易产生幻觉,对输入非常敏感,导致输出结果不准确;复杂的医学报告更容易导致LLMs产生幻觉;如何在生成患者友好报告的同时保持医学准确性。
-
相关工作:该问题的研究相关工作包括其他研究者在医疗保健领域使用LLMs生成患者友好信件的尝试,但这些工作通常依赖于零样本提示,生成的报告需要人工审核和修改。
研究方法
这篇论文提出了一种基于代理的工作流程,结合Reflexion框架,通过迭代自我反思来纠正LLMs的输出。具体来说,
代理工作流程:代理工作流程是迭代的,包含多个中间步骤,不同于非代理或零样本/少样本提示的单输入单输出方式。多个代理可以被利用,每个代理在组织中扮演特定角色。
强化学习通过反思:代理工作流程允许通过反思进行强化学习,通过在下一个提示末尾附加反思反馈来实现链式思维提示。Reflexion代理将基本反馈转化为更详细的口头形式的文本摘要,以自然语言解释反馈,并将其添加到下一个提示的上下文中,作为语义梯度信号。
实现提示:提示LLMs生成一定数量的患者友好信件,基于正式的医疗报告。每个生成信件的准确性和可读性被计算并适当加权,然后使用Reflexion模型运行一定数量的自我反思试验,输出最终认为最优的信件。
评估标准:使用Flesch-Kincaid阅读水平量化可读性,使用ICD-10代码匹配验证准确性。整体得分通过以下公式计算:
overall_score=(readability×0.3)+(accuracy×0.7)overall_score=(readability×0.3)+(accuracy×0.7)
目标是使整体得分最大化。
实验设计
-
数据收集:实验使用了16份随机选择的放射科报告,这些报告涵盖了不同的医疗发现和身体部位,长度从84到264个单词不等。
-
实验设置:原始医疗报告可以作为参数提供,或者在SIIM 2024 Hackathon上从EHR服务器中提取。实验中手动包含了15份其他测试放射科报告。
-
参数配置:使用OpenAI的GPT-4o模型进行测试,提示生成5份患者友好报告,并验证ICD-10代码的准确性。
结果与分析
-
准确性:反射代理在验证ICD-10代码方面提高了报告的医学准确性,确保最终的患者信件中保留了零样本输出有时遗漏的ICD-10代码。反射代理生成的信件在准确性方面比零样本输出高出26.71%。
-
可读性:反射代理生成的信件在可读性方面比零样本输出高出3.29%,平均Flesch-Kincaid阅读水平为3.846,而零样本输出为3.648。
-
整体得分
:反射代理生成的信件在整体得分方面比零样本输出高出17.51%,整体得分的最大值为1.0。
总体结论
这篇论文提出了一种基于多代理的工作流程,结合Reflexion框架,通过迭代自我反思来纠正LLMs的输出,生成易于患者理解的医学报告。实验结果表明,该方法显著提高了报告的准确性和可读性,减少了人工审核的需求。尽管不能完全消除验证的需求,但该方法显著减少了需要编辑的LLM生成报告的比例,提高了报告生成的效率,有助于使医疗信息对患者更加易懂和可访问。
论文评价
优点与创新
-
显著提高了报告的医学准确性:通过反射代理的使用,确保了最终的患者信件中保留了ICD-10代码,这些代码在零样本输出中有时会被遗漏。
-
提高了报告的可读性:使用Flesch-Kincaid阅读水平量化可读性,并通过反射代理的迭代改进,使得最终输出的信件更加简洁、结构化和正式。
-
减少了人工编辑需求:通过多代理工作流程,显著减少了需要编辑的LLM生成报告的比例,从68.75%降至18.75%。
-
端到端集成:展示了与EHR服务器的端到端集成,生成的患者信件可以直接推送到患者的EHR中。
-
多模态测试:在不同的医学影像报告(CT、MR、US)上进行了测试,证明了方法的有效性和适用性。
-
详细的反馈和改进机制:利用Reflexion框架的迭代自我反思能力,提供了详细的口头反馈,指导代理如何改进输出。
不足与反思
-
非100%成功率:尽管方法显著提高了患者信件的质量,但仍无法完全消除对验证的需求。
-
ICD-10代码验证的局限性:目前使用的get_description(icd10_code)函数依赖于字符串匹配,可能会错过同义词定义或仅有细微差异的短语。建议使用模糊匹配算法如Levenshtein距离或K近邻算法来改进。
-
假设LLM模型的准确性:假设LLM模型(GPT-4o)生成的ICD-10代码是准确的,但在未来的研究中需要通过人类验证测试来进一步验证。
-
可读性的标准化:目前将可读性标准化为6年级水平,但未来希望能适应不同阅读水平的患者。
-
语言和医疗领域的多样性:目前仅支持英语,未来希望增加对其他语言的支持,并扩展到其他医疗领域。
-
情感和敏感度的考量:目前的加权系统基于可读性和准确性,但未来希望通过PERMA模型等因素考虑信件的情感和敏感度。
-
其他指标的应用:希望引入CDE代码等额外指标,以准确传达患者的治疗过程和后续行动。
关键问题及回答
问题1:Reflexion框架在代理工作流程中具体是如何工作的?
Reflexion框架通过迭代自我反思来改进LLMs的输出。具体步骤如下:
-
初始生成:首先,使用LLMs生成一个或多个初步的患者友好报告。
-
验证ICD-10代码:提取初步报告中ICD-10代码,并使用另一个LLM生成这些代码的描述。将这些描述与原始报告中的ICD-10代码进行验证。
-
反馈和修正:Reflexion框架接收验证反馈(如成功或失败的二进制信号或数值评分),并将其转化为详细的口头形式的文本摘要。这些摘要解释了反馈的具体内容,并作为语义梯度信号添加到下一个提示的上下文中。
-
迭代改进:将改进后的反馈再次用于生成新的患者友好报告,重复上述过程,直到生成的报告在准确性和可读性上达到预期标准。
问题2:在实验中,反射代理和零样本提示生成报告在准确性和可读性方面的表现如何?
-
准确性:反射代理生成的报告在ICD-10代码验证方面的准确率为94.94%,而零样本提示的报告仅为68.23%。这表明反射代理能够更好地保留原始报告中的关键信息。
-
可读性:反射代理生成的报告中有81.25%不需要修改即可达到准确性和可读性要求,而零样本提示的报告中只有25%满足这一要求。这意味着反射代理生成的报告在语言表达上更加清晰易懂。
-
整体得分:反射代理生成的报告的整体得分为0.495,比零样本提示的报告高出17.51%。整体得分综合考虑了可读性和准确性,反映了反射代理在生成高质量患者友好报告方面的显著优势。
问题3:论文中提到的多代理方法如何处理复杂的医学报告?
-
分解任务:多代理方法将复杂的医学报告分解为多个子任务,每个代理负责一个特定的任务。例如,一个代理可能负责提取ICD-10代码,另一个代理负责生成患者友好报告的内容。
-
协作与反馈:代理之间通过协作和反馈机制进行交互。一个代理生成的初步报告会被传递给另一个代理进行进一步的修改和完善。这种“添加-通过-减法”协作方法确保每个代理的贡献都能被有效整合。
-
强化学习:通过Reflexion框架的强化学习机制,代理能够从每次迭代中学习并改进其输出。反思反馈被转化为语义梯度信号,指导代理在下一次迭代中生成更高质量的报告。
这种方法不仅减少了人工审核的需求,还提高了报告的准确性和可读性,从而显著提升了患者友好报告的生成效率和质量。
如何学习大模型 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 的正确特征了。