GenAIOps实用指南:释放生成式AI的真正潜力 ( 下 )

GenAIOps实用指南:释放生成式AI的真正潜力 ( 下 )

在成功选择并评估离线模型之后,下一阶段就是将 GenAI 应用程序实际化。这不仅仅是构建强大的算法和模型,更重要的是使这些技术变得易于使用且用户友好。这需要后端开发(负责 AI 核心功能)与前端开发(注重用户体验)之间的紧密协作。

可以将这一过程比作造车:

  • 后端是强大的引擎,负责生成文本、图像或其他内容
  • 前端是用户的“仪表盘”和“方向盘”,帮助用户直观地控制并与系统交互

为了确保生成式人工智能解决方案的健壮性,后端需要包括以下关键组件:

  • 护栏与安全措施:护栏作为关键组件充当输入与输出的守护者,过滤潜在的不当行为和恶意内容。

其功能包括:

  • 防止未经授权的访问和数据泄露;阻止数据中毒、模型反转攻击和对抗性攻击;
  • 筛选生成的不适当或有害内容;
  • 通过缓存常见的输出,优化性能并降低成本。

上下文检索:

虽然离线评估依赖预先准备的数据集,但真实世界的 GenAI 应用程序往往需要整合来自数据库、云存储等实时知识源的信息。上下文检索组件使应用程序能够通过 检索增强生成(Retrieval Augmented Generation,RAG) 或代理技术,从而生成准确且上下文相关的响应。

持续监测:

面对不寻常输入时,人工智能模型可能会表现出不可预测的行为。因此,实时监测每次交互至关重要。这包括:

  • 跟踪性能指标(如毒性水平);
  • 识别潜在问题;
  • 确保应用程序的可靠性和可预期性。

反馈与评分机制:

用户的反馈对于模型的持续改进非常宝贵。评分机制可以将用户的反馈转化为新的评估数据(包括提示和示例输出),这些数据会被存储在提示目录的更新版本中以供后续评估。这种机制形成了一个持续改进的闭环,确保应用程序不断发展以满足用户需求和期望。

后端通常运行在需要使用稳健 DevOps 原则开发的容器中,利用 持续集成与持续部署(CI/CD) 流程及代码版本管理存储库来确保系统的稳定性与灵活性。通过自动化的 CI/CD 管道、测试和部署,AI 工程师能够快速迭代,持续提升用户体验。

消费者级 GenAI 应用程序的关键组成部分是 前端,即用户交互的界面。无论是一个用于数据上传与汇总的网站,还是一个进行实时对话的聊天机器人,前端的设计都需要直观且精心打磨。它的目标是让用户无需了解背后的复杂技术,就能轻松利用生成式 AI 模型的强大功能。

良好的用户界面(UI)不仅提高了用户满意度,还能有效区分令人沮丧的体验与真正赋能的体验。与后端不同,前端通常有独立的开发周期与 CI/CD 管道,这使得开发团队能够独立于后端,对应用程序的外观和功能进行快速迭代与更新。

下面是在谷歌Cloud中开发后端和前端所需使用的主要服务的示例。

生成式人工智能(GenAI)取得了令人难以置信的进步,使我们能够与机器进行对话,并以前所未有的方式生成创造性内容。然而,这些强大的模型通常缺乏回答基于数据的问题所需的特定上下文知识。比如,想象一下让你的人工智能助手根据公司2024年的财务记录总结公司的业绩。一个标准的生成模型,虽然在一般知识上经过训练,但它根本无法获得这些特定信息。这时,**检索增强生成(RAG)**发挥了重要作用,它弥合了强大的通用模型和个性化数据之间的差距。

RAG通过提供生成AI所需的相关上下文,增强了生成AI的能力,从而提供真正有用的结果。这个过程包括准备你的数据,这些数据可能存储在云端、数据库,甚至是简单的PDF文件中,并使其能够被AI模型访问。数据准备的第一步是将数据分解成更小、易于管理的块——例如,将一个PDF文件分成单独的段落。接下来,通过嵌入模型对这些块进行处理,将它们转换为数字表示(向量),以捕获其语义信息。这些向量将被存储在矢量数据库中并进行索引,从而创建一个特定于你的数据的可搜索知识库。

当你提出问题时,RAG系统并不仅仅依赖基础模型的一般知识。相反,它首先查询向量数据库,基于与问题语义的相似性检索最相关的信息块。然后,将这些数据块与你的初始查询一同传递给生成模型,为精确且有依据的回答提供必要的上下文。系统还会验证生成的答案是否确实基于检索到的上下文(或通过搜索特定知识库中的引用),从而确保人工智能不会简单地产生虚假信息。这种双层方法结合了大型语言模型的强大功能和目标数据检索的准确性。

数据工程师在离线数据准备过程中发挥着关键作用,确保数据整洁、准确地分块、有效的嵌入表示和高效的索引,以选择合适的向量存储来实现最佳搜索性能。在生产环境中,数据工程师会进行组合测试,选择正确的机制(例如嵌入模型、分块和索引),确保RAG检索部分的高效性能。随后,人工智能工程师专注于在线生成组件,并向数据工程师反馈生成过程中遇到的任何检索挑战。像RAGAS这样的框架可以用来评估检索层和生成层。我们将发布单独的帖子,深入探讨RAG及其操作(RAGOps),为每个生产环节提供更多的细节。

生成式人工智能正在迅速发展,其中最令人兴奋的进展之一便是代理的兴起。可以将代理视为增强型的提示符,具备访问特定工具的能力。代理不仅仅是向大型语言模型(LLM)发送文本提示,而是通过利用外部资源提供更丰富、更具可操作性的结果。这些工具可能包括用于访问相关文档的检索增强生成(RAG)系统、直接连接到像Wikipedia这样的知识库、访问数据库,甚至是简单的计算器。这使得LLM能够超越单纯的文本生成,执行更为复杂的任务。

当部署多个代理时,其真正的功能会逐渐显现,每个代理都专门为特定的业务功能而设计。试想,一个营销团队使用一个专门用于生成目标活动的代理,而采购团队则依赖另一个专注于处理交易优化的代理。管理这种多样化的环境需要强有力的运营策略,这正是AgentOps发挥作用的地方。AgentOps的一个关键组成部分是“路由器代理”的概念。这个代理充当中心枢纽,根据任务的具体要求,将用户请求引导到适合的专门代理。这要求对现有的所有代理及其使用的工具有清晰的了解,通常通过代理目录或工具目录来实现。这些目录作为可重用资产的清单,促进了效率,并避免了组织内部的冗余开发。可以把它看作是你的人工智能代理的工具箱,确保随时有合适的工具可供使用。

为消费者构建一个健壮且可扩展的生成式人工智能应用程序,需深入考虑底层架构的设计。这需要采取结构化的方法,从初期的开发和实验,到严格的测试,最后再到应用程序的部署。一个关键因素是关注点分离,通常通过分配不同团队和环境来实现。

通常,专门的平台团队负责管理基础架构代码,为各类项目提供一致的基础。这使得GenAI开发团队可以专注于核心应用程序的业务逻辑。在开发过程中,后端包括与关键组件的集成,如检索增强生成(RAG)和智能代理,同时数据准备过程会被集成到数据湖项目中,或在数据网格环境下的多个项目中进行处理。开发环境也是进行关键实验和评估的地方,以确保模型按预期运行并产生有价值的输出。除了后端的开发外,前端也被开发出来,用于处理用户交互并有效地呈现生成的内容。

生产流程中包含一个独立的测试和预上线环境,而后端和前端则通过CI/CD管道实现自动化提升。这个专用的空间可以在将应用程序交付给消费者之前进行全面测试。自动化测试对验证功能和捕获潜在问题至关重要。然而,由于GenAI应用程序的特殊性质,人工评估仍然必不可少。在此过程中,测试人员扮演着重要角色,他们通过使用预期的用户界面和专门设计的游乐场UI,与应用程序进行交互,评估生成内容的质量和相关性。这种自动化和人工评估相结合的方式,确保了最终部署时应用程序能够提供健壮且可靠的用户体验。最后,所有相关的存储库、CI/CD管道、GenAI解决方案的评估结果以及元数据都保存在AI治理项目中。在此环境下,产品所有者和审计员对GenAI解决方案进行评估。

GenAI领域正在迅速发展,已经不再仅仅是使用预训练模型。这样的认知正在推动GenAI旅程的转型。虽然大多数用户依然作为消费者,简单地访问和使用现有模型,但越来越多的用户开始突破检索增强生成(RAG)和基于代理的系统的限制。他们认识到现成解决方案的局限性,并寻求对人工智能实现更大的控制权。这促使他们踏上了微调之路——这一过程旨在将预训练模型调整以适应特定的数据集和应用场景。从消费者到微调者的转变,标志着真正发掘GenAI潜力的重要一步。

微调使得组织能够超越常规响应,创造出能够深刻理解其独特数据和术语的模型。这需要采用一种更实际的模型开发方法,包括制作自定义数据集和定义与特定应用相关的评估标准。通过精心设计指令、上下文和期望响应的数据集,并将这些数据输入模型,我们可以定制其输出,以更好地满足我们的特定需求。这种个性化的基础模型(FM)方法,能够提供更高的准确性、改进的相关性,并最终将人工智能无缝集成到业务工作流中。

鉴于这些原因,云服务提供商已将微调功能简化到像上传新数据和调用API来重新训练模型一样容易的程度。类似地,Gemini API也支持指令微调、强化学习微调和蒸馏技术。

以下是微调过程的简要概述:在微调期间,我们将基于不同的数据集或基础模型(FM)重新训练多个模型。然而,我们需要遵循与消费者旅程中相同的过程,并将微调后的模型视为新的模型进行选择和评估。因为我们要创建并投入生产一个全新的模型,所以我们需要一个MLOps平台,以确保模型的性能和健壮性。MLOps平台将托管经过微调的基础模型(FM),这些模型将在GenAI应用层的开发、测试和生产环境中使用。

下图展示了端到端架构的全面视图,涵盖了所有基本层:GenAI应用程序、数据湖/数据网格、MLOps、AI治理以及着陆区中的共享服务项目。

虽然传统的架构提供了全面的控制,但它可能过于复杂,即便是在企业环境中也是如此。更简化的方法通过“模型即服务”(Model-as-a-Service)来公开微调功能,通过API进行访问。这大大简化了体系结构,并消除了对专用MLOps平台的需求,尤其是针对新模型的部署。

这种方法有几个明显的优点:

  • 降低复杂性:通过外包模型管理和微调,你可以将重点放在核心应用程序逻辑上。
  • 更快的部署:API驱动的微调使得新模型能够更快地迭代和部署。
  • 可伸缩性和可靠性:依托服务提供商的基础设施,实现模型服务的可伸缩性和可靠性。
  • 成本效益:减少基础设施和维护成本,从而提高成本效率。

下图展示了这一简化架构的概览:

在这篇文章中,我们探索了GenAIOps的激动人心的世界,揭开了操作生成式AI过程的神秘面纱。我们了解到,GenAIOps是如何建立在MLOps基础上的,并且带来了新的复杂性和机会。从理解GenAI生态系统中的不同角色,到应对不断变化的“Ops”领域,我们为你提供了踏上自己GenAI之旅所需的知识。

无论你是一个仅使用预训练模型的消费者,还是已经开始根据特定需求调整模型的早期微调者,GenAIOps都为你提供了成功的框架。通过采纳快速工程方法、掌握RAG,并构建健壮且可扩展的系统,你可以释放生成式AI的真正潜力。

这段旅程可能充满挑战,但回报是巨大的。随着生成式人工智能持续变革各行各业,GenAIOps将成为将创新想法转化为实际影响的关键。因此,拥抱GenAIOps的力量,今天就开始你的生成式人工智能之旅吧。

本文较长,分为三部分发布,此为下篇。

感谢阅读!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Dr Sokratis Kartakis
翻译作者:过儿
美工编辑:过儿
校对审稿:Jason
原文链接:https://medium.com/@sokratis.kartakis/genaiops-operationalize-generative-ai-a-practical-guide-d5bedaa59d78