LLM 监控与可观测性
作者:Anais Dotis-Georgiou / 开发者
2024年11月04日
导航至
对 LLM 的需求正在快速增长——据估计,到 2025 年将有 7.5 亿个应用使用 LLM。因此,对 LLM 可观测性和监控工具的需求也在上升。在本博客中,我们将深入探讨什么是 LLM 监控和可观测性,为什么它们都至关重要,以及我们如何跟踪各种指标以确保我们的模型不仅在工作,而且还在蓬勃发展。
LLM 监控与可观测性:关键指标
LLM 监控涉及使用各种评估指标和方法跟踪 LLM 应用的性能。相比之下,LLM 可观测性通过在整个 LLM 应用系统中提供完全可见性和跟踪来实现监控。
一些重要的 LLM 可观测性和监控指标包括
- 资源利用率指标,包括 CPU/GPU 利用率、内存使用率、磁盘 I/O 等。
- 性能指标,包括延迟、吞吐量等。
- LLM 评估指标,包括提示、响应、模型准确性和退化、令牌使用量、响应完整性、相关性、幻觉、公平性、困惑度、语义相似性、模型退化等。
从实践和伦理的角度来看,评估和监控 LLM 的过程非常复杂。为了更好地理解 LLM 监控特有的一些挑战,让我们看看一些常见的 LLM 指标。
提示和响应、向量数据库以及嵌入可视化
首先是监控提示和响应。组织如何利用提示和响应在很大程度上取决于组织及其与用户的隐私协议。但是,LLM 应用通常只存储短时间的聊天记录。聊天记录通常存储在文档存储中。监控提示-响应对有助于识别重复出现的用户关注点或常见查询,从而深入了解用户需求,并可能发现 LLM 响应可以进一步优化以提高准确性或符合伦理规范的领域。例如,具有不同背景的人工审核员可以评估模型的响应。他们提供反馈以改进模型的行为,尤其是在识别和避免有害的刻板印象或有偏见的陈述方面。此反馈可以纳入强化学习 LLM 的训练数据中。然后使用这些 LLM 来训练模型以避免这些缺陷。
但是,聊天记录文本也经常被编码为嵌入并存储在向量数据库中。通过将聊天记录编码为嵌入,应用可以检索上下文相似的响应或建议,从而提高未来交互中输出的相关性。这种方法使组织能够为用户提供更加个性化和上下文感知的响应,而无需长时间存储原始文本数据,从而增强隐私性。通过这种方式,将向量数据库与 LLM 结合使用为 LLM 提供了“长期记忆”。
此外,向量数据库可以与 LLM 结合使用,以评估和衡量响应准确性。例如,向量数据库可以使用人工评估或专家评估的提示和响应进行填充。LLM 生成的响应与向量数据库中批准的响应之间的距离可以作为衡量误差的一种手段。如果距离超过某个阈值,则 LLM 可能正在经历模型退化或漂移,可能需要重新训练。
LLM 开发者发现这些见解的一种常见方式是通过嵌入可视化。请记住,向量数据库在 LLM 监控的上下文中存储高维嵌入。通常,数据分析师使用图表来可视化他们的数据,了解趋势,并深入了解他们正在监控的环境。但是,如何可视化嵌入空间中的数百或数千个维度呢?创建嵌入可视化的第一步是执行降维。这涉及获取高维嵌入并将其降至二维或三维以进行可视化。这篇博文描述了 降维的常用方法。 图 1:来自 Music Galaxy 的 3D 嵌入可视化示例,该示例有助于可视化音乐艺术家的相似性,这是一个在 我构建交互式嵌入可视化时学到的知识 中提到的项目。
令牌使用量
令牌本质上是文本单元——单词或单词片段——模型处理的单位。LLM 处理的每个令牌都会产生费用,尤其是在商业应用中。监控令牌使用量有助于预算和控制费用,方法是识别高使用量和潜在的优化领域,例如通过减少响应长度或限制不必要的请求。此外,令牌使用量直接影响响应时间和延迟。通过随时间跟踪令牌,您可以检测请求或响应是否不必要地冗长,从而影响用户体验。监控还可以揭示导致过度或冗余输出的低效提示,从而可以调整学习者交互。令牌使用量也反映了用户如何与模型交互。跟踪每个会话或用户使用的令牌可以突出显示行为模式,例如始终提出复杂问题或需要深入响应的用户。令牌使用量的异常峰值或下降可能表明问题,例如意外的提示行为、使用模式中的错误,甚至安全问题(例如,机器人滥用)。
评估指标:相关性、困惑度、幻觉、响应完整性、公平性等。
评估 LLM 是一个复杂、多方面的过程,涵盖了应用的性能和模型的有效性。确保 LLM 生成准确、相关且符合伦理规范的响应至关重要,因为这些因素决定了模型的成功和实际影响。
那么,LLM 工程师如何量化模型的性能呢?通过应用统计和基于神经的方法,包括相关性、公平性、幻觉和困惑度等指标,工程师可以评估 LLM 输出中可靠性和质量的各个方面。以下简要介绍每个指标的含义
- 相关性:相关性衡量模型响应与输入提示和上下文的对齐程度。例如,如果用户询问特定城市的天气,相关的响应将直接回答那里的天气,而不是不相关的信息。高相关性表明模型理解并适当地响应用户请求。
- 公平性:LLM 中的公平性确保模型的响应没有偏见,并代表不同的观点,而不会边缘化或偏袒特定群体。公平性包括检查和调整训练数据、模型架构和响应生成,以减轻意外的偏见。
- 幻觉:当 LLM 生成听起来合理但实际上不正确或虚构的信息时,就会发生幻觉。这是 LLM 中常见的挑战,因为它们有时会根据训练数据中的模式“填充”信息,即使该信息与现实不符。
- 困惑度:困惑度是一个用于衡量 LLM 预测单词或令牌序列效果的指标。较低的困惑度通常表示模型更擅长预测序列中的下一个单词,从而转化为更流畅和上下文准确的语言生成。但是,值得注意的是,困惑度本身并不能捕捉准确性或真实性。
从历史上看,BLEU 和 ROUGE 等统计指标被广泛用于评估其中一些方面。但是,它们通常与人类判断的相关性较低,尤其是对于复杂或开放式任务而言。作为回应,现代基于 LLM 的评估器,例如 LLM-evals 和嵌入模型,提供了一种无参考方法,根据生成概率而不是与预定义的参考进行比较来对文本进行评分。但是,这些基于 LLM 的方法的有效性和可靠性仍在评估中。LLM 评估指标:终极 LLM 评估指南 详细探讨了评估这些指标的统计和机器学习方法,以及流行的开源 LLM 评估框架 G-Eval 的工作原理。该帖子还深入探讨了开源 LLM 评估框架 G-Eval 的工作原理。 图 2:来自 G-EVAL:使用 GPT-4 进行 NLG 评估,具有更好的人类对齐 的 G-Eval 框架图。
G-Eval 是一个框架,它使用通过思维链 (CoT) 提示增强的 LLM 来评估模型生成的响应。它有三个主要组成部分
- 评估提示:此自然语言提示定义了评估任务和标准,例如连贯性或语法,针对特定任务进行定制。例如,文本摘要可能会指示评估器在 1-5 分的范围内对连贯性进行评分,目标是结构良好的摘要。
- 思维链 (CoT):G-EVAL 使用一系列中间步骤,由 LLM 自动生成,以指导评估。此 CoT 提供了一个结构化过程,例如阅读原始文章、将其与摘要进行比较以及根据特定标准进行评分,从而提高 LLM 在评估中的准确性和可解释性。
- 评分函数:评分函数使用 LLM 根据分配给每个评分级别的概率生成分数。为了提高粒度并避免低方差或过于简单的评分,G-EVAL 计算每个评分级别概率的加权平均值,从而创建一个连续、更细致的分数,更好地捕捉文本质量的细微差异。
评估 LLM 质量和可靠性的复杂性凸显了对 G-Eval 等框架的需求,但挑战依然存在。评估 LLM 应用的挑战:对自动化、人工和基于 LLM 的方法的分析 对 LLM 评估的复杂性进行了深刻的分析,详细介绍了自动化和基于 LLM 的方法出现的问题,并强调了评估实践将在塑造未来 AI 应用中发挥的重要作用。这些论文比较了各种评估方法,并讨论了每种方法的优点和缺点
- 自动化评估速度快且可重复,但可能缺乏准确性。
- 人工评估彻底但成本高昂,并且评估者之间存在差异。例如,对于该领域的新手,寻求有用的响应,与专家共享高相似性分数的提示可能不是最佳响应。
- 虽然基于 LLM 的评估因其效率而前景广阔,但缺乏广泛的研究,并且通常过于自信,导致潜在的偏见。
构建 LLM 可观测性解决方案
有几种流行的 LLM 可观测性工具 可用,但构建一个自己的工具需要什么呢?首先,您需要一个文档存储来记录提示和响应,然后需要一个向量数据库来管理嵌入、为响应提供上下文并评估响应准确性。此外,时间序列数据库对于随时间跟踪性能、资源使用情况和令牌指标至关重要。理想情况下,您将使用支持无缝集成到数据仓库中的数据库,从而实现高效的根本原因分析。例如,您可以使用 InfluxDB v3 来跟踪令牌使用量、资源利用率和延迟指标。异常监控可以与 Apache Iceberg 一起设置,以访问 parquet 文件并将此数据与其他指标结合使用,帮助您检测模型漂移、机器人活动、偏差回归、有害输出等。