AWS 上监控大型语言模型的技术和方法 |亚马逊网络服务

AWS 上监控大型语言模型的技术和方法 |亚马逊网络服务

大型语言模型 (LLM) 彻底改变了自然语言处理 (NLP) 领域,改进了语言翻译、文本摘要和情感分析等任务。然而,随着这些模型的规模和复杂性不断增长,监控其性能和行为变得越来越具有挑战性。

监控法学硕士的表现和行为是确保其安全性和有效性的一项关键任务。我们提出的架构为在线 LLM 监控提供了可扩展且可定制的解决方案,使团队能够根据您的特定用例和要求定制监控解决方案。通过使用 AWS 服务,我们的架构提供了 LLM 行为的实时可见性,并使团队能够快速识别和解决任何问题或异常情况。

在这篇文章中,我们演示了在线 LLM 监控的一些指标及其各自使用 AWS 服务进行扩展的架构,例如 亚马逊CloudWatchAWS Lambda。这提供了一个超出可能的可定制解决方案 模型评估 工作与 亚马逊基岩.

解决方案概述

首先要考虑的是不同的指标需要不同的计算考虑。模块化架构是必要的,其中每个模块都可以获取模型推理数据并生成自己的指标。

我们建议每个模块将传入的推理请求发送给 LLM,将提示和完成(响应)对传递给度量计算模块。每个模块负责计算自己的有关输入提示和完成(响应)的指标。这些指标会传递到 CloudWatch,CloudWatch 可以聚合这些指标并与 CloudWatch 警报一起发送有关特定条件的通知。下图说明了这种架构。

图 1:指标计算模块 – 解决方案概述

图 1:指标计算模块 – 解决方案概述

工作流程包括以下步骤:

  1. 用户作为应用程序或用户界面的一部分向 Amazon Bedrock 发出请求。
  2. Amazon Bedrock 将请求和完成(响应)保存在 亚马逊简单存储服务 (Amazon S3)根据配置 调用日志记录.
  3. 保存在 Amazon S3 上的文件会创建一个事件 触发 Lambda 函数。该函数调用模块。
  4. 这些模块将各自的指标发布到 CloudWatch 指标.
  5. 警报 可以通知开发团队意外的指标值。

实施 LLM 监控时要考虑的第二件事是选择正确的指标来跟踪。尽管您可以使用许多潜在指标来监控 LLM 绩效,但我们将在本文中解释一些最广泛的指标。

在以下部分中,我们重点介绍一些相关的模块指标及其各自的指标计算模块架构。

提示和完成(响应)之间的语义相似性

运行 LLM 时,您可以拦截每个请求的提示和完成(响应),并使用嵌入模型将它们转换为嵌入。嵌入是表示文本语义的高维向量。 亚马逊泰坦 通过 Titan Embeddings 提供此类模型。通过计算这两个向量之间的距离(例如余弦),您可以量化提示和完成(响应)在语义上的相似程度。您可以使用 SciPy的 or scikit学习 计算向量之间的余弦距离。下图说明了该度量计算模块的架构。

图 2:度量计算模块 – 语义相似度

图 2:度量计算模块 – 语义相似度

该工作流程包括以下关键步骤:

  1. Lambda 函数通过以下方式接收流式消息 亚马逊Kinesis 包含提示和完成(响应)对。
  2. 该函数获取提示和完成(响应)的嵌入,并计算两个向量之间的余弦距离。
  3. 该函数将该信息发送到 CloudWatch 指标。

情绪和毒性

监控情绪可以让您衡量回复的整体语气和情绪影响,而毒性分析则提供了 LLM 输出中是否存在冒犯性、不尊重或有害语言的重要衡量标准。应密切监控情绪或毒性的任何变化,以确保模型按预期运行。下图说明了度量计算模块。

图 3:度量计算模块 – 情绪和毒性

图 3:度量计算模块 – 情绪和毒性

工作流程包括以下步骤:

  1. Lambda 函数通过 Amazon Kinesis 接收提示和完成(响应)对。
  2. 通过 AWS Step Functions 编排,函数调用 亚马逊领悟 检测 情绪毒性.
  3. 该函数将信息保存到 CloudWatch 指标。

有关使用 Amazon Comprehend 检测情绪和毒性的更多信息,请参阅 建立一个强大的基于文本的毒性预测器使用 Amazon Comprehend 毒性检测标记有害内容.

拒绝率

拒绝的增加,例如当 LLM 由于缺乏信息而拒绝完成时,可能意味着恶意用户试图以旨在越狱的方式使用 LLM,或者用户的期望没有得到满足,并且他们得到低价值的回应。衡量这种情况发生频率的一种方法是将所使用的法学硕士模型的标准拒绝与法学硕士的实际响应进行比较。例如,以下是 Anthropic 的 Claude v2 LLM 的一些常见拒绝短语:

“Unfortunately, I do not have enough context to provide a substantive response. However, I am an AI assistant created by Anthropic to be helpful, harmless, and honest.”

“I apologize, but I cannot recommend ways to…”

“I'm an AI assistant created by Anthropic to be helpful, harmless, and honest.”

在一组固定的提示下,这些拒绝的增加可能表明模型变得过于谨慎或敏感。相反的情况也应该被评估。这可能是一个信号,表明该模型现在更容易参与有毒或有害的对话。

为了帮助建立完整性模型和模型拒绝率,我们可以将响应与法学硕士的一组已知拒绝短语进行比较。这可能是一个实际的分类器,可以解释模型拒绝请求的原因。您可以计算被监控模型的响应与已知拒绝响应之间的余弦距离。下图说明了此指标计算模块。

图 4:度量计算模块 – 拒绝率

图 4:度量计算模块 – 拒绝率

工作流程包括以下步骤:
  1. Lambda 函数接收提示和完成(响应),并使用 Amazon Titan 从响应中获取嵌入。
  2. 该函数计算响应与缓存在内存中的现有拒绝提示之间的余弦或欧几里得距离。
  3. 该函数将该平均值发送到 CloudWatch 指标。

另一个选择是使用 模糊匹配 一种简单但不太强大的方法来将已知的拒绝与 LLM 输出进行比较。请参阅 Python文档 举个例子。

总结

LLM 可观察性是确保 LLM 可靠且值得信赖的使用的关键实践。监控、理解并确保法学硕士的准确性和可靠性可以帮助您减轻与这些人工智能模型相关的风险。通过监控幻觉、不良完成(响应)和提示,您可以确保您的法学硕士保持在正轨上并提供您和您的用户正在寻找的价值。在这篇文章中,我们讨论了一些指标来展示示例。

有关评估基础模型的更多信息,请参阅 使用 SageMaker Clarify 评估基础模型,并浏览其他 示例笔记本 可在我们的 GitHub 存储库中找到。您还可以探索大规模实施法学硕士评估的方法 使用 Amazon SageMaker Clarify 和 MLOps 服务大规模实施 LLM 评估。最后,推荐参考 评估大型语言模型的质量和责任 了解有关评估法学硕士的更多信息。


作者简介

AWS 上监控大型语言模型的技术和方法 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。布鲁诺·克莱因 是 AWS 专业服务分析实践的高级机器学习工程师。他帮助客户实施大数据和分析解决方案。工作之余,他喜欢与家人共度时光、旅行和尝试新食物。

AWS 上监控大型语言模型的技术和方法 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。鲁沙布·洛坎德 是 AWS 专业服务分析实践的高级数据和机器学习工程师。他帮助客户实施大数据、机器学习和分析解决方案。工作之余,他喜欢与家人共度时光、阅读、跑步和打高尔夫球。

时间戳记:

更多来自 AWS机器学习