LLM监控和可观察性——负责任人工智能技术和方法概述

LLM监控和可观察性——负责任人工智能技术和方法概述 can be condensed as LLM监控和可观察性概述.

目标受众:希望了解可用方法并学习如何开始实施的从业人员,以及在构建治理框架和技术路线图时希望了解可能性的领导者

仿佛一夜之间,每个CEO的待办事项清单、招聘启事和简历上都包含了生成式人工智能(genAI)。这是理所当然的。基于基础模型的应用已经改变了数百万人的工作方式、学习方式、写作方式、设计方式、编码方式、旅行方式和购物方式。大多数人,包括我在内,都认为这只是冰山一角。

在本文中,我总结了对大型语言模型(LLM)监控的现有方法进行的研究。我花了很多时间阅读软件供应商和专门从事LLM监控和可观察性的开源库的文档、观看视频和阅读博客。结果是一个实用的LLM监控和观察分类法。希望对您有用。在不久的将来,我计划进行学术论文的文献搜索,以增加前瞻性的观点。

研究的软件*:Aporia、Arize、Arthur、Censius、Databricks/MLFlow、Datadog、DeepChecks、Evidently、Fiddler、Galileo、Giskard、Honeycomb、Hugging Face、LangSmith、New Relic、OpenAI、Parea、Trubrics、Truera、Weights & Biases、Why Labs

  • *本文提供了一个累积的分类法,不对软件选项进行评分或比较。如果您想讨论我研究中涉及的特定软件,请与我联系。

文章概述

  • 评估LLM — LLM如何进行评估并被认为已准备好投入生产?
  • 跟踪LLM — 跟踪LLM意味着什么,需要包括哪些组件?
  • 监控LLM — LLM投入生产后如何进行监控?

LLM生命周期

Photo created by Josh Poduska — Link to Interactive View

争相将LLM纳入生产工作流程,但技术社区正忙于制定最佳实践,以确保这些强大的模型在时间推移中表现如预期。

评估LLM

评估传统机器学习(ML)模型涉及检查其输出或预测的准确性。通常使用诸如准确度、RMSE、AUC、精确度、召回率等众所周知的指标进行衡量。评估LLM要复杂得多。数据科学家今天使用了几种方法。

(1) 分类和回归指标

LLM可以产生数值预测或分类标签,这种情况下评估很容易。与传统ML模型一样。虽然这在某些情况下很有帮助,但我们通常关心的是评估生成文本的LLM。

(2) 独立的基于文本的指标

这些指标对于在没有基准数据源的情况下评估LLM的文本输出很有用。您需要根据过去的经验、学术建议或比较其他模型的分数来确定什么是可接受的。

困惑度是一个例子。它衡量了模型生成输入文本序列的可能性,并可以被视为评估模型对其训练的文本的学习程度。其他例子包括阅读水平和非字母字符。

更复杂的独立方法涉及从模型输出中提取嵌入,并分析这些嵌入是否存在异常模式。可以通过检查嵌入在3D图中的图形来手动完成此操作。根据性别、预测类别或困惑度得分进行着色或比较,可以揭示LLM应用中潜在的问题,并提供偏见和可解释性的度量。存在多个允许以这种方式可视化嵌入的软件工具。它们将嵌入进行聚类并映射到3个维度中。通常使用HDBSCAN和UMAP进行此操作,但有些会采用基于K均值的方法。

除了视觉评估外,还可以通过嵌入式运行异常检测算法来寻找异常值。

(3)评估数据集

具有基准标签的数据集允许将文本输出与批准响应的基准进行比较。

一个众所周知的例子是ROUGE指标。在语言翻译任务的情况下,ROUGE依赖于一个参考数据集,将其答案与正在评估的LLM进行比较。可以针对参考数据集计算相关性、准确性和许多其他指标。嵌入式起着关键作用。标准距离度量,例如J-S距离、Hellinger距离、KS距离和PSI,将您的LLM输出嵌入式与基准嵌入式进行比较。

最后,LLM还有一些广泛接受的基准测试。斯坦福大学的HELM页面是了解它们的好地方。

(4)评估器LLM

乍一看,使用LLM来评估LLM可能会认为是作弊,但许多人认为这是未来LLM评估的最佳途径,并且研究表明有希望。很有可能在不久的将来,使用我所称之为评估器LLM将成为LLM评估的主要方法。

一个广泛接受的例子是毒性指标。它依赖于一个评估器LLM(Hugging Face推荐roberta-hate-speech-dynabench-r4),以确定模型的输出是否有毒性。上述“评估数据集”下的所有指标在这里也适用,因为我们将评估器LLM的输出视为参考。

根据Arize的研究人员的说法,评估器LLM应配置为为其测试的指标提供二元分类标签。他们解释说,数值分数和排名需要更多的工作,并且不如二元标签化表现出色。

(5)人工反馈

尽管在本文、软件文档和营销材料中对可衡量指标的强调,但您不应忽略手动人工反馈。这通常是数据科学家和工程师在构建LLM应用的早期阶段所考虑的。LLM的可观察性软件通常具有辅助完成此任务的界面。除了早期开发反馈外,将人工反馈纳入最终评估过程中(以及持续监控)是一种最佳实践。获取50到100个输入提示并手动分析输出可以让您对最终产品有更多了解。

跟踪LLM

跟踪是监控的前身。在我的研究中,我发现跟踪LLM的细节足够复杂,值得单独介绍。跟踪的低悬果实涉及捕获请求数、响应时间、令牌使用情况、成本和错误率。标准系统监控工具在此起到作用,与更多LLM特定选项(那些传统的监控公司的营销团队很快就会声称基于简单功能指标跟踪的LLM可观察性和监控)一起。

从捕获输入提示和输出响应中获得深入的见解,以供将来分析。这在表面上听起来很简单,但实际上并非如此。复杂性来自我迄今为止忽略的某些事情(当谈论或写关于LLM时,大多数数据科学家也是如此)。我们不是在评估、跟踪和监控LLM,而是在处理一个应用程序;一个由一个或多个LLM、预设指令提示和共同工作以产生输出的代理组成的集合。某些LLM应用程序并不那么复杂,但许多LLM应用程序是复杂的,并且趋势是更加复杂。即使是稍微复杂的LLM应用程序,要确定最终的提示调用也可能很困难。如果我们在调试,我们需要了解每个步骤中调用的状态以及这些步骤的顺序。从业者将希望利用能够帮助解开这些复杂性的软件。

监控LLM

尽管大多数LLM和LLM应用程序都经过了某种形式的评估,但实施持续监控的太少。我们将分解监控的组成部分,以帮助您构建一个保护用户和品牌的监控程序。

(1)功能监控

首先,应持续监控Tracking部分提到的低悬果实。这包括请求数量、响应时间、令牌使用情况、成本和错误率。

(2)监控提示

接下来,应监控用户提供的提示或输入。独立的指标,如可读性,可能是有信息量的。应使用评估器LLM来检查毒性等内容。嵌入式距离与参考提示的距离是智能指标。即使您的应用程序可以处理与您预期的完全不同的提示,您也会想知道您的客户与您的应用程序的交互是否是新的或随时间变化的。

在这一点上,我们需要引入一个新的评估类别:对抗性尝试或恶意提示注入。这在初始评估中并不总是被考虑在内。与已知对抗性提示的参考集进行比较可以标记出不良行为者。评估器 LLM 也可以对提示进行分类,判断其是否恶意。

(3) 监控响应

在比较您的 LLM 应用程序输出与预期结果时,有许多有用的检查可供实施。考虑相关性。您的 LLM 是否以相关内容回应,还是在无关紧要的地方迷失方向(幻觉)?您是否看到了与预期主题的偏离?情感如何?您的 LLM 是否以正确的语气回应,而且随着时间的推移是否发生了变化?

您可能不需要每天监控所有这些指标。对于某些指标来说,每月或每季度进行监控就足够了。另一方面,毒性和有害输出始终是部署 LLM 时最担心的问题。这些都是您希望更加定期跟踪的指标。请记住,之前讨论过的嵌入可视化技术可能有助于根本原因分析。

泄漏提示是一种我们尚未介绍的对抗性方法。当有人欺骗您的应用程序泄漏存储的提示时,就会发生泄漏提示。您可能花了很多时间找出哪些预设的提示说明可以获得最佳结果。这是敏感的知识产权。通过监控响应并将其与提示说明数据库进行比较,可以发现泄漏提示。嵌入距离度量效果很好。

如果您拥有评估或参考数据集,您可能需要定期测试您的 LLM 应用程序并将结果与先前的测试结果进行比较。这可以让您了解随时间的准确性,并提醒您注意漂移。如果发现问题,一些管理嵌入的工具可以让您导出表现不佳的输出数据集,以便您可以对这些类别的问题提示进行微调。

(4) 警报和阈值

应注意确保您的阈值和警报不会引起过多的误报。多元漂移检测和警报可以提供帮助。我对如何做到这一点有一些想法,但将把它们留到另一篇文章中。顺便说一句,在我为这篇文章进行的任何研究中,我没有看到有关误报率或阈值的最佳实践的提及。这真是遗憾。

与警报相关的几个不错的功能可能会包含在您的必备清单中。许多监控系统提供与 Slack 和 Pager Duty 等信息源的集成。一些监控系统允许在输入提示触发警报时自动进行响应阻止。相同的功能也可以应用于在将响应发送给用户之前对其进行 PII 泄漏、毒性和其他质量指标的筛查。

我还要补充一点,因为我不知道在哪里放置它。自定义指标对于您的监控方案非常重要。您的 LLM 应用程序可能是独一无二的,或者您团队中的一位优秀数据科学家想到了一个将为您的方法增加显著价值的指标。这个领域可能会有进一步的发展。您将希望具备自定义指标的灵活性。

(5) 监控用户界面

如果一个系统具备监控功能,它将具有显示指标时间序列图的用户界面。这是相当标准的。当它们允许钻取警报趋势以指示某种根本原因分析水平时,用户界面开始有所区别。其他用户界面可以基于聚类和投影来实现嵌入空间的可视化(我希望能够看到或进行有关这些嵌入可视化在实际中的有用性的研究)。

更成熟的产品将通过用户、项目和团队进行监控分组。它们将具有 RBAC,并基于所有用户都有必要知道的假设进行工作。在今天的许多组织中,任何人都可以看到其他人的数据,这在很多情况下是不可行的。

我在前面提到的一个问题的原因是,用户界面无法促进对警报的适当分析。软件系统很少尝试在这方面进行任何优化,但有些确实这样做。关于这个话题,以后还有很多要说的。

从业者和领导者的最后思考

领导者们,不把 LLM 的监控和可观察性置于组织倡议的首要位置,对您来说风险太大了。我说这话不仅是为了防止对用户造成伤害或失去品牌声誉。这些显然在您的考虑范围内。您可能没有意识到的是,您公司对人工智能的快速和可持续采用可能意味着成功和失败之间的差异,而一个成熟的负责任的人工智能框架以及一个详细的技术路线图来监控和观察 LLM 应用程序将为您提供一个基础,使您能够比竞争对手更快、更好、更安全地扩展。

从业者们,本文介绍的概念提供了一份应包含在LLM可观察性和监控实施中的工具、技术和指标清单。您可以将其用作指南,以确保您的监控系统能够胜任任务。您还可以将其作为深入研究我们讨论的每个概念的基础。

这是一个令人兴奋的新领域。熟悉这一领域的领导者和从业者将有机会在人工智能时代帮助他们的团队和公司取得成功。

关于作者:

Josh Poduska是一位拥有20年经验的人工智能领导者、战略家和顾问。他曾担任Domino Data Lab的首席现场数据科学家,并在多家公司管理团队和领导数据科学战略。Josh在多个领域构建和实施了数据科学解决方案。他拥有加州大学尔湾分校的数学学士学位和康奈尔大学的应用统计学硕士学位。