AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


GenAI 的幻觉克星:ServiceNow 如何利用 RAG 征服工作流程生成?
发布日期:2024-06-02 05:18:08 浏览次数: 1879 来源:子非AI


生成式人工智能 (GenAI) 正以惊人的速度改变着世界,然而,其“幻觉”问题,即生成不准确或不存在的信息,一直是 GenAI 落地应用的绊脚石。去年,检索增强生成 (RAG) 技术凭借其强大的幻觉抑制能力横空出世,通过巧妙地结合信息检索和内容生成,RAG 在各种任务中取得了突破性进展,甚至让客户惊呼“还能这么玩?!”

然而,今年 RAG 的竞争变得异常激烈,开发者们正疯狂地尝试各种优化方法,力求在质量和速度上达到极致。端到端准确率的要求也越来越高,让人不禁感叹,这究竟是谁在“卷”?!


ServiceNow 的 RAG 实践:征服工作流程生成

ServiceNow,作为 ITSM/IT 工作流程领域的领导者,也积极投身于 RAG 技术的浪潮中。他们在最近发表的论文“Reducing hallucination in structured outputs via Retrieval-Augmented Generation”中,介绍了一种利用 RAG 技术减少 GenAI 幻觉现象的方法,并将其成功应用于工作流程生成任务中。

ServiceNow 的 RAG 之所以与众不同,主要体现在以下几个方面:

  • 聚焦“自然语言描述 --> workflow 生成”场景:不同于其他 RAG 研究,ServiceNow 将目光锁定在将自然语言描述转换为工作流程这一特定场景,该场景对于自动化企业级流程至关重要,但同时也面临着更大的挑战。


  • 深耕 ITSM/IT workflow 领域:作为 ITSM/IT workflow 领域的专家,ServiceNow 拥有丰富的领域知识和数据积累,这为其 RAG 系统的训练和优化提供了坚实的基础。

  • Embedding 和 LLM 模型的双重微调:为了最大程度地提升 RAG 系统的性能,ServiceNow 对 Embedding 和 LLM 模型进行了双重微调,其中 Embedding 模型的召回率从基础模型的 0.5+ 提升到了 0.7+,显著增强了系统的信息检索能力。


检索器训练

ServiceNow 使用 Siamese Transformer encoder with mean pooling 对检索器进行编码,将用户查询和步骤或表 JSON 对象编码为固定长度的向量。为了优化文本与 JSON 对象之间的映射关系,他们采用了三种负采样策略:

  1. 随机负采样: 从所有步骤或表中随机选择负样本。

  2. BM25 负采样: 基于 BM25 算法选择与查询文本不太相关的步骤或表作为负样本。

  3. ANCE 负采样: 基于 Approximate Nearest Neighbor Negative Contrastive Learning (ANCE) 算法选择与查询文本语义相似的步骤或表作为负样本。

通过结合三种负采样策略,检索器在步骤名称数据集上的召回率达到了 0.743,在表名数据集上的召回率达到了 0.766,这意味着检索器能够准确地找到与用户需求相关的步骤和表名。

此外,ServiceNow 还利用领域特定数据对检索器进行微调,使其能够更好地理解特定领域的技术术语和数据模式。实验结果表明,微调后的检索器在步骤和表名检索任务上的表现都优于未经微调的模型,这表明领域特定数据能够有效提升检索器的性能。


LLM 训练

ServiceNow 使用训练好的检索器,将建议的步骤和表名添加到数据集,然后进行标准的 LLM 监督微调。通过将检索器的输出以 JSON 格式插入到 LLM 输入中,作者有效地简化了结构化输出任务,因为 LLM 可以在生成过程中直接复制相关的 JSON 对象,而无需从头开始生成所有内容。

在 LLM 的训练过程中,ServiceNow 采用了 StarCoderBase 模型,并对其 1B、3B、7B 和 15.5B 四种不同大小的变体进行了微调。此外,他们还尝试了其他 7B 参数的 LLM,例如 CodeLlama-7B 和 Mistral-7B-v0.1。


实验结果与分析

为了评估 RAG 系统的有效性,ServiceNow 构建了多个数据集,包括来自企业平台内部部署的 4000 个真实工作流程示例,以及由专家用户模拟与系统交互生成的“Human Eval”数据集,该数据集包含更贴近真实用户场景的需求。作者采用了多种指标来衡量输出结果的质量,包括触发器精确匹配 (EM)、步骤包 (BofS)、幻觉表 (HT) 和幻觉步骤 (HS)。

实验结果表明,RAG 技术可以有效减少 LLM 在工作流程生成任务中的幻觉。在“Human Eval”数据集上,使用 RAG 的 StarCoderBase 模型的幻觉步骤比例降至 7.5% 以下,幻觉表比例降至 4.5% 以下,而未使用 RAG 的模型的幻觉比例高达 21%,这证明 RAG 技术能够显著降低 LLM 产生幻觉的概率。

作者还研究了模型大小对性能的影响,发现较大的 LLM 可以更好地利用检索器提供的上下文信息,从而生成更准确的结果。然而,作者也发现,即使是小型检索器与 LLM 的组合,也能在不损失性能的情况下显著降低部署成本。例如,3B 参数的 RAG 微调模型在触发器 EM 和步骤包指标上与 15.5B 参数的非 RAG 模型表现相当,同时保持了较低的幻觉率,这表明在资源有限的环境下,使用小型模型配合 RAG 也能取得良好的效果。

此外,作者还评估了 RAG 系统在域外 (OOD) 场景下的性能,结果表明其具有良好的泛化能力。在五个不同的 OOD 数据集上,RAG 系统的平均性能与域内结果相似,幻觉步骤和表的比例分别为 1.8% 和 6.6%,这表明 RAG 系统能够有效地应对来自不同领域的用户需求。

通过对错误模式进行分析,作者发现检索器和 LLM 的协同工作是保证输出质量的关键。如果检索器未能提供关键步骤或表名,LLM 就难以生成符合用户需求的工作流程。此外,LLM 在理解复杂逻辑结构方面仍有待提高,例如在处理“IF”、“TRY”和“FOREACH”等步骤时容易出错,这需要进一步的研究来改进 LLM 对复杂逻辑的理解能力。


工程实践

在实际应用中,作者根据实验结果选择了一种 7B 参数的 StarCoderBase 模型和一个 110M 参数的检索器进行部署,并通过解耦检索器和 LLM 来提高系统的可维护性和可扩展性。这种解耦的架构使得开发团队能够独立地优化检索器和 LLM,从而更好地应对不断变化的用户需求和数据环境。

此外,作者还提出了一些优化系统响应时间的策略,例如使用 YAML 格式来减少标记数量,并利用推测解码来加速生成过程,这些策略可以有效提升用户体验,缩短用户等待时间。


ServiceNow 的 RAG 实践给我们的启示

  • RAG 技术的应用场景正在不断拓展: ServiceNow 的研究表明,RAG 技术不仅可以应用于传统的问答和摘要生成任务,还可以有效地解决工作流程生成等更具挑战性的结构化输出任务。

  • 领域知识和数据积累至关重要: ServiceNow 在 ITSM/IT workflow 领域的深厚积累,为其 RAG 系统的成功奠定了基础。这表明,针对特定领域进行 RAG 系统的研发和优化,能够取得更好的效果。

  • 持续优化是保持领先的关键: 在激烈的竞争环境下,只有不断优化模型、算法和系统架构,才能在 RAG 技术的浪潮中保持领先地位。


GenAI 的幻觉问题一直是其发展道路上的绊脚石,而 RAG 技术的出现为解决这一问题带来了新的希望。ServiceNow 的研究表明,通过将 RAG 技术与领域知识和数据相结合,并不断优化系统性能,我们可以构建更可靠、更强大的 GenAI 应用,推动 GenAI 技术在各个领域的落地应用。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询