如何将知识密集型 RAG 用于法律 AI。

知识密集型 RAG (KI-RAG) 是一种特殊的 RAG,在创建 AI 时需要处理密集、专业和广泛的知识源。虽然可以在知识密集型环境中部署一般的 RAG 设置,但这不是一个好主意,因为它们无法捕捉数据的细微差别。构建 KI-RAG 系统需要更多的处理和持续的维护,这使得它们比传统 RAG 更昂贵。

然而,在某些领域,KI-RAG 可以带来极好的回报。法律就是这样一个领域,KI-RAG 是最好的方法,原因有三:

  1. 法律专业知识费用昂贵。如果律师事务所可以将项目所需的时间缩短几个小时,他们就已经节省了不少钱。这些节省(或通过将律师分配到其他地方而产生的额外收入潜力)将弥补 KI-NLP 的额外成本。
  2. 错误代价高昂——一个错误可能会导致公司损失数百万美元的和解金和严重的声誉损失。这种高昂的成本证明了投资于更好的工具是合理的。
  3. 法律有细微差别——法律有很多细微差别。不同地区的法律可能有所不同,不同的子领域会权衡不同的因素,而且很多法律都是在灰色地带完成的——“根据我的经验,在商业法背景下,事实上正确或错误的答案并不常见,大多数相关问题都有待商榷”。此外,不同的公司可能希望根据其专业化以不同的方式(使用不同的案例/论点)处理同一案件。所有这些都需要专门的处理和设置。
如何将知识密集型 RAG 用于法律 AI。
人工智能可以为法律做些什么

在过去的几个月里,我与IQIDIS Legal AI合作,构建和完善了他们专有的基于 KI-RAG 的法律 AI 平台。在本文中,我将分享我们如何为法律领域构建一个有效、高性能的 KI-RAG 系统的经验。虽然我不会深入研究专有的实现和技术,但讨论的原则将涉及我们的创新方法以及在构建 KI-RAG 系统时可能需要解决的挑战。

PS- 在收到大量早期用户反馈后,我们已完成早期开发,并希望扩大业务规模。如果您是一家对演示感兴趣的律师事务所、希望投资法律 AI 的投资者或想要探索合作机会,请通过 info@iqidis.ai 与我们联系。

如何将知识密集型 RAG 用于法律 AI。

在讨论技术细节之前,有必要从各个角度回顾一下 KI-RAG 的整体影响。就影响而言,它与传统 RAG 相当同构(下文将介绍),但对能源的影响更大,对良好透明度/可观察性的需求也更高(以便您可以监控/调整您的系统)。

如何将知识密集型 RAG 用于法律 AI。
我们的 RAG 最佳实践指南是熟悉传统 RAG 最佳实践的良好入门读物

现在是了解技术细节的好时机。以下是高级概述(我们一直在尝试各种模型和架构,因此使用 BM25 或 DPR 等具体名称作为示例,而不是最终决定)-

如何将知识密集型 RAG 用于法律 AI。

这种架构旨在帮助我们实现以下目标:

  1. 高性能——我们将性能分解为几个不同的指标——节省时间(智能响应)、监控(帮助我们的用户理解我们的人工智能做出某些决定的原因)、对反馈的适应性(根据用户反馈调整行为)和遵守性(如果用户指定了德克萨斯州法律,那么它应该遵守德克萨斯州的法律,而不是加州法律——这可能会导致幻觉)。这使我们能够在评估中获得更细致的评估,有助于提高安全性。
  2. 软件安全——使用多个定义明确的模块使我们能够在我们的架构中实现“关注点分离”,并让我们快速诊断和解决问题。
  3. 效率– 依靠规模较小、混合专家风格的设置,而不是让规模更大的模型完成所有工作,从而大幅降低我们的成本,让我们用更少的资源做更多的事情。
  4. 灵活性– 如果不能适应客户的流程,即使是最好的架构也是无用的。作为一家律师主导的公司,IQIDIS 深知在律师/律师事务所的工作流程中工作的重要性。拆分成不同的组件使我们能够非常快速地替换/修改各个部分,而不会出现太多问题(甚至可以将整个设置移动到安全环境中以增加安全性)。
  5. 无幻觉——鉴于幻觉的重要性,我们将其分解为各种亚幻觉,并分别处理每个幻觉家族。在法律背景下——我们可能会出现虚假案例引证的幻觉,为此我们需要改进信息检索并使用符合我们输入上下文的生成器。我们还会遇到错误分析的幻觉(这里,案例存在但没有说明我们想要什么)。——这必须通过律师改进和重新排名阶段来解决。

第二个因素也涉及到输出质量问题(“AI 工具 X 很糟糕,因为它不符合我们需要的风格”)。这是团队没有考虑到的问题。他们试图将两个截然不同的问题归为一类,这会导致训练信号冲突,使流程效率低下。

让我们更详细地研究各个组件。

索引(和嵌入)

我将对嵌入和索引进行分组讨论,因为我们一起研究它们以提高我们的搜索性能。

索引是帮助我们快速搜索大量数据的关键。我们结合多种索引技术来平衡成本和语义匹配之间的权衡。这种索引组合用于存储大多数知识/数据,这些数据存储在/可访问的索引节点中。这与现代专业 Gen-AI 解决方案的微调重度方法截然不同,在这种方法中,知识存储在参数 LLM 中。

这样做有多种好处。首先,通过使用索引,我们可以轻松地在数据源之间切换。这减少了我们选错案子或编造案子的可能性,因为我们的平台被相互矛盾的信息搞糊涂了——这是我们的竞争对手所面临的问题。引用斯坦福的“法律模型在 6 个(或更多)基准测试查询中产生幻觉”——

在斯坦福监管实验室HAI研究人员进行的一项新的预印本研究中,我们对两家提供商 LexisNexis(Lexis+ AI 的创建者)和汤森路透(Westlaw AI 辅助研究和 Ask Practical Law AI 的创建者)的说法进行了测试。我们表明,与 GPT-4 等通用 AI 模型相比,他们的工具确实减少了错误。这是一个巨大的进步,我们记录了这些工具提供合理和详细法律研究的实例。但即使是这些定制的法律 AI 工具仍然会在相当长的时间内产生惊人的幻觉:Lexis+ AI 和 Ask Practical Law AI 系统在超过 17% 的时间内产生错误信息,而 Westlaw 的 AI 辅助研究在超过 34% 的时间内产生幻觉。

通过搜索索引数据,我们消除了捏造案例的可能性。

其次,对大量数据(尤其是任何 KI 数据)进行微调可能非常昂贵。OpenAI有一个针对组织的自定义模型程序,但它至少需要 10 亿个代币,成本高达数百万美元(下限) –

如何将知识密集型 RAG 用于法律 AI。
如何将知识密集型 RAG 用于法律 AI。

这可能也是为什么市场上一些大型新玩家不得不进行大规模融资的原因。不断调整更新的法规、改变最佳实践等会很快消耗掉你的计算预算。

如何将知识密集型 RAG 用于法律 AI。
训练这些人工智能模型需要花费大量资金。

索引让我们可以避开这个问题。用新信息更新索引比重新训练整个 AI 模型便宜得多。基于索引的搜索还让我们能够看到 AI 选择哪些块/上下文来回答特定查询,从而提高透明度(并允许我们根据需要调整行为)。我们还可以通过仅搜索相关索引将 AI 限制在某些域/区域,从而提供当前基于 LLM 的系统无法获得的精确度。

当然,这需要有完善的索引,而索引又依赖于良好的语义匹配。主要部分介绍了我们对此进行的实验的细节。现在让我们讨论如何调整各种专门的 AI 模型。

专家组合-

IQIDIS 团队喜欢“专家混合”方法。它使我们能够非常有效地应对用户面临的无数挑战。根据我们之前的用户质量指标,我们确定了三类任务(实际情况有点模糊,但使用更严格的分类有助于使解释更清晰)

  • 采购——我们需要一些东西来接受用户查询并搜索我们的索引以获取重要信息。我们可以根据用户反馈对其进行微调,以提高引用的质量——允许不同的用户轻松地将他们的反馈直接集成到系统中,按照以下所示的过程——
如何将知识密集型 RAG 用于法律 AI。
这方面受到了 Meta 的 Sphere 的启发,它是 KI-NLP 的一个很好的原型。
  • 基于事实的答案– 专门的模型可以回答基于事实的问题。这有两大好处 – 它比微调 GPT 风格的解码器专用架构便宜得多,并且它不会对基于事实的问题产生幻觉。它还指向直接提高系统透明度和灵活性的来源。谷歌搜索在显示搜索卡时也采用了类似的方法 –
如何将知识密集型 RAG 用于法律 AI。
IQIDIS 平台还将允许用户更好地优化读者的选择。
  • 复杂生成——生成器将多个上下文组合成一个连贯的答案。-
如何将知识密集型 RAG 用于法律 AI。
出于保护原因,细节故意保持模糊。

将用户反馈转化为模型反馈(并最终转化为系统级反馈)的实际过程是我们的主要创新之一,但我不会谈论如何实现,因为优秀的人总要保守一些秘密。请记住,不加思索地注入用户反馈可能会对系统的稳定性和收敛性产生影响。

BTS,我们依靠协调器来推断哪种代理/哪组代理最适合完成哪项任务。这听起来很昂贵,直到你意识到它让我们不必到处使用最昂贵的模型。早期迭代的设置也并不困难,然后我们的目标是依靠用户反馈让我们的系统动态调整。

我们让用户参与生成过程的独特方法,带来了对抗幻觉的双重巨大胜利——

  1. 无需担心 1 型幻觉,因为我们保证引用来自数据源(而不是来自模型的内部知识,后者是错误的来源)。
  2. 通过我们独特的不断改进过程,第 2 类幻觉(除非我寻找精灵的探索有结果,否则永远无法消除)将显著减少。此外,由于我们的系统旨在增强法律专业人士的能力(而不是取代他们),因此任何错误都很容易在审查时被发现和修复。
如何将知识密集型 RAG 用于法律 AI。

这种分离使我们能够单独处理每种类型的错误,从而提高训练效率。我们还可以针对各种目标训练这些组件,而不会使它们的训练发生冲突。例如,创造力和准确性通常被视为相互矛盾(因此 LLM 中的温度参数非常重要)。我们的方法使我们能够让生成器专注于创造力,而采购模型则担心准确性——实现两全其美。这比使用数百万个示例的标准 RLHF 方法要好得多——事实证明,这种方法可以显著减少输出多样性

如何将知识密集型 RAG 用于法律 AI。
“我们的研究结果表明,对齐模型在标记预测中表现出较低的熵,在嵌入空间中形成不同的聚类,并倾向于“吸引子状态”,这表明输出多样性有限” –摘自优秀论文“创造力已离开聊天:去偏语言模型的代价

我们灵活的架构使我们能够适应各种客户需求,包括对模型使用的特定偏好。由于每个单独的模型只执行非常具体的任务,因此我们的系统不会像其他没有这种专业化的系统那样在不得不更换模型时遭受性能下降。

除此之外,我们还有一系列辅助步骤可以在需要时提供帮助。重新排序器可以很好地挑选出最重要的上下文,而非常复杂的上下文可能会从丰富、重新打包和总结中受益。这些都是上下文相关的,我们通常会在将其插入客户数据并了解其工作原理后判断是否需要它们。

如何将知识密集型 RAG 用于法律 AI。
寻找检索增强生成的最佳实践

仅探索如何使用用户输入最终构建专门的预处理技术,而无需更昂贵的设置即可显著提高性能,这方面还有很大的潜力。我感兴趣的一个例子是使用控制令牌让我们的用户对他们的输入提示进行更高程度的细化——

大多数人只对文本进行标记。我们的第一个版本包含标记。我们的标记器超越了通常的文本 <-> 标记,添加了工具解析和结构化对话。我们还发布了 API 中使用的验证和规范化代码。具体来说,我们使用控制标记,它们是用于指示不同类型元素的特殊标记。

—米斯特拉尔

或者-

我们通过合并控制标记增强了 DPR 模型,与标准 DPR 模型相比,其性能明显更佳,Top-1 准确率提高了 13%,Top-20 准确率提高了 4%。

控制令牌与密集通道检索

透明度

KI-RAG 的很大一部分是模型透明度。由于一些触发词/短语可以改变子句的含义/含义,因此用户需要完全了解流程的每个步骤。我们付出了巨大的努力来建立这一点,向用户展示哪些数据是从查询的索引中提取出来的,哪些数据排名靠前,我们如何权衡各种关系等等-

如何将知识密集型 RAG 用于法律 AI。
我们的人工智能会读取一组文档,提取实体关系并根据各种因素对其进行权衡。这是一个小例子,展示了我们如何使用房利美法规来评估交易。

由于阅读大量文本不美观且难以编辑,因此我们允许用户直观地了解各个实体之间的关系。以下示例展示了两个实体 Form 1003 和 The Desktop Underwriter 是如何关联的(此示例是自动创建的,无需监督)-

如何将知识密集型 RAG 用于法律 AI。
每个边和节点都有一个可编辑的描述,以允许最终用户将他们关于该过程的知识直接注入到系统中。

用户可以检查多个替代路径来验证二级/三级关系的质量。以下是针对相同端点的另一个示例:

如何将知识密集型 RAG 用于法律 AI。
这可让您深入了解 AI 识别的各种流程/关系。

通过让用户验证和编辑 AI 流程的每个步骤,我们让他们根据自己的知识和洞察力调整 AI,而不是要求他们为工具而改变。这还降低了 AI 犯下难以发现的隐性错误的可能性,因为流程的每个步骤都是公开的。

我们正在开发更多改进/功能,以便我们的用户能够自信地与 IQIDIS 交互、塑造和使用。当我们的竞争对手忙于构建昂贵的黑匣子时,我们有一个透明、高效且性能卓越的解决方案。

索引和搜索

如上所述,我们的搜索基于各种索引的组合。让我们分解一下。

作为第一层(针对特定关键字的搜索),我将从基础开始,并推荐类似 BM-25 的东西。它功能强大,适用于各种用例,并且足以过滤掉绝对无用的上下文。我没有重新发明轮子的习惯。根据事情的发展情况/我们最终要处理的数据类型,我们可能会探索使用 BM25F,它扩展了 BM25 以处理结构化文档,这可能对法律文本的不同部分有用,或者 BM25+ 适用于更长的文档/块。这是我们最有信心的系统部分,尽管没有什么是神圣的,我们可能会遇到让我们改变主意的见解。

有几种方法可以整合语义匹配方面。最明显的竞争者是 DPR,你不会出错。然后我们还有其他一些有希望的竞争者,比如-

HNSW(分层可导航小世界)

  • 近似最近邻搜索的有效算法
  • 极快的搜索速度
  • 适用于大型文档集
  • 它的名字听起来很酷,应该有一定的意义。
如何将知识密集型 RAG 用于法律 AI。
““NSW 与分层 NSW 之间的比较:(a)1000 万个 4 维随机向量数据集的距离计算次数与准确度的权衡;(bc)8 维随机向量数据集上距离计算次数(b)和原始查询(c)时间方面的性能扩展。

句子-BERT(SBERT)

  • 生成具有语义意义的句子嵌入
  • 计算效率高
  • 适合语义相似性任务。
  • 基于句子的嵌入似乎毫无理由地非常好(说真的,如果有人能告诉我为什么,我会非常感激)
如何将知识密集型 RAG 用于法律 AI。

法律-BERT

  • 经过法律语料库的预训练
  • 捕捉特定领域的语言和概念
  • 可以针对特定的合法子域名进行进一步微调
  • 我喜欢 BERT 模型。
  • 实际上,我们在某些评估中使用它,并将用户反馈(由律师提供,我不明白)转化为可作为系统反馈的信号。这种方法效果很好,因此将其转化为其他语义任务很有前景。
如何将知识密集型 RAG 用于法律 AI。
“在所有数据集和所有考虑的模型中,测试数据的困惑度 (PPT) 和最终任务结果。报告的结果是多次运行的平均值,每个条形图中也用垂直黑线表示。每个条形图中的透明和不透明部分分别显示运行的最小和最大分数。星号表示 LEGAL-BERT 版本的平均表现优于调整后的 BERT-BASE。”

ColBERT(BERT 上的情境化后期交互)

  • 保留上下文相关的术语表述
  • 允许查询和文档之间进行细粒度的词级交互
  • 高效进行大规模检索
  • 在段落检索任务中表现良好
  • 同样基于 BERT。
  • 我记得读过一些关于它对于基础合法搜索引擎非常有用的东西,但我找不到它(我想知道我是否开始出现幻觉了)。
  • 令人惊叹的街头信誉。

鉴于我们已经开始研究图表,另一个有希望的方向是整合基于图表的索引和搜索。考虑到我们目前资源的匮乏,我们还没有做太多这方面的工作。但亚马逊在“ FINGER:基于图表的近似最近邻搜索的快速推理”中描述的方法值得强调,原因有二。首先,他们的方法是通用的,可以应用于任何构建的图表(因为优化是在搜索方面进行的,而不是在图表构建方面)。其次,它达到了一些惊人的数字,“ FINGER 在不同的基准数据集上的表现明显优于现有的加速方法和传统库,高出 20% 到 60% ”

如何将知识密集型 RAG 用于法律 AI。
如何将知识密集型 RAG 用于法律 AI。
图 4:基于 HNSW 图的方法的实验结果。绘制了所有数据集的吞吐量与 Recall@10 图表。顶行显示具有 𝐿2 距离测量的数据集,底行显示具有角度距离测量的数据集。我们可以观察到 FINGER 的性能显著优于所有现有的基于 HNSW 图的实现。最佳彩色显示

这种性能的秘诀在于一个相当简单但重要的见解——“当计算查询与比列表中任何候选点都远的点之间的距离时,近似距离测量通常就足够了。”本质上,如果我只想考虑前 5 名的相似度得分,那么第 6 名及以下的确切距离对我来说无关紧要。在这种情况下,我可以跳过繁重的距离计算。我也不想考虑超出我的上限距离的点。一段时间后发现,“超过 80% 的距离计算都大于上限。使用贪婪图搜索将不可避免地在无影响的操作上浪费大量计算时间。 ”

这导致亚马逊开始探索距离测量的近似值,以测量更远的点。他们最终确定了一种基于几何 + 一些向量代数的近似值。取一个查询向量 q,即我们当前的节点,其邻居正在被探索,c,以及 c 的一个邻居 d,我们接下来将计算其与 q 的距离。“ q 和 d 都可以表示为沿 c 的投影和垂直于 c 的“残差向量”之和。这本质上是将 c 视为空间的基向量。 ”

如何将知识密集型 RAG 用于法律 AI。
FINGER参照先前探索过的节点c的向量,定义查询向量q与新图节点向量d之间的距离。qc可以表示为沿c 的投影(qprojdproj )与与c正交的“残差”向量(qresdres)之

这种方法非常有效

为了评估我们的方法,我们在三个不同的数据集上将 FINGER 的性能与三种先前的基于图的近似方法进行了比较。在一系列不同的 recall10@10 率(即模型在查询的 10 个候选词中找到查询的真正最近邻的比率)中,FINGER 的搜索效率高于其所有前辈。有时差异相当显著 —在一个数据集上,在 98% 的高召回率下,差异为 50%,而在另一个数据集上,在 86% 的召回率下,差异接近 88 % 。

这是一种巧妙的方法,对我来说很有意义,而且可以很好地补充结果。所以在我的实验中,它在我的优先级中名列前茅。

另一种高优先级方法是研究其他类型的嵌入,以更好地捕捉语义细微差别。这种方法旨在处理余弦相似度函数(在 NLP 中大量使用)的一个关键限制:饱和区。当两个嵌入高度相似或不相似时,余弦函数的梯度会变得非常小。这可能导致优化过程中梯度消失,从而难以学习文本嵌入之间的细微语义区别。

对于监督式 STS(Reimers & Gurevych,2019;Su,2022),迄今为止的大多数努力都在其训练目标中使用余弦函数来测量成对语义相似性。但是,余弦函数具有饱和区,如图 1 所示。由于梯度消失问题,它可能会阻碍优化,并阻碍在反向传播中学习文本之间细微差别的能力。此外,许多 STS 数据集(例如 MRPC 1 和 QQP 2)提供表示不相似(0)和相似(1)的二进制标签,这些标签自然落入余弦函数的饱和区内。

– AnglE 优化的文本嵌入

“AnglE-optimized Text Embeddings” 论文通过 AnglE 解决了这一挑战,AnglE 是一个在复杂空间中优化角度差异的文本嵌入模型。“它不仅优化文本之间的余弦相似度,还优化角度,以减轻余弦函数饱和区对学习过程的负面影响。具体来说,它首先在复杂空间中将文本嵌入划分为实部和虚部。然后,它遵循复杂空间中的划分规则来计算两个文本嵌入之间的角度差异。在归一化之后,角度差异成为要优化的目标。优化归一化的角度差异是直观的,因为如果两个文本嵌入之间的归一化角度差异较小,则意味着这两个文本嵌入在复杂空间中彼此更接近,即它们的相似度更大。 ” 这在亮点中显示的图中得到了证明-

如何将知识密集型 RAG 用于法律 AI。
(a)复空间中的除法。∆θ 是复空间中被除数 z 和除数 w 之间的角度差。(b)余弦饱和区中的角度优化。尽管 ∆y ≈ 0 可以消除梯度,但复空间中相应的角度差对于优化来说仍然很明显。

结果最终得出了这样的结论:“另一方面,AnglE 的表现始终优于 SBERT,绝对增益为 5.52%。这可以支持这样一种观点,即角度优化的文本嵌入可以减轻余弦函数的负面影响,从而获得更好的性能。”AnglE 最终改善了 LLM,“很明显,AnglE-BERT 和 AnglE-LLaMA 的表现始终优于基线,平均得分分别比之前的 SOTA SimCSE-BERT 和 SimCSE-LLaMA 提高了 0.80% 和 0.72%。 ”

如何将知识密集型 RAG 用于法律 AI。

非常酷。

AnglE 在迁移和非迁移设置中的优势、生成高质量文本嵌入的能力以及对不同主干的稳健性和适应性

这对于非常密集的文本非常有用,因为英寸的差异会产生英里的影响。 哪条法律恰好是。

这些是基于研究和我们自己的实验的、很有前景的基于文本的搜索/嵌入的主要方面。最终结果取决于最适合您/您的客户数据的协议,可以是讨论过的一种、两种或没有一种方法。这个过程有太多的差异,所以如果我说有一种确定的方法(或者我们所做的绝对是最好的方法),那我就是在撒谎。我可以向您保证的是,我们的团队非常热衷于倾听用户的意见——我们设计的系统非常灵活,可以快速适应他们的工作流程。

我花了很长时间来实验和讨论我们对索引和嵌入的研究,原因有两个:

  1. 良好的嵌入/索引具有非常好的投资回报率 – 这对我们来说在现阶段非常重要。我们依靠这一点(以及我们详细的内部评估)以经济高效的方式推动我们的性能改进。它还很好地延续了我们对用户反馈、模型透明度和一般 AI 安全的关注。
  2. 最好在 Agentic RAG 的单独文章中讨论编排问题 – 我们将花更多时间讨论代理之间的角色划分以及如何将用户查询转换为一组可解释的指令。

目前,我们保持代理系统非常低调,以节省成本并专注于用户反馈。但在下一轮融资之后(或对于任何明确要求这样做的客户),在此基础上进行构建是当务之急。

RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/5469

Like (0)
Previous 2024-09-02 11:20 上午
Next 2024-09-02 5:46 下午

相关推荐

发表回复

Please Login to Comment
本文授权以下站点有原版访问授权 https://www.shxcj.com https://www.2img.ai https://www.2video.cn