医疗应用中有效的AI提示策略
医疗技术和医疗保健的独特现实对通用人工智能(GenAI),尤其是大型语言模型(LLMs)提出了独特的挑战。在这里,误差的余地很小,数据高度敏感,错误的潜在成本可能很严重。
LLM M.D.:为什么准确性和信任至关重要
乍一看,LLMs在医学领域似乎非常有效。研究人员甚至表明,经过微调的LLMs在诊断准确性上可以超越初次接触的医生——令人惊讶的是,在同理心方面也是如此。
你可能会认为这样的例子会让LLMs成为医疗保健的明确选择,但实际情况更为复杂。
理解模型幻觉和信任鸿沟
首要关注的是模型知识和答案的可靠性。LLMs是在庞大的数据集上训练的,这些数据集中常常包含相互矛盾的数据点。关键是我们无法知道模型在回答中使用了其内部知识的哪些部分。这可能导致看似连贯但完全虚构的答案——即所谓的“幻觉”。
这些风险不仅限于诊断用例。即使是像文档摘要这样较简单的任务,也可能导致危险的误解或错误输出。
责任与不透明性问题
当人类做出决定时,他们会承担责任。我们接受一定的误差范围,因为我们信任他们的专业知识。而对于AI模型,期望则不同。我们要求更高的准确性,并且不能容忍模型“误判”的想法。
LLMs的不透明性——它们的黑箱性质——只会加深这种信任鸿沟,侵蚀而不是建立信心。
数据隐私与安全
医疗技术中的一个关键问题是数据隐私。我们经常处理个人可识别信息(PII),这些信息受到HIPAA和GDPR等框架的严格监管。这些数据需要特别小心处理。
对于LLMs来说,这构成了重大障碍。模型需要处理数据——无论是患者输入、内部文件还是其他敏感来源。理想情况下,我们可以将LLMs部署在私有服务器上,拥有完全受控的安全环境。不幸的是,运行高性能LLMs所需的计算能力使得在大多数情况下几乎不可能实现。
更复杂的是,许多先进模型是闭源的,这意味着即使有了合适的硬件,你也无法运行一个私人实例。
这常常使医疗保健公司陷入尴尬境地:使用第三方LLMs,这些模型可能在不同的法律管辖区处理敏感数据。在医疗技术背景下,这是非常值得怀疑的。
如何为健康科技构建安全可靠的LLM系统
尽管存在这些障碍,LLMs仍然可以在医疗保健中安全有效地使用。这不是要完全避免它们——而是要构建正确的系统,使用正确的方法。
医疗应用程序的AI提示艺术
一些关于模型输出和响应质量的问题可以通过提示工程来解决——就像任何LLM一样。这是构建安全LLM系统的最基本也是最重要的部分。
虽然许多通用的最佳实践适用(精确、避免冗长、消除歧义),但在健康科技中需要额外的严谨性。
在医疗AI提示中注重精确性和硬数据
在医疗保健中,精确性是不可妥协的。你需要在提示中包括最相关、最硬的数据——无论是直接指令还是动态上下文。
你可以根据系统状态动态格式化提示,始终传递与查询或操作相关的硬数据。提供的上下文越准确,答案就越切题。
例如,尝试在构建任何基于患者文档推理的解决方案时解析并引入患者信息到上下文中。或者为由专科医生操作的LLMs定义工作和使用的具体上下文——定义我们在放射科医生常用的术语范围内导航,这消除了模糊性和双重含义,为LLM设定了硬性上下文。
上下文越准确,响应就越相关和可靠。
解决医疗AI响应中的模型确定性
LLMs倾向于以绝对的确定性回应——即使没有事实支持。在医疗系统中,这不仅是误导性的,而且可能是不道德或非法的,尤其是在不允许AI生成诊断的地区。
诸如使用结构化提示、markdown格式或ReAct提示模式(启用推理循环)等技术可以帮助管理这一点。这些方法标准化了模型输出,使系统更加安全。
委派复杂任务:医疗AI中的多智能体系统
提示方面的内容引导我们进入另一个要点——更多地思考多智能体系统,利用查询引擎、专用工具和代理智能体。
在健康科技中跨专用AI智能体分配工作
当执行复杂而漫长的任务时,LLMs往往会失去焦点——这是大部分信息丢失的地方,也是大多数幻觉被引入的地方。此外,正如前面讨论的那样,成功的提示是精确和确切的——这通常与需要执行许多不同操作、遵循不同规则集的复杂任务相冲突。混合在一起时,某些溢出是不可避免的。
最好的方法是将这些任务拆分为专用工具,例如:
- 一个主智能体与临床医生互动。
- 一个图像解释器处理扫描数据。
- 一个分析引擎处理表格数据。
- 子智能体从EHR系统检索数据。
只有在接收所有数据视角后,他们才会查看AI工具的结果。
这种多智能体流程反映了现代ChatGPT或Perplexity等高级系统的架构,但针对特定的医疗任务进行了微调。它允许你控制每个步骤并确保彻底分析。
模型护栏:保持医疗AI的安全
在讨论专门的LLM引擎处理系统较小部分的话题时,一个特例是所谓护栏模型的使用——本质上是由LLMs驱动的输入和输出过滤器。在这里,我们的目标是确保没有任何与我们的指示相冲突的内容离开模型,也没有任何潜在有害的内容进入模型。
输入过滤器:更安全输入的调节器
从输入过滤器开始——调节器。这些引擎旨在过滤用户输入并阻止明显有害的消息:显式内容、试图绕过系统的尝试等等。它们还过滤掉玩笑输入或跑题的问题和指令。
第一部分是显而易见的,但第二部分可能不是。考虑一下面对患者的LLM被问及一个有争议的话题——你会很快明白为什么这很重要。任何回答不仅与用例无关,而且可能具有破坏性。
在LLM系统中,对话历史通常仍保留在上下文中,这意味着任何这样的回答可能会污染未来的生成,导致有害后果。
输出过滤器:更安全响应的护栏
虽然调节器可能直观易懂,但护栏——或输出过滤器——可能不是。毕竟,为什么要解析我们刚刚生成的内容呢?
这直接关系到工作拆分的原则。虽然主智能体可能优化用于推理,但试图将其导向特定的语气可能会导致方向不明的提示。通常更好的做法是让核心系统专注于手头的任务,将响应精炼留给这些护栏。
例如,我们可以通过重新格式化答案、删除不需要的部分或在极端情况下强制新生成,来确保治疗聊天机器人始终保持正确的语气并且永远不会失误。这种设计模式不仅使LLMs更加准确,也使它们听起来更加自然。
引用你的来源:提高透明度
我们已经讨论了查询引擎、文档解释和总结工具,但这些元素并没有解决LLMs引入的不透明性问题。更重要的是,引入多个工具和智能体可能会进一步掩盖决策过程。似乎在解决一个问题的同时,我们又创造了新的问题。
这里的答案可能比你想象的要简单。
检索增强生成(RAG)在医疗中的力量
解决方案是RAG——检索增强生成——一种简单而优雅的方法,为当前查询提供精确的上下文匹配。这种方法假设建立一个由手工编制的文档填充的向量数据库,作为LLM的验证和一致的知识库。
RAG系统将基础AI智能体与此知识库连接起来,使其能够查询数据库并检索与输入最相关的部分。通过结合此类工具进行严格提示——明确指示模型仅在检索到的信息上下文中回答——我们将幻觉或误解的可能性降至最低。
RAG和语义搜索值得单独撰写一篇文章,但目前,理解我们有一系列广泛的工具和算法不仅可以检索这些数据,还可以在它们到达主智能体之前进行匹配和处理就足够了。
我们可以按以下方式搜索:
- 余弦相似性:提供高适应性和灵活性。
- 关键词或匹配/排名函数如BM25:获得准确性和硬匹配。
- 混合方法:结合两种方法的元素。
弥补不透明性差距:使用引用
最后一点是引用本身——一种直接解决我们最初提到的不透明性问题的简单机制。
借助RAG系统,我们可以轻松显示用于生成最终响应的来源。只需在响应末尾附加检索到的片段——以及它们原始来源的信息——就像学术论文一样。
这样,最终用户可以轻松验证来源是否真的支持LLM所声称的内容。
同样,当解析输入文档时,你可以指向用于生成相应摘要部分的具体部分——解决与黑箱交互的问题。
安全数据是匿名数据
到目前为止,我们已经介绍了管理LLMs以减少幻觉、将答案扎根于现实并使用其他安全技术的方法。但正如我们在开头所述,这一切往往受到一个重大障碍的限制——数据安全。
首先要说的是,更多的时候,一个坚实的法律框架将为您的用例提供足够的安全保障,即使在医疗环境中也是如此。
许多成功的健康科技解决方案基于IaaS(基础设施即服务)环境——如AWS或Azure的私有实例。通过适当的设置,您将在一个安全且合规的环境中运营,因为您可以定义适用的数据政策和实例的位置。
理解模型即服务(MaaS)解决方案
类似的原则适用于MaaS(模型即服务)解决方案,您通过提供的API访问LLMs——尽管有一些关键区别。
大多数大型提供商如OpenAI为HIPAA提供BAA协议或零数据保留和数据驻留选项,主要针对GDPR法规。这是一个良好的起点。
关于模型在您的输入上进行训练、使用和存储您的数据的担忧也在大多数情况下得到了解决。MaaS提供商在其条款中明确规定了将使用什么以及如何使用——通常保证通过API处理的数据仅用于处理,不用于训练。
处理敏感数据的选项
对于最敏感的用例,仍有选项可用。
最直接的方法是托管自己的LLM模型实例,但正如前面提到的,这限制了模型的选择,并且往往成本过高。
这带我们进入了本节的核心——数据匿名化。这种方法足够灵活,既能提供MaaS解决方案的好处,又能提供完全受控基础设施所提供的安全水平。
毕竟,如果您不发送任何个人可识别信息(PII),那么就不会有任何数据泄露。但我们如何做到这一点呢?
简单地移除PII元素如姓名或地址往往会损害准确性,因为我们正在移除一层信息。
医疗AI系统中的匿名化如何运作
为了解决这个问题,我们可以在系统和目标LLM之间添加一个额外的处理步骤——匿名化服务。
每一个传出的数据点——文档、用户输入或其他任何东西——都使用专用的ML模型和NLP技术进行解析,以识别被定义为私人信息的潜在实体。这些实体被标签替代;例如,“John Doe”可能变成“PERSON_1”。这个映射安全地存储在我们的端,清洗后的数据发送到LLM。
一旦我们收到结果,我们只需用匹配的名字替换每个标签。
听起来简单而优雅,但有一个小问题。
这种方法,取决于所使用的方法,可能并不完全准确——我们依赖模型和算法分析来找到所有的PII。虽然这在某些情况下是可以接受的,但在另一些情况下我们需要绝对保证没有数据泄露。
一种实现这一目标的方法是将信息删减的责任交给与系统交互的人员——要么通过定义一套要匿名化的实体列表,要么手动替换名字。这可能繁琐且不够优雅,但它减少了意外PII滑过自动化措施的风险。
健康科技中的安全LLMs:如何而非是否
当我们回顾所有讨论过的方面时,一幅清晰的画面浮现出来:即使在像健康科技这样高度敏感的领域,LLMs也可以安全使用。
问题不在于技术本身,而在于缺乏专业知识和正确的方法。许多表面上的障碍可以通过正确的策略消除。
这正是我们创建《医疗保健中的AI实施大师班》的原因——帮助健康科技团队在现实世界中安全有效地应用这些策略。
如果您正在医疗保健领域构建AI,这就是您找到正确实践指导的地方。
(全文结束)


