扩展PayPal的AI能力:PayPal Cosmos.AI平台
作者:Jun Yang, Zhenyin Yang, Srinivasan Manoharan | 基于PayPal Cosmos.AI平台团队过去三年的AI/ML现代化历程
AI是一项变革性技术,PayPal作为一家公司已经投资了十多年。在整个企业范围内,我们负责任地利用AI/ML来解决广泛的用例——从欺诈检测、提高运营效率、为客户提供个性化服务和优惠,到满足监管义务等等。
为了通过技术加速PayPal的创新并为客户提供巨大价值,我们致力于将人工智能的创新力量交到更多不同学科的员工手中,并加速构建和部署由AI/ML驱动的应用程序的上市时间,服务于我们的客户并符合我们的负责任AI原则。下面的博客详细介绍了帮助我们实现这一目标的关键内部平台:PayPal Cosmos.AI平台。
AI/ML平台:企业级方法
多年来,PayPal开发了许多工程系统和工具来促进这一实践,单独满足出现的各种需求和要求。几年前,当我们开始在所有核心业务领域扩展AI/ML时,越来越明显的是,流行的拥有定制工具集合的方法(通常在自己的孤岛中构建和操作)无法满足整个企业大规模采用AI/ML的需求。
PayPal Cosmos.AI平台大约在2020年构想,旨在通过现代化和扩展AI/ML开发、部署和操作,提供跨企业的端到端机器学习开发生命周期(MLDLC)需求,具有简化的端到端机器学习操作(MLOps)功能和体验,使通过AI/ML解决方案实现业务更快、更容易、更具成本效益。
自2022年中期正式发布以来,Cosmos.AI已逐渐被公司各业务领域采用,并成为企业事实上的AI/ML平台。每天,成千上万的数据科学家、分析师和开发人员使用Cosmos.AI Workbench(Notebooks)和其他研究环境来开发机器学习和其他数据科学解决方案。在生产中,数百个部署的ML模型每天服务于数百亿的推理请求(实时和批量,本地和云端),支持公司内广泛的业务需求。
在本博客中,我们提供了PayPal Cosmos.AI平台的全面视图,首先回顾其构想时做出的明智决策及其背后的理由,然后概述其高层架构,并通过端到端MLOps的视角更详细地分解其主要组件及其各自的功能。然后,我们展示如何在平台上启用生成式AI(Gen AI)应用程序开发,最后以平台上的未来工作结束博客。
指导原则
当我们最初构思公司级AI/ML平台可能是什么样子时,我们花时间基于多年MLDLC实践获得的实际经验建立了一套指导原则。这些原则至今仍然坚定不移。
负责任AI
PayPal始终致力于以负责任的方式使用AI技术,符合法律和监管要求及指南以及我们的整体风险管理框架。我们使用AI的方法由我们的五个核心负责任AI原则和我们的负责任AI指导委员会指导,该委员会由跨职能代表组成,监督AI开发、部署、治理和监控。
PayPal Cosmos.AI以多种方式反映了我们对负责任AI的承诺,包括通过数据治理流程和训练数据管理最小化继承的不良偏见,通过可解释AI增强可解释性,通过模拟确保可重复性,并在必要时进行人在环审查。
在一个统一平台上简化的端到端MLDLC
平台作为覆盖整个MLDLC的一站式商店的概念由AWS SageMaker首创,后来被所有主要公共云提供商(如Azure Machine Learning和GCP Vertex AI)采用。我们相信,与由临时需求驱动独立创建工具的“定制工具”方法相比,这种方法固有地提供了一致、连贯和连接的功能和用户体验的优势。后者可能导致重叠或重复功能的激增,导致令人沮丧的混乱用户体验和高维护成本。
Cosmos.AI旨在提供简化的用户体验,支持MLDLC的所有阶段,包括数据整理、特征工程、训练数据管理、模型训练、调优和评估、模型测试和CICD、模型部署和服务、可解释性和漂移检测、模型与领域产品的集成,以及其他横切MLOps关注点,如系统和分析日志记录、监控和警报、工作流自动化、安全和治理、工作空间和资源管理,全部在一个统一的平台上,为PayPal的MLDLC特定上下文和场景量身定制。
具有抽象和可扩展性的最佳品种
AI/ML行业发展极快,新技术几乎每天出现,量子飞跃时常发生(想想ChatGPT的首次亮相)。我们如何确保我们构建的平台能够与行业保持同步?
在Cosmos.AI上,我们将平台功能与其实际实现解耦。例如,分布式训练作为一种功能,可以使用在本地Spark集群上内部构建的框架实现,也可以利用GCP的Vertex AI自定义训练作业实现。这种具有抽象的最佳品种方法使我们能够独立发展平台的组件,以在MLDLC的每个阶段利用最优的技术或解决方案,无论是内部构建、开源采用还是供应商提供。在平台的主要组件之间也创建了抽象,例如,模型仓库API确保模型仓库与其上游过程(模型开发)和下游过程(模型部署)的兼容性,无论我们为该组件选择何种底层技术解决方案(例如MLFlow)。
这种方法使平台具有更大的可扩展性。如后文所示,我们能够在Cosmos.AI之上相当快速地构建一个Gen AI横向平台,通过扩展MLDLC几个阶段的功能来满足大型语言模型(LLM)的需求,包括LLM微调、适配器托管、LLM部署等和其他LLMOps功能。
此外,这种方法还减轻了潜在的供应商和/或技术锁定,考虑到技术格局和公司政策的不断变化,使平台更具未来性。
从零开始的多租户
多租户对于像Cosmos.AI这样的企业平台至关重要。它在不同的Scrum/工作团队之间创建了必要的边界,以便他们对自己拥有的项目或用例拥有最大的自主权,而不会被他们不需要的信息过载,正如我们在上一代工具中观察到的那样。它还实现了细粒度访问控制和权限管理的防护栏,因此团队可以安全地按照自己的节奏工作,而不会相互干扰,并保持数据保护。
多租户是自助服务的前提条件,自助服务是PayPal Cosmos.AI平台拥抱的另一个关键原则,如下所述。
具有治理的自助服务
我们观察到,当涉及到将数据科学家开发的ML解决方案投入生产时,通常需要专门的工程支持来处理生命周期的操作方面。这对在整个企业范围内扩展AI/ML构成了约束。
我们坚信,自助服务的能力是PayPal Cosmos.AI作为企业AI/ML平台成功的关键,我们在整个平台中坚持这一原则,从其基础构造到用户体验,正如我们将在后面章节中讨论的那样。
与企业生态系统的无缝集成
在这一点上,人们可能会问为什么我们选择构建Cosmos.AI平台而不是直接采用供应商解决方案,如SageMaker或Vertex AI。一方面,正如我们通过评估认识到的,一刀切的解决方案没有,而且很可能不会满足大型企业中广泛用例的所有功能需求——其中一些是高度专有和先进的,而定制只能到此为止。此外,对外部供应商的新功能或增强请求是高度不可预测的。
但更根本的挑战是该平台必须与公司的生态系统和政策无缝集成,如数据安全、数据治理和PayPal等金融科技公司的其他监管合规性。从工程角度来看,该平台需要成为现有公司范围生态系统和基础设施的组成部分,如集中式身份验证和授权及凭证管理、基于角色的权限管理、数据中心操作、变更流程、集中日志记录、监控和警报等。
多云和混合云支持
PayPal包含众多业务领域和相邻领域,每个领域可能需要在不同环境中部署应用程序和系统。认识到这种复杂的格局,Cosmos.AI被设计为既支持多云又支持混合云,确保在这些不同环境中提供强大的支持。
当我们在Cosmos.AI上生产客户用例时,有许多因素需要考虑,包括:
- 数据亲和性:客户解决方案需要尽可能靠近其数据源部署,以避免数据移动和安全风险。
- 应用亲和性:客户应用程序依赖关系,下游和上游,本地或云端。
- SLA:满足延迟、吞吐量、可用性、灾难恢复(DR)等要求。
- 成本:在正确的环境中部署不同性质的工作负载以实现最佳成本效益。例如,需要重复开关、试错尝试的研究工作负载可能在本地更经济地完成,而生产化的工作负载可以更有效地利用云提供的可扩展性和弹性。
Cosmos.AI在各种环境上提供的覆盖范围使我们能够在这些因素之间取得适当平衡的情况下生产客户用例。
基础
我们在PayPal Cosmos.AI内开发了各种对平台至关重要的构造和框架。利用这些基础元素,我们成功构建了Cosmos.AI平台,符合设定的指导原则。
基于项目的体验
Cosmos.AI平台中的一个基本构造是AI项目。它作为实现多租户、访问控制、资源管理、成本跟踪和简化端到端MLDLC流程的基石。
从用户界面和用户体验(UIUX)的角度来看,它使用户能够在他们的专用工作空间中操作,具有与PayPal的IAM系统无缝集成的基于角色的访问控制。在每个AI项目下,资源被隔离管理,包括存储、计算和数据。在MLDLC旅程中导入和生成的工件,如训练数据集、实验、模型、端点、部署、监控等,都包含在它们各自的AI项目中。这种设计促进了真正的多租户并促进了自助服务。项目所有者和成员可以在他们的项目中独立工作,包括部署,而不必担心干扰他人(受Cosmos.AI内预定义的平台级治理约束)。这种方法增强了ML解决方案开发的可扩展性,同时缩短了上市时间。
动态资源分配和管理
我们构建了一个框架,能够为模型部署和服务在Cosmos.AI上动态分配和管理计算资源。其核心是一个复杂的Kubernetes CRD(自定义资源定义)和Operator,它创建模型部署(包括后面讨论的高级部署),并管理Pod和模型服务的编排、扩展、网络、跟踪和日志记录。这是Cosmos.AI平台上的关键能力,实现了自助服务MLOps,以轻松生产ML解决方案。结合多租户和治理,这允许领域团队按照自己的节奏开发、实验并将其ML解决方案投入生产,全部在他们分配的资源配额和平台设定的适当治理政策内。这种范式提供了大规模的MLDLC,并大大缩短了他们的上市时间(TTM)。
带有管道的工作流自动化
工作流自动化是Cosmos.AI平台的另一个基础框架。它由几个部分组成:一个用户体验,允许用户使用平台提供的构建块组合管道,如数据访问、处理和移动、训练、推理,或从容器Artifactory加载的任何自定义逻辑。生成的管道可以被调度,或由另一个系统触发——例如,监控系统检测到模型漂移可以自动触发模型刷新管道——训练数据生成、模型训练、评估和部署。
通过UI、API和SDK的用户体验
Cosmos.AI为跨整个ML专业知识的客户创建了用户体验,主要通过两个渠道暴露:Cosmos.AI Hub,一个基于Web的应用程序,具有直观、交互式和连贯的UI,引导不同级别的用户经历MLDLC的所有阶段,利用先进技术,如拖放视觉组合器用于管道和推理图。对于更喜欢以编程方式访问平台的高级用户,他们可以选择在Cosmos.AI Workbench上工作,这是一个构建在Jupyter Notebook之上的自定义用户体验,除了UI外,还通过Cosmos.AI API和SDK访问平台功能。Cosmos.AI Hub和Workbench在提供用户体验方面发挥着关键作用,实现了简化的、端到端的MLDLC与自助服务。
架构
下图提供了PayPal Cosmos.AI平台架构的高层分层视图。
MLOps焦点
PayPal Cosmos.AI的构建强烈关注MLOps,特别是在模型开发、部署、服务以及与业务流的集成上。在本节中,我们深入探讨Cosmos.AI中关键组件的下一级细节,这些细节使其从MLOps的角度脱颖而出。
模型开发:训练数据集管理、训练和调优
对于任何模型开发生命周期,数据集管理是生命周期的关键部分。PayPal Cosmos.AI支持训练数据集的准备,与特征存储集成,并在与训练框架和实验跟踪无缝集成的同时,管理这些数据集以及健全性检查和关键指标。除了训练数据集,它还帮助管理并保持记录系统,用于其他对高级功能(如解释器、评估、漂移检测和批量推理案例)至关重要的数据集。
Cosmos.AI提供了非常丰富的开源和专有模型训练框架,如TensorFlow、PyTorch、Hugging Face、DGL等,支持许多深度学习算法和图训练算法。它还提供了一种非常容易的方式,在本地或以分布式方式运行这些大规模训练作业,用例数据集规模达2亿样本和1,500个特征,以各种模式如map reduce、Spark和Kubernetes,从数据科学家那里抽象出底层基础设施和复杂性,并帮助他们仅通过配置更改轻松切换。它还提供了常用高级深度学习模块的各种模板,如逻辑回归、DNN、Wide & Deep、Deep FM、DCN、PNN、NFM、AFM、xDeepFM,网络和训练算法支持各种欺诈、个性化、推荐和NLP用例。Cosmos.AI还提供了与云提供商产品无缝集成,以轻松和高安全标准进行模型训练。
模型仓库:实验和模型注册表
Cosmos.AI提供了一个先进且全面的框架,用于捕获模型训练过程的所有方面,强调可重复性、可追溯性,以及训练和评估数据集与模型的细致链接。这包括训练代码、超参数和配置细节的包含,以及所有模型性能指标的彻底记录。该平台通过允许数据科学家与团队成员分享他们的实验,使其他人能够重复相同的实验,从而促进了数据科学家之间的无缝协作。
除了强大的实验跟踪,模型仓库是平台内的一个关键组件。它容纳模型的物理工件并包含推理所需的基本元数据。关键的是,每个模型都与其相应的实验错综复杂地链接,确保整个机器学习生命周期中所有关键实体的全面谱系。
模型部署
Cosmos.AI支持几种模型部署方法,以适应PayPal的混合云环境。然而,我们的讨论仅限于基于Kubernetes的主流方法,期望其他方法在不久的将来逐渐淘汰并收敛到这种主流方法。
模型部署组件的核心是Kubernetes上自定义构建的Deployment CRD(自定义资源定义)和Deployment Operator。它们一起工作,从底层基础设施分配资源,如CPU、GPU、内存、存储、入口等,并创建一个基于DAG(有向无环图)的部署,具有模型、前/后处理器、记录器和跟踪器,或任何容器化的自定义逻辑(例如,如后文讨论的Gen AI组件)之间的编排,基于Cosmos.AI通过部署工作流从用户输入生成的部署规范。
这是Cosmos.AI平台上极其强大的能力,实现了简单和高级的模型部署方案,如推理图、金丝雀、影子、A/B测试、MAB测试等。它是自助服务的关键推动者,因为从技术上讲,用户只需从模型仓库中选择一个或多个注册模型,指定几个参数,并通过几次点击就可以运行模型端点准备服务推理请求——全部通过一个引导的、基于UI的流程由她自己完成。
然而,在现实中,有必要在过程中构建治理和安全措施。例如,我们与公司范围的变更流程集成,以便每个操作都是可跟踪的,并与操作指挥中心集成以观察站点范围的事件,如暂停期。
模型推理
Cosmos.AI上的模型推理能力分为两类:批量和实时。
Cosmos.AI在两种基础设施风格上提供批量推理:Spark原生和Kubernetes,在本地和云环境中都可用。这些解决方案高度可扩展且成本高效,使它们广泛用于离线模型评分生成、特征工程、模型模拟和评估等用例。通常,这些过程作为工作流中的步骤集成,由工作流管理服务(如Cosmos.AI管道)管理。
Cosmos.AI上的实时推理通过各种技术栈实现,支持公司中所有模型方面的组合:Java和Python运行时;PayPal专有和行业标准;传统ML、深度学习和LLM。在我们主流的基于Kubernetes的平台上,我们支持基于DAG的复杂模型推理、GPU优化(如GPU碎片整理)和用于LLM服务的多GPU、自适应/预测性批处理和其他高级模型服务技术。
模型集成:规则生命周期、领域产品集成
在PayPal,模型评分很少被孤立使用来做出决策和驱动业务流。相反,一个策略层,通常由规则组成——对于特定流通常有数百条——被置于顶部。该层在运行时综合其他成分,结合额外的上下文或因素,并应用领域认为必要的业务规则。
Cosmos.AI构建了一个完整的决策平台来支持这一需求。其运行时的核心是一个内部构建的轻量级规则引擎,能够基于领域特定语言(DSL)执行规则,端到端依赖关系表示为DAG。用户定义函数(UDF)作为平台提供的、构建一次使用多次的能力,可以在执行流的任何地方调用。在设计时,一个带有拖放的交互式UI用于开发人员以自助服务和最小编码编写规则。此外,与上游领域产品的集成通过基于UI的用例上线和API模式规范工作流促进。整个规则生命周期和用例管理,包括编写、测试、回归、部署和监控,都通过平台支持。
可解释性和漂移检测
Cosmos.AI上的可解释性主要通过黑盒模型支持。根据模型的类型、框架和输入数据格式,利用各种算法,例如Tree SHAP、Integrated Gradients、Kernel SHAP、Anchors等,为预测提供特定于实例的解释。我们还将可解释性构建到我们的端到端用户体验中,用户可以在通过单个部署工作流一起部署它们之前,训练解释器或代理模型以及主模型。
模型漂移检测在Cosmos.AI上也通过监控和警报模型指标(如人口稳定性指数(PSI)和KL散度)支持。与平台上的自动化模型重新训练管道集成,漂移检测被用作警报和触发机制,以防止生产中的模型概念漂移。
Gen AI启用
自从生成式AI(Gen AI)随着2022年末ChatGPT的突破性首次亮相而风靡全球以来,我们很早就拥抱了这项变革性技术,通过探索、评估和引入各种Gen AI技术,特别是那些围绕大型语言模型(LLM)的技术,预期一波新的广泛Gen AI采用可能重塑整个公司和行业中客户体验和应用程序的每个方面。
由于我们在平台上拥有的坚实基础及其卓越的可扩展性,我们能够在几个月内在PayPal Cosmos.AI上开发一个Gen AI横向平台,允许PayPal充分利用这项技术,并在整个公司快速扩展Gen AI应用程序开发,同时通过最小化不同团队之间在Gen AI采用上的重复努力来降低成本。
以下是我们建立在Cosmos.AI平台上的Gen AI能力概述:
- 我们增强了我们的训练平台,允许用户通过自定义Notebook内核微调开源LLM,集成了PEFT框架,如LoRA/QLoRA,并启用了通过API微调供应商托管的LLM,并实施了数据丢失预防(DLP)等安全措施。
- 我们扩展了我们的模型仓库,以轻松从公共模型园(如Hugging Face)引入开源LLM,过程中进行法律和许可检查。我们还扩展了模型仓库以托管LLM适配器作为微调过程的输出,可与其耦合的基础模型一起部署。
- LLMOps的需求通过扩展Cosmos.AI上现有的MLOps能力得到了很好的满足,包括跨多个GPU卡部署高参数大小LLM的能力;利用尖端框架和解决方案进行LLM优化(包括量化)以实现更好的资源利用和更高吞吐量;为多步骤、类似聊天机器人的应用程序优化的流式推理;日志记录/监控以包括更多上下文,如特定于LLM服务的提示。通过Cosmos.AI上的AI项目,开箱即用地支持成本和使用量展示用于预算目的。
当然,我们还开发了一套新的能力和基础设施组件,以在我们的平台上启用Gen AI作为一项变革性技术,包括:
- 采用了一个来自领先开源解决方案的专门构建的向量数据库,作为嵌入和基于语义的计算的基础。
- 一个检索增强生成(RAG)框架,利用向量数据库(用于索引和检索)和Cosmos.AI管道(用于上下文和知识摄取),实现了整个企业范围内的一类聊天机器人和知识机器人用例。
- 用于LLM推理的语义缓存,也构建在向量数据库之上,以削减供应商和自托管LLM端点的运营成本,同时减少推理延迟。
- 一个提示管理框架,以促进我们用户的提示工程需求,包括模板管理、提示和评估。
- 平台编排框架:Gen AI的出现引入了对组件和工作流之间复杂编排的独特需求。例如,为了启用上下文学习并最小化幻觉,LLM推理流可能涉及提示管理、嵌入生成、上下文/知识检索、基于相似性的搜索、语义缓存等。行业提出了一些流行的框架,如LangChain、LlamaIndex,旨在简化此类工作流,而Cosmos.AI构建了一个编排框架,具有内部开发的能力和开源包,作为平台能力。
- LLM评估支持主要的行业基准测试工具和指标,以及启用自定义PayPal内部数据集用于领域/用例特定评估。
- Gen AI应用程序托管以在Cosmos.AI平台上引导客户端应用程序。
利用Gen AI横向平台作为基础,我们启用了一个内部代理生态系统,专门用于代码、内部知识、模型文档创建和其他MLDLC任务,使用多代理和编排框架。这使我们能够通过提供Cosmos平台上Gen AI驱动的体验,提高数据科学家和ML工程师的生产力和效率。
Cosmos.AI上Gen AI横向平台的架构概述如下所示:
未来工作
随着我们在三年前开始的PayPal AI/ML现代化旅程中进一步前进,我们目前正在设想三年后的未来格局。以下是一些初步考虑。
- 从一个AI/ML平台发展成为一个为企业使用量身定制的扩展生态系统,包括数据集、特征、模型、规则、代理和API作为核心竞争力。
- 从自助服务/手动流程过渡到SDLC/MDLC/前台/后台操作中的自主工作流,结合自动化并利用由生成式AI驱动的多代理框架。
- 进一步深入AI领域,并纳入数据来源、谱系、可解释性、反馈循环、RLHF等元素,超越AI/ML的界限,走向AGI。