微信扫码
与创始人交个朋友
我要投稿
LLM(大语言模型)已经改变了人类在日常任务中搜索信息的方式。
尽管 LLM 在一般场景中表现良好,但在处理医学、法律、金融等专业知识时,LLM 会产生幻觉并提供无关的信息。
它们在这些不断更新的领域中也无法提供最新的信息,并且在没有考虑新见解或发现的情况下,给出简单的回应。
LLM 也无法访问与某一领域相关的现成私有和专业数据,除非它们经过特定领域的微调。然而,微调是一个复杂的过程,需要领域专业知识、相当的时间和计算资源。
为了解决这个问题,检索增强生成(RAG) 方法在 2021 年被引入。该方法使 LLM 能够使用专业的私有数据集来回答用户查询,而不需要任何微调。
在 2024 年初,使用 图检索增强生成(Graph Retrieval-Augmented Generation, GRAG) 使这一过程更加准确。
最后,我们有 MedGraphRAG,一个专为医学领域设计的新型基于图的检索增强生成(RAG)框架。
该方法在多个医学问答基准测试中始终优于最先进的 LLM(即使经过微调)。
它还通过确保响应包含源文档,避免了 LLM 响应生成的“黑箱”方法,这在医学领域是绝对必要的,因为幻觉响应可能会危及生命。
这里有一个故事,我们深入探讨 RAG、GraphRAG 和 MedGraphRAG 的工作原理,以及它们如何显著提升 LLM 在专业领域的响应性能。
让我们开始吧!
RAG,或 Retrieval Augmented Generation (RAG),是一种信息检索技术,使 LLM 能够使用特定于用例的私有数据集生成更准确和最新的响应。
RAG 中的术语含义如下:
Retrieval:从知识库/特定私有数据集中 检索 相关信息/文档的过程。
Augmentation:将检索到的信息 添加 到输入上下文中的过程。
Generation:LLM 根据原始查询和增强上下文 生成 响应的过程。
尽管 RAG 非常有帮助,但有时在根据共享属性连接信息方面会遇到困难。
在需要对大数据集中的总结语义概念进行深刻理解的任务中,其性能也会受到影响。
为了解决这些局限性,Graph RAG 于 2024 年推出。
接下来我们来谈谈它。
图形 RAG 或 图形检索增强生成 (GRAG) 通过结合 知识图谱 扩展了 RAG。
虽然 RAG 在本质上忽略了文本信息中的拓扑关系,但 GraphRAG 使得利用这些关系成为可能。
GRAG 的核心工作流程分为四个阶段:
k-hop 自我图的索引:此步骤涉及创建以每个节点(称为 自我)为中心的可搜索子图,这些子图包括从 自我 开始的 k
步内所有连接的节点。
图形检索:此步骤从索引的子图中检索与给定查询最相关的自我图。
软修剪:此步骤删除检索到的子图中的无关实体,以减少它们对生成过程的影响。
使用修剪后的文本子图生成:此步骤涉及使用修剪后的子图从 LLM 生成文本。
GRAG 检索与查询相关的子图,而不是像 RAG 那样检索离散文档。
这减少了语义相似但无关文档(在下图中以红色显示)对生成的负面影响。
这些来自图形 RAG 的概念随后进一步扩展到医学领域,这就是我们得到 MedGraphRAG 的方式。
接下来,让我们讨论它是如何工作的。
MedGraphRAG或医学图谱RAG的工作流程可以简单地描述为以下三个步骤:
医学图谱构建
* 将医学文档分割成块
* 从这些块中提取相关实体
* 将它们组织成一个三层图结构,以链接这些实体
图检索
根据用户查询,检索相关的图和实体
3. 文本生成
使用检索到的信息生成文本,并引用源文档
让我们更详细地了解每一个步骤。
给定一个知识库或私有数据集,此步骤将其文档分割成多个部分。
传统的RAG方法涉及基于令牌大小或固定字符的分块。然而,这些方法导致语义信息的丢失,因为主题的微妙变化无法很好地被检测到。
为了解决这个问题,使用了一种不同的分块方法。
首先,使用换行符来隔离文档中的不同段落。
然后,将每个段落转换为自我维持的陈述/命题,使用一种称为命题转移的语义分割技术,如此处所述。
接下来,LLM顺序分析每个命题,以确定是否应将其与现有块合并或从头开始。
此过程每次处理五个段落,使用滑动窗口技术以减少噪声。
还设置了一个硬阈值,以确保最长的块不超过LLM的上下文长度限制。
这些步骤将文档划分为有意义的块,稍后将在其上构建图形。
此步骤涉及从每个块中识别和提取相关实体(节点)。
一个 LLM 被提示输出每个实体的 名称、类型(来自预定义的专业医学术语列表)和 描述。
这个提取过程会重复多次,以减少噪声并确保完整性和质量。
每个提取的实体还会分配一个唯一的 ID,以追踪其源文档和段落。
此步骤确保LLM不会扭曲或添加与精确医学术语无关的信息。
通过构建一个三层的Graph RAG数据结构,将每个提取的实体与基础医学知识和术语链接起来。
其顶层/第一层涉及从用户提供的私人文档中提取实体。
研究人员使用MIMIC-IV数据集,这是一个公开可用的电子健康记录数据集,用于此层的实验。
第二层通过将这些实体与从教科书和学术文章中创建的基础医学知识图谱链接而构建。
在此层使用MedC-K语料库,该语料库包含480万篇生物医学论文和30,000本教科书。
在第三层,第二层图谱进一步连接到来自可靠资源的成熟医学术语,如统一医学语言系统(UMLS)。
此步骤涉及使用 LLM 创建加权有向图(称为 Meta-graphs),以识别明确相关实体之间的所有关系。
这增强了图结构的丰富性。
下一步将所有的元图链接起来,以生成一个可以用于高效信息检索的全球图,用于医学查询。
首先,LLM根据预定义的医学类别(如症状、病史、身体功能和药物)生成元图的摘要。
这将产生一个简洁描述元图中心主题的标签列表。
利用这些标签,计算不同元图之间的相似性,从而指导它们合并成一个单一的全球图。
上述所有步骤的总结见下图。
此步骤涉及 LLM 从全球图中检索信息以响应用户查询。
首先为每个用户查询生成摘要标签。
然后使用这些标签来识别图中最相关的部分。
这使用了一种自上而下的匹配方法,称为 U-retrieve,匹配从较大的图开始,逐渐向较小的图移动。
这可以找到图中相关的实体以及它们的前 k
个相关实体,以回答用户查询。
此步骤涉及一个 LLM 从检索到的信息生成中间响应形式。
该中间响应与自底向上的方式结合更高级图形的汇总标签信息,在沿着轨迹扫描所有索引图形后生成最终响应。
MedGraphRAG显著提高了不同LLMs在多个医学基准测试上的性能(PubMedQA,MedMCQA和USMLE数据集)。
对于较小的模型,如LLaMA2–13B和LLaMA3–8B,性能提升显著,这些模型在这些基准测试中通常表现不佳。
该方法还提高了GPT和LLaMA3–70B的准确性,导致达到最新的(SOTA)结果,甚至超过了临床工作流程中人类专家的准确性。
请注意,MedGraphRAG甚至优于医学领域的微调模型。
对该方法的消融研究表明,文档分块、层次图构建和U-retrieve虽然复杂,但显著提升了其性能。
最后,MedGraphRAG还使LLMs能够生成基于证据的回答,以应对复杂的医学问题,并列出其来源。
MedGraphRAG是提高医学中LLMs安全性和可解释性的一个重要步骤。
这样的研究让我对AI在医学中的广泛应用充满希望,这一天并不遥远。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-11-23
如何提高RAG系统准确率?12大常见痛点及巧妙解!
2024-11-23
RAG 2.0性能提升:优化索引与召回机制的策略与实践
2024-11-22
RAG技术在实际应用中的挑战与解决方案
2024-11-22
从普通RAG到RAPTOR,10个最新的RAG框架
2024-11-22
如何使用 RAG 提高 LLM 成绩
2024-11-21
提升RAG性能的全攻略:优化检索增强生成系统的策略大揭秘 | 深度好文
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21