📢 转载信息
原文作者: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解决方案。
随着他们在采用历程中不断前进,企业会扩展其现有的DevOps工作流以实现GenAIOps。以下各节将介绍使用Amazon Bedrock功能按阶段划分的GenAIOps实施模式。通过对模型的按需访问、预训练的管理基础设施以及内置的安全功能,Amazon Bedrock能够快速部署生成式AI,同时帮助维护企业合规性。
探索阶段
在探索阶段,组织通常依赖于由早期AI采用者组成的小型跨职能“猛虎小组”,他们身兼数职。数据科学家可能兼任提示工程师,开发人员负责自己的模型评估,合规性审查通过与法律团队进行的临时会议来完成。治理流程在很大程度上仍是手动和非正式的,产品所有者直接与技术团队合作建立成功指标,而平台工程师则专注于基本的环境设置,而不是复杂的CI/CD自动化。
DevOps 基础
在将生成式AI功能集成到您的应用程序和工作流之前,我们需要一个支持您解决方案的基线DevOps架构。如以下图表所示,您有一个共享账户来管理CI/CD流水线并控制跨开发、预生产和生产账户的部署。您还拥有用于开发、预生产、数据治理和数据生产者的单独AWS账户,以实现环境隔离、安全控制和按环境进行成本跟踪。此设置中的每个资源都定义为代码,这意味着您可以像部署应用程序代码一样无缝地对整个基础设施进行版本控制、测试和部署。
图 3:DevOps 基线架构
了解了DevOps基础知识后,我们将向您展示如何使用Amazon Bedrock功能增强它,并开始构建GenAIOps基础,共分为四个关键步骤。
步骤 1:管理生成式AI应用的数据
数据在生成式AI中起着三个关键作用:为RAG系统提供动力以增强上下文响应,为模型评估和验证提供事实依据(ground truth),以及通过提供训练数据来支持AI模型的初始训练和后续微调。在大多数情况下,需要访问控制来防止未经授权的访问。在RAG中,数据用于通过提供来自数据源的相关上下文信息来改进LLM响应并使其基于事实。在标准的RAG工作流中,您需要:
- 通过查询从知识库中检索相关内容。
- 通过用检索到的上下文信息丰富提示来增强提示。
- 将包含原始输入和上下文的增强提示传递给LLM,以生成最终响应。
当使用Amazon Bedrock时,您可以查询向量数据库,例如Amazon OpenSearch Service,或通过API查询从数据存储中获取数据,以在查询发送到FM之前增强用户查询。如果您有实时数据源,则需要实施连接器以启用数据同步和与各种数据源的集成,以帮助维护数据完整性和新鲜度。您还需要配置护栏,以便正确阻止或屏蔽不应发送给模型或成为输出一部分的数据(例如个人身份信息 (PII))。
您还可以使用Amazon Bedrock Knowledge Bases,这是一项全托管功能,可帮助您在无需构建到数据源的自定义集成和管理数据流的情况下,实施整个RAG工作流。
您的数据在评估中提供了事实来源。在应用程序开发开始之前,生成式AI开发人员应建立一个综合的黄金数据集,该数据集源自真实交互或领域专家输入。一个强大的评估数据集应根据您的评估策略,由准确反映真实使用场景并提供预期生产查询的全面覆盖的提示或提示-响应对组成。数据工程师使该数据集在开发环境中可用,并进行必要的修改以处理敏感数据。然后,提示输出,或带有预期答案的提示输出,可以被人工评估者或LLM-作为裁判评估者(例如Amazon Bedrock上的LLM-as-a-judge模型评估)用于评估应用程序响应的质量。
模型提供商使用大量数据集来开发基础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作为裁判)并设置人机循环评估工作流,来评估、比较和选择最适合您用例的FM。您还可以引入自己的(BYO)推理响应,并评估模型、RAG实现和完全构建的应用程序。
下图总结了该方法,您将使用AWS Lambda函数读取推理提示-响应对,将它们路由到Amazon Bedrock Evaluations,并将结果存储在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应用程序中,有独特的延迟维度需要考虑,例如每秒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+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区