📢 转载信息
原文作者:Anastasia Tzeveleka, Anna Grüebler, Antonio Rodriguez, and Aris Tsakpinis
企业组织正迅速从生成式AI实验转向生产部署和复杂的智能体AI解决方案,在扩展、安全、治理和运营效率方面面临新的挑战。本博文系列介绍了生成式AI运维(GenAIOps),即将DevOps原则应用于生成式AI解决方案,并演示如何为由Amazon Bedrock驱动的应用程序实施GenAIOps。Amazon Bedrock是一项完全托管的服务,提供业内领先的基础模型(FMs)选择以及构建生成式AI应用程序所需的一整套功能。
在本两部分系列的第一部分中,您将学习如何为生成式AI工作负载演进现有的DevOps架构并实施GenAIOps实践。我们将展示针对不同生成式AI采用级别的实用实施策略,重点关注基础模型的消费。有关基础模型训练、模型微调和模型蒸馏的信息,请参阅我们的其他资源。第二部分将介绍用于在生产环境中扩展智能体AI应用的AgentOps和高级模式。
从 DevOps 到 GenAIOps
多年来,企业已成功将DevOps实践嵌入其应用程序生命周期中,简化了传统软件解决方案的持续集成、交付和部署。当它们在生成式AI采用级别上向前发展时,会很快发现传统的DevOps实践不足以大规模管理生成式AI工作负载。传统DevOps强调开发和运营团队之间的无缝协作,并处理具有可预测输出的确定性系统,而AI输出的非确定性、概率性特性要求组织改变管理其生成式AI驱动解决方案生命周期的方式。GenAIOps可以帮助您实现以下目标:
- 可靠性和风险缓解——通过护栏、评估管道和自动化监控,防御幻觉、处理非确定性并支持安全的模型升级。
- 规模和性能——扩展到数百个应用程序,同时保持低响应延迟和高效的消费成本。
- 持续改进和运营卓越——构建一致的环境、重用和版本控制生成式AI资产、管理上下文和模型生命周期,并通过自动化评估、微调和人机协作来改进生成式AI系统。
- 安全和合规性——在不同级别(模型、数据、组件、应用程序和端点)实现强大的安全和合规性。常见问题包括提示注入攻击、模型响应中的数据泄露以及未经授权的模型和工具访问。
- 治理控制——为敏感数据和知识产权(IP)建立明确的策略和问责制,同时使您的解决方案符合法规要求。
- 成本优化——优化资源利用率并管理超支风险。
从高层次上看,GenAIOps的生命周期与DevOps相似,但在涉及生成式AI应用程序时,每个生命周期步骤都有额外的考虑因素。下表描述了每个阶段的DevOps实践以及GenAIOps的扩展。
| 阶段 | DevOps 实践 | GenAIOps 扩展 |
|---|---|---|
| 规划 (Plan) |
|
|
| 开发 (Develop) |
|
|
| 构建 (Build) |
|
|
| 测试 (Test) |
|
|
| 发布 (Release) |
|
|
| 部署 (Deploy) |
|
|
| 维护 (Maintain) |
|
|
| 监控 (Monitor) |
|
|
下图说明了每个阶段的GenAIOps关键活动。
图 1:带有 GenAIOps 关键活动的 DevOps 阶段
GenAIOps 中的人员和流程
在探索GenAIOps实施模式之前,我们先研究GenAIOps如何扩展角色和流程以解决与生成式AI相关的独特挑战。以下是生成式AI应用程序生命周期的关键角色和支柱:
- 产品所有者和领域专家定义和确定用例的优先级,创建黄金提示数据集,建立成功指标,并通过快速原型设计验证生成式AI的适用性。
- GenAIOps和平台团队标准化账户基础设施,并为模型服务、消费和定制、嵌入存储和组件编排提供环境。他们负责使用基础设施即代码 (IaC) 设置持续集成和持续交付 (CI/CD) 管道、生产监控和可观测性。
- 安全团队通过访问控制、加密协议和护栏实施纵深防御,同时持续监控新兴威胁和潜在的数据泄露。
- 风险、法律、治理和伦理专家建立全面的负责任AI框架,进行系统的风险评估,实施偏差最小化策略,并实现监管一致性。
- 数据团队负责为构建、更新和评估生成式AI应用程序提供、准备和维护高质量数据集。
- AI工程师和数据科学家开发应用程序代码,集成生成式AI功能,实施提示工程技术,构建可重用组件库,管理版本控制系统,使用定制技术并设计人机循环工作流程。
- 质量保证 (QA) 工程师针对特定于AI的关注点进行测试,包括提示的稳健性、输出质量和护栏的有效性,并对新模型版本进行回归测试。
下图说明了这些角色。
图 2:GenAIOps 中的人员和流程
GenAIOps 采用之旅
GenAIOps的实施可能因生成式AI在企业中的渗透程度而异。以下是生成式AI采用的三个主要阶段:
- 阶段 1:探索 (Exploration)——刚接触生成式AI的组织,从几个概念验证 (POC) 开始,以证明对业务的价值。他们的生成式AI资源有限,通常由一小组早期采用者领导探索。
- 阶段 2:生产 (Production)——组织已在一些生产用例中证明了生成式AI的价值,并打算扩展到多个用例。他们将其视为业务差异化因素。多个团队使用生成式AI并出现扩展挑战。他们使用FM、工具和RAG等设计模式,并可能开始试验智能体工作流。此阶段的组织开始正式化构建者培训计划并建立生成式AI卓越中心。
- 阶段 3:重塑 (Reinvention)——生成式AI已成为企业战略的一部分。组织希望投资于生成式AI资源,并向所有人提供生成式AI构建工具。他们使用复杂的智能体AI解决方案。
随着他们在采用之旅中不断前进,企业会为其GenAIOps扩展现有的DevOps工作流程。以下各节使用Amazon Bedrock功能描述了每个阶段的GenAIOps实施模式。Amazon Bedrock通过按需访问模型、预训练的管理基础设施和内置的安全功能,支持快速的生成式AI部署,同时帮助维护企业合规性。
探索 (Exploration)
在探索阶段,组织通常依赖于由早期AI采用者组成的小型跨职能“猛虎小组”,他们身兼数职。数据科学家可能兼任提示工程师,开发人员处理自己的模型评估,合规性审查通过与法律团队的临时会议进行。治理流程在很大程度上保持手动和非正式,产品所有者直接与技术团队协作以建立成功指标,而平台工程师则专注于基本的环境设置,而不是复杂的CI/CD自动化。
DevOps 基础
在将生成式AI功能集成到您的应用程序和工作流程之前,我们需要一个支持您解决方案的基线DevOps架构。如以下图表所示,您有一个共享账户来管理CI/CD管道并控制跨开发、预生产和生产账户的部署。您还有用于开发、预生产、数据治理和数据生产者的独立AWS账户,以实现环境隔离、安全控制和按环境的成本跟踪。此设置中的每个资源都定义为代码,这意味着您可以像部署应用程序代码一样无缝地对整个基础设施进行版本控制、测试和部署。
图 3:DevOps 基线架构
了解了DevOps基础之后,我们将向您展示如何使用Amazon Bedrock功能增强它,并分四个关键步骤开始构建您的GenAIOps基础。
第 1 步:管理生成式 AI 应用程序的数据
数据在生成式AI中起到三个关键作用:为RAG系统提供动力以增强上下文响应、为模型评估和验证提供事实依据,以及通过提供训练数据来支持AI模型的初始训练和后续微调。在大多数情况下,需要访问控制以帮助防止未经授权的访问。在RAG中,数据用于通过提供来自数据源的相关上下文信息来改进LLM响应并使其基于事实。在标准的RAG工作流程中,您需要:
- 通过查询从知识库检索相关内容。
- 通过用检索到的上下文信息丰富提示来增强提示。
- 将包含原始输入和上下文的增强提示传递给LLM以生成最终响应。
当使用Amazon Bedrock时,您可以查询向量数据库,如Amazon OpenSearch Service,或使用API查询从数据存储中获取数据,以在将用户查询发送到FM之前对其进行增强。如果您有实时数据源,则需要实施连接器以启用数据同步和与各种数据源的集成,以帮助维护数据完整性和新鲜度。您还需要配置护栏,以便正确阻止或屏蔽不应发送给模型或成为输出一部分的数据(例如个人身份信息 (PII))。
您还可以使用Amazon Bedrock Knowledge Bases,这是一项完全托管的功能,可帮助您实施整个RAG工作流程,而无需构建到数据源的自定义集成和管理数据流。
您的数据在评估中提供了真相的来源。在应用程序开发开始之前,生成式AI开发人员应建立一个全面的黄金数据集,该数据集源自真实世界的交互或领域专家的输入。一个强大的评估数据集应根据您的评估策略,由准确反映现实世界使用场景并提供预期生产查询全面覆盖的提示或提示-响应对组成。数据工程师使开发环境中可以使用此数据集,并对敏感数据进行必要的修改。然后,提示输出,或提示输出与预期答案一起,可供人工评估者或LLM-as-a-Judge评估者(例如,Amazon Bedrock 上的 LLM-as-a-Judge)用于评估应用程序响应的质量。
模型提供商使用大量数据集来开发基础AI模型,而最终用户则使用特定领域的数据来微调这些模型以实现专业应用程序和目标用例。
在大多数情况下,您需要实施生成式AI时代的数据治理策略,以便用户只能访问整个系统管道中授权的数据。您还需要控制评估数据集的版本,并跟踪RAG知识库中文档和生成的嵌入的变化,以进行评估和审计。
总而言之,拥有一个强大的数据基础对生成式AI应用程序很重要。
第 2 步:建立开发环境
在开发环境中,首先将FM和其他生成式AI功能集成到您的应用程序中进行原型设计。在Amazon Bedrock中,您可以使用由AWS PrivateLink驱动的Amazon Bedrock虚拟私有云 (VPC) 端点直接访问模型,并在您的账户VPC与Amazon Bedrock服务账户之间建立私有连接。
您可以使用Amazon Bedrock 提示管理来创建、测试、管理和优化FM的提示,并使用Amazon Bedrock Flows来处理多步骤工作流程,例如需要顺序LLM调用的文档分析管道。您还可以配置和应用护栏,并使用Amazon Bedrock Guardrails为FM交互纳入安全控制。在许多用例中,您希望使用RAG为这些模型提供来自公司数据源的上下文信息。您可以实施自管理方法,也可以使用Amazon Bedrock Knowledge Bases,这是一项具有内置会话上下文管理和来源归属的功能。
下图显示了从FM、知识库、智能体和智能提示路由开始的模型消费者的关键Amazon Bedrock功能。接下来是护栏、流程、提示工程,最后是提示缓存。
图 4:模型消费者的 Amazon Bedrock 关键组件
评估性能
在将FM和生成式AI组件集成到应用程序后,您需要评估其性能。此时,您创建测试用例,编写测试配置以测试不同的提示、模型、向量存储和分块策略,并将它们保存在应用程序代码或其他所选工具中,并计算评估指标。Amazon Bedrock提供了评估工具来帮助您加速采用生成式AI应用程序。通过Amazon Bedrock Evaluations,您可以使用自动评估(程序化或使用LLM-as-a-Judge)并设置人工在环评估工作流程,来评估、比较和选择最适合您用例的FM。您还可以自带 (BYO) 推理响应,并评估模型、RAG 实现和完整的构建应用程序。
下图总结了您将使用AWS Lambda函数读取推理提示-响应对,将它们路由到Amazon Bedrock Evaluations,并将结果存储在Amazon Simple Storage Service (Amazon S3) 存储桶中的方法。
图 5:开发过程中的评估
如果出现问题,由于生成式AI组件的概率性,您需要系统地对错误进行分类以识别模式,然后再采取行动,而不是以孤立的方式修复问题。我们建议在标准应用程序测试之外进行以下测试:
- 质量测试——生成式AI输出可能会有所不同,有时产生很棒的响应,有时产生幻觉。您的GenAIOps解决方案应能够根据质量指标(如正确性和完整性)快速测试输出,也可以包括自动化测试以及人机协作。
- 安全测试——检查不必要的行为。
- 组件级测试——这对评估每个元素并评估输出和推理逻辑至关重要,除了测试端到端解决方案。
- 自动化评估——自动化使得能够使用程序化验证事实准确性和Amazon Bedrock的模型评估能力(作为LLM-as-a-Judge)在几秒钟内运行数百个测试。
- 人工审查——在任务关键型场景中,人工监督很重要。
- 统计验证——运行统计上显著的样本量,通常超过数百个测试用例,以实现高置信区间。
- 价格性能测试——您可能希望针对成本、延迟和吞吐量优化生成式AI应用程序。Amazon Bedrock提供功能和消费选项来帮助您实现目标。例如,您可以使用Amazon Bedrock 提示缓存或Amazon Bedrock 智能提示路由来减少延迟和成本,使用Amazon Bedrock 批量推理处理非实时用例,以及使用预置吞吐量以固定成本为模型实现更高水平的吞吐量。这个开源基准测试解决方案有助于基准测试性能。有关定价信息,请参阅Amazon Bedrock 定价页面。
- 延迟——根据用例,保持低延迟可能很重要。生成式AI应用程序中需要考虑独特的延迟维度,例如每秒 Token 数 (TPS)、首次 Token 时间 (TTFT) 和最后 Token 时间 (TTLT)。
在优化应用程序时,构建者必须牢记,在一个维度上优化可能会迫使在其他维度上做出权衡。质量、成本和延迟密切相关,为一个维度的优化会影响其他维度。
在规模上运行测试时,您需要一种方法来跟踪实验。一种方法是使用Amazon SageMaker AI with MLflow,这是Amazon SageMaker AI的一项完全托管功能,它允许您创建、管理、分析和比较机器学习 (ML) 实验。
第 3 步:将生成式 AI 测试添加到 CI/CD 管道
在确定了用例的最佳模型、提示、推理参数和其他配置后,将这些工件提交到应用程序存储库以触发 CI/CD 管道。该管道应执行您预定义的评估测试,为您的生成式AI应用程序创建关键的质量门。当测试通过准确性、安全性和性能阈值时,您的管道将部署到 p...
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区