对话式人工智能/自然语言处理

使用 RAG 和 NVIDIA NeMo Guardrails 开发安全可靠的医疗应用程序

想象一下,一个应用程序可以筛选堆积如山的患者数据,智能地搜索和回答有关诊断、健康史等的问题。这种人工智能驱动的虚拟“临床助理”可以简化与患者预约的准备工作,总结健康记录,并轻松回答有关单个患者的询问。这样的系统也可以被微调以执行下游任务,例如临床试验。

随着 大型语言模型 的扩散,人工智能驱动的解决方案正在医疗保健领域出现,帮助医疗专业人员快速提取、总结和破译关键的、可能挽救生命的信息。然而,基于 LLM 的临床辅助系统面临着挑战,例如 LLM 引起的潜在错误,如幻觉,以及受保护健康信息(PHI)泄露的风险。

这篇文章探讨了使用 检索增强生成(RAG) 技术为临床医生开发高效、可靠和安全的虚拟助理的管道。RAG 管道确保机器人提供的答案来源于数据,同时也可以进行事实核查并防止幻觉。

虚拟临床助理的 RAG 管道

本员额提议的虚拟临床助理由两个主要组成部分组成:

  • NVIDIA NeMo Guardrails 是一个开源工具包,允许开发者轻松地将可编程护栏添加到基于 LLM 的会话系统中。它是 NVIDIA NeMo 框架的一部分,一个用于开发定制生成人工智能的端到端平台。
  • RAG 系统,它用相关数据增强 LLM 提示,以获得更实用、更准确的响应。

NeMo Guardrails 的实施将智能地调解与临床医生的对话,RAG 系统将根据临床医生的查询和患者文档生成答案。

Diagram showing a RAG pipeline with NVIDIA components along with Milvus and GatorTronGPT that was jointly trained by the University of Florida and NVIDIA.
图 1。虚拟临床助理 RAG 管道

用于构建 RAG 管道的工具 

许多商业和开源工具为管理端到端 LLM 应用程序开发生命周期提供了不同的功能,包括 RAG 工作流。为了构建和部署强大的生成型人工智能应用程序,需要有效地处理大规模数据管理和矢量数据库的摄入。要了解更多信息,请参阅 如何分四个步骤将 RAG 应用程序从试运行到生产

该系统还应该能够扩展以实时处理数十亿个矢量查询。应用程序还可能需要 LLM 培训或微调。降低延迟的性能优化推理对最终用户体验也至关重要。

将护栏构建到应用程序中 

NeMo Guardrails 负责协调对话管理,确保 LLM 智能应用程序的准确性、适当性和安全性。例如,可以使用 NeMo 护栏来指示模型不要讨论政治话题,用预定义的参数响应特定的用户请求,遵循预定义的对话路径,或者使用特定的语言风格。

NeMo Guardrails 作为 RAG 系统的主干,增加了可靠性和安全性。它保护应用程序免受利用公共语言模型漏洞的攻击,同时通过事实核查和幻觉检测保持答案质量。NeMo 护栏也是可编程和可扩展的,使开发人员能够添加独特的应用程序和特定领域的护栏。从本质上讲,护栏使你能够利用生成人工智能的巨大潜力,最大限度地减少风险,实现积极成果的最大化。

RAG 系统使用 OpenAI Ada 嵌入模型,即 GPU 优化的矢量数据库,有效地检索患者信息并生成准确的答案。该系统结合Milvus矢量数据库和一个即时调整的 LLM。嵌入模型处理检索到的文档,并将它们存储在 Milvus 矢量数据库中,以实现高效的索引和检索。此外,您可以选择使用医学知识预训练的 LLM,并进一步微调模型,以最大限度地提高其在医疗任务中的性能。

保护数据和隐私 

为了保护隐私并避免在执行此任务时使用真实的患者数据,NVIDIA 团队创建了真实的人工患者记录。使用迭代采样程序生成临床数据,借助 GatorTron GPT 生成临床数据。

应用 Top-p 采样(细胞核采样)和温度采样来平衡临床文本生成的多样性和质量。此任务的临床文本生成限制为 2048 个令牌。图 2 显示了合成生成的临床医生数据片段,该数据片段被摄入用于填充 RAG 管道的 Milvus 矢量数据库中。

Screenshot of synthetically generated data, including a pathology report and a radiology report.
图 2:用于填充 RAG 管道的合成生成数据摘录

推理过程 

当收到临床医生的请求时,NeMo Guardrails 服务器在不同的步骤中通过五个不同的轨道来调解用户和系统之间的对话。这使生成模型保持在正轨上。这五个轨道包括输入轨道、对话框轨道、检索轨道、执行轨道和输出轨道,下面将详细解释。

输入导轨会在将用户输入传递到对话框轨道之前对其进行预处理和净化,以屏蔽敏感信息或完全拒绝有毒或不符合主题的文本。

对话框导轨通过利用用户输入和对话框历史记录来编排系统流程。该过程始于用户的意图生成,然后继续实现该意图,可能涉及检索任务或使用执行轨道调用另一个工具。

启用了护栏回收导轨功能,以增强 RAG 应用程序的安全性,使其不会检索不相关或敏感的患者文档,也不会响应对话轨道发送的请求而指定任何其他文档。

执行导轨确保根据需要适当地调用工具。例如,对于数学查询,执行轨道将负责提取可以发送到 WolframAlpha 等工具的相关数学表达式,然后将该工具的结果适当地替换到原表达式中。

最后,输出导轨将巩固生成的答案并消除可能的幻觉。

High-level flow through programmable guardrails in NeMo Guardrails.
图 3。NeMo Guardrails中可编程护栏的高流量

开始使用 

欲了解如何使用 GatorTron GPT、Milvus 矢量数据库和 NVIDIA NeMo Guardrails 等尖端工具过滤 LLM 应用程序中的有害和不准确响应,请观看 人工智能安全卫士:强化医疗边界的护栏解决方案

 

Tags