📢 转载信息
原文作者:Anastasia Tzeveleka, Anna Grüebler, Antonio Rodriguez, and Aris Tsakpinis
企业组织正迅速从生成式AI实验转向生产部署和复杂的智能体AI解决方案,在扩展、安全、治理和运营效率方面面临新的挑战。本博客系列介绍了生成式AI运营(GenAIOps),即将DevOps原则应用于生成式AI解决方案,并演示如何针对由Amazon Bedrock(一项全托管服务,提供业界领先的基础模型(FM)选择以及构建生成式AI应用所需的一整套功能)驱动的应用程序来实现它。
在本两部分系列的第一部分中,您将学习如何为生成式AI工作负载演进现有的DevOps架构并实施GenAIOps实践。我们将展示针对不同生成式AI采用级别的实用实施策略,重点是消费基础模型。有关基础模型训练、模型微调和模型蒸馏的信息,请参阅我们的其他资源。第二部分涵盖了AgentOps以及在生产中扩展智能体AI应用程序的高级模式。
从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 知识库,这是一项全托管功能,可帮助您在无需构建到数据源的自定义集成和管理数据流的情况下,实施整个RAG工作流程。
您的数据在评估中提供了事实来源。在应用程序开发开始之前,生成式AI开发人员应建立一个全面的黄金数据集,该数据集源自现实世界的交互或领域专家的输入。一个强大的评估数据集应根据您的评估策略,由准确反映现实世界使用场景并提供预期生产查询的全面覆盖的提示或提示-响应对组成。数据工程师将此数据集在开发环境中提供,并对敏感数据进行必要的修改。然后,提示输出,或提示输出与预期答案一起,可供人工评估者或LLM即裁判评估者(例如Amazon Bedrock 模型评估上的LLM即裁判)用来评估应用程序响应的质量。
模型提供商使用广泛的数据集来开发基础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 护栏为FM交互整合安全控制。在许多用例中,您希望使用RAG向这些模型提供来自公司数据源的上下文信息。您可以实施自助管理方法,也可以使用Amazon Bedrock 知识库,这是一项具有内置会话上下文管理和来源归因的全托管功能。
下图显示了从FM、知识库、智能体和智能提示路由开始的模型消费者的关键 Amazon Bedrock 功能。紧随其后的是护栏、Flows、提示工程,最后是提示缓存。
图 4:Amazon Bedrock 针对模型消费者的关键组件
评估性能
在将FM和生成式AI组件集成到应用程序后,您需要评估其性能。此时,您创建测试用例,编写测试配置来测试不同的提示、模型、向量存储和分块策略,并将它们保存在应用程序代码或其他选择的工具中,并计算评估指标。Amazon Bedrock 提供评估工具,帮助您加速生成式AI应用的采用。使用Amazon Bedrock 评估,您可以使用自动评估(程序化或使用LLM即裁判)并设置人机循环评估工作流程来评估、比较和选择最适合您用例的FM。您还可以引入自己的(BYO)推理响应,并评估模型、RAG实施和完全构建的应用程序。
下图总结了该方法,您将使用AWS Lambda函数读取推理提示-响应对,将它们路由到 Amazon Bedrock 评估,并将结果存储在Amazon Simple Storage Service(Amazon S3)存储桶中。
图 5:开发期间的评估
如果出现问题,由于生成式AI组件的概率性,您需要系统地对错误进行分类以识别模式,而不是以隔离的方式修复问题。我们建议在标准应用程序测试之外进行以下测试:
- 质量测试——生成式AI输出可能会有所不同,前一刻可能产生很棒的响应,下一刻就可能产生幻觉。您的GenAIOps解决方案应能够根据质量指标(如正确性和完整性)快速测试输出,并且可以包括自动测试以及人机循环。
- 安全测试——检查不需要的行为。
- 组件级测试——这对于评估每个元素并评估输出和推理逻辑至关重要,此外还要测试端到端解决方案。
- 自动化评估——自动化使得能够在几秒钟内运行数百个测试,使用程序化验证来确定事实准确性,并使用 Amazon Bedrock 的模型评估功能作为LLM即裁判。
- 人工审查——在任务关键型场景中,人工监督很重要。
- 统计验证——运行统计上显著的样本量,通常超过数百个测试用例,以实现高置信区间。
- 性价比测试——您可能希望针对成本、延迟和吞吐量优化生成式AI应用程序。Amazon Bedrock 提供功能和消费选项来帮助您实现目标。例如,您可以使用Amazon Bedrock 提示缓存或Amazon Bedrock 智能提示路由来降低延迟和成本,使用Amazon Bedrock 批量推理处理非实时用例,以及使用预置吞吐量以固定成本获得更高的模型吞吐量。这个开源基准测试解决方案有助于基准测试性能。有关定价信息,请参阅Amazon Bedrock 定价页面。
- 延迟——取决于用例,保持低延迟可能是必要的。生成式AI应用程序需要考虑独特的延迟维度,例如每秒令牌数(TPS)、首次令牌时间(TTFT)和最后令牌时间(TTLT)。
在优化应用程序时,构建者必须记住,在一个维度上的优化可能会在其他维度上产生权衡。质量、成本和延迟密切相关,优化其中一个会影响其他维度。
在规模化运行测试时,您需要一种方法来跟踪实验。一种方法是使用Amazon SageMaker AI 与 MLflow,这是Amazon SageMaker AI的一项全托管功能,它允许您创建、管理、分析和比较您的机器学习(ML)实验。
步骤 3:将生成式AI测试添加到 CI/CD 管道
在确定了用例的最佳模型、提示、推理参数和其他配置后,将这些工件提交到您的应用程序存储库以触发您的 CI/CD 管道。该管道应执行您预定义的评估测试,为您的生成式AI应用程序创建关键的质量门。当测试通过准确性、安全性和性能阈值时,您的管道将部署到预生产环境(p...
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区