Press "Enter" to skip to content

扩展规模下的机器学习生命周期管理,第一部分:使用Amazon SageMaker设计机器学习工作负载的框架

各行各业的客户都通过将机器学习(ML)融入其产品和服务中来进行创新,最近生成式AI模型的发展进一步加快了各行业对ML采用的需求。然而,在大规模实施ML工作负载时,实施安全、数据隐私和治理控制仍然是客户面临的关键挑战。解决这些挑战建立了缓解风险和负责任地使用ML驱动产品的框架和基础。虽然生成式AI可能需要额外的控制措施,例如去除有毒性并防止越狱和幻觉,但它与传统ML共享安全和治理的基础组件。

我们从客户那里得知,构建其定制化的Amazon SageMaker ML平台实施以确保其业务线或ML团队具有可扩展、可靠、安全和治理的ML环境通常需要12个月的专业知识和投资。如果您缺乏一个在大规模上对ML生命周期进行治理的框架,可能会面临诸如团队级资源隔离、扩展实验资源、运营化ML工作流程、扩展模型治理以及管理ML工作负载的安全性和合规性等挑战。

在大规模上治理ML生命周期是一个框架,它可以帮助您基于行业最佳实践和企业标准构建一个具有嵌入式安全和治理控制的ML平台。该框架通过模块化框架方法提供规范性指导,扩展了AWS Control Tower的多账户AWS环境和本文中讨论的”在AWS上设置安全、良好治理的机器学习环境”的方法。

它为以下ML平台功能提供了规范性指导:

  • 多账户、安全性和网络基础 – 该功能使用AWS Control Tower和”良好构筑原则”来设置和操作多账户环境、安全性和网络服务。
  • 数据与治理基础 – 该功能使用”数据网格架构”来设置和操作数据湖、中央特征存储以及数据治理基础,以实现细粒度的数据访问。
  • ML平台共享和治理服务 – 该功能使得设置和操作常见服务变得容易,如CI/CD、AWS Service Catalog用于提供环境,以及集中的模型注册表以进行模型推广和血统追踪。
  • ML团队环境 – 该功能使得为ML团队设置和操作模型开发、测试和部署环境以嵌入安全和治理控制变得容易。
  • ML平台可观察性 – 该功能通过集中日志和提供日志分析可视化工具来帮助故障排除并确定ML模型中的问题根本原因。它还提供生成ML用例的成本和使用报告的指导。

尽管这个框架对所有客户都有好处,但它对大型、成熟、受监管或全球企业客户的效益最大,这些客户希望在整个组织范围内以受控、合规和协调的方式扩展其ML战略。它有助于促进ML采用并缓解风险。以下客户可以受益于此框架:

  • 拥有许多业务线或部门有兴趣使用ML的大型企业客户。这个框架允许不同团队独立构建和部署ML模型,同时提供中央治理。
  • 成熟程度较高的ML企业客户。他们已经部署了一些初始的ML模型,并希望扩展其ML努力。该框架可以帮助加速整个组织范围内的ML采用。这些公司还意识到管理访问控制、数据使用、模型性能和不公平偏见等方面的需求。
  • 金融服务、医疗保健、化学和私营部门等受监管行业的公司。这些公司需要对其业务流程中使用的任何ML模型进行强有力的治理和可审计性。采用此框架可以帮助促进合规性,同时仍允许进行本地模型开发。
  • 需要平衡集中和本地控制的全球组织。该框架的联邦方法允许中央平台工程团队制定一些高级政策和标准,但也给予业务线团队根据本地需求进行灵活调整的机会。

在本系列的第一部分中,我们将介绍建立ML平台的参考架构。在以后的文章中,我们将为您的组织提供有关如何实施参考架构中的各个模块的规范性指导。

ML平台的功能分为四个类别,如下图所示。这些功能构成了后面在本文中讨论的参考架构的基础:

  • 构建ML基础
  • 扩展ML操作
  • 可观测的ML
  • 安全的ML

扩展规模下的机器学习生命周期管理,第一部分:使用Amazon SageMaker设计机器学习工作负载的框架 四海 第1张

解决方案概述

在规模化的ML生命周期治理框架中,组织可以将安全性和治理控制嵌入ML生命周期,从而帮助组织降低风险,加速将ML注入产品和服务中。该框架有助于优化安全、可扩展和可靠的ML环境的设置和治理,以支持越来越多的模型和项目。该框架具备以下功能:

  • 使用符合组织政策的基础设施资源进行账号和基础设施供应
  • 为ML用例提供数据科学环境和端到端ML操作(MLOps)模板的自助式部署
  • 为安全和隐私合规提供LOB级别或团队级别的资源隔离
  • 为实验和生产就绪的工作流提供受管访问的生产级数据
  • 管理和治理代码存储库、代码流水线、部署的模型和数据特征
  • 用于改进治理的模型注册表和特征存储(本地和中央组件)
  • 用于端到端模型开发和部署流程的安全性和治理控制

在本节中,我们提供了一份预设指南的概述,以帮助您在AWS上构建带有嵌入式安全性和治理控制的ML平台。

与ML平台相关的功能架构如下图所示。该架构将ML平台的不同能力映射到AWS账号上。

扩展规模下的机器学习生命周期管理,第一部分:使用Amazon SageMaker设计机器学习工作负载的框架 四海 第2张

使用多个AWS服务实现具有不同能力的功能架构,包括AWS组织、SageMaker、AWS DevOps服务和数据湖。下图展示了ML平台使用各种AWS服务的参考架构。

扩展规模下的机器学习生命周期管理,第一部分:使用Amazon SageMaker设计机器学习工作负载的框架 四海 第3张

该框架考虑了多个角色和服务,以规模化治理ML生命周期。我们建议按以下步骤组织您的团队和服务:

  1. 使用AWS Control Tower和自动化工具,您的云管理员设置多账号基础设施,如组织和AWS IAM Identity Center(AWS Single Sign-On的继任者)以及安全性和治理服务,如AWS密钥管理服务(AWS KMS)和服务目录。此外,管理员还设置了各种组织单元(OUs)和初始账号来支持您的ML和分析工作流程。
  2. 数据湖管理员设置数据湖和数据目录,并与ML平台管理员一起设置中央特征存储。
  3. ML平台管理员提供ML共享服务,如AWS CodeCommitAWS CodePipelineAmazon Elastic Container Registry(Amazon ECR)、中央模型注册表、SageMaker模型卡片SageMaker模型仪表板和服务目录产品,为ML团队提供服务。
  4. ML团队负责人通过IAM Identity Center进行联合,并使用服务目录产品,在ML团队的开发环境中配置资源。
  5. 来自不同业务部门的数据科学家联合进入其团队的开发环境,建立模型流水线。
  6. 数据科学家通过实验搜索和提取来自中央特征存储目录的特征,通过实验构建模型,并选择最佳模型进行推广。
  7. 数据科学家创建并共享中央特征存储目录中的新特征,以供复用。
  8. ML工程师使用共享服务CI/CD流程将模型流水线部署到ML团队的测试环境。
  9. 经过利益相关方验证后,ML模型部署到团队的生产环境。
  10. 安全性和治理控制在此架构的每个层面中都嵌入了服务,如AWS安全中心Amazon GuardDutyAmazon Macie等。
  11. 安全控制从安全工具账号中进行集中管理,使用安全中心。
  12. ML平台治理能力,如SageMaker模型卡片和SageMaker模型仪表板从治理服务账号进行集中管理。
  13. 来自每个成员账号的Amazon CloudWatchAWS CloudTrail日志通过AWS原生服务在可观测性账号中实现集中访问。

接下来,我们深入研究该框架的参考架构模块。

参考架构模块

参考架构包括八个模块,每个模块都设计用于解决特定的问题集。这些模块共同解决了各个维度上的治理问题,如基础设施、数据、模型和成本等。每个模块提供一套独特的功能,并与其他模块互操作,以提供一个集成的端到端机器学习平台,具有内嵌的安全性和治理控制。在本节中,我们简要介绍每个模块的能力。

多账户基础

该模块帮助云管理员构建一个AWS Control Tower 登陆区作为一个基础框架。这包括构建一个多账户结构,通过 IAM 身份中心进行身份验证和授权,使用网络枢纽和分支设计,集中日志服务,以及具有标准化安全性和治理基线的新的 AWS 成员账户。

此外,该模块提供了关于 OU 和账户结构的最佳实践指导,这些结构适合支持您的机器学习和分析工作流程。云管理员将了解所需账户和 OU 的目的,如何部署它们以及应该使用哪些关键安全性和合规性服务来集中管理其机器学习和分析工作负载。

还将介绍一个涉及新账户发放的框架,该框架在账户被配置时使用自动化进行基线设置。通过建立自动化的账户发放流程,云管理员能够更快地为机器学习和分析团队提供所需的账户,而不会在治理基础上做出妥协。

数据湖基础

该模块帮助数据湖管理员设置一个数据湖,用于导入数据、整理数据集,并使用AWS Lake Formation治理模型,在账户和用户之间使用集中化的数据目录、数据访问策略和基于标签的访问控制管理细粒度的数据访问。您可以从一个账户为数据平台基础概念验证或一些小的工作负载开始。对于从 VoAGI 到大规模生产工作负载的实现,我们建议采用多账户策略。在这种设置中,LOB(业务线)可以充当数据生产者和数据消费者的角色,使用不同的 AWS 账户,而数据湖治理是从一个中央共享的 AWS 账户进行的。数据生产者收集、处理和存储其数据领域中的数据,并监控和确保其数据资产的质量。数据消费者使用 Lake Formation 从数据生产者账户中共享的数据进行消费。集中化的目录存储和管理数据生产者账户的共享数据目录。

机器学习平台服务

该模块帮助机器学习平台工程团队设置被数据科学团队在其团队账户上使用的共享服务。这些服务包括带有SageMaker 领域部署的服务目录产品、SageMaker 领域用户配置文件部署的服务目录产品,以及用于模型构建和部署的数据科学模型模板。该模块具有用于集中式模型注册、模型卡、模型仪表板以及编排和自动化模型开发和部署工作流程的 CI/CD 管道的功能。

此外,该模块详细介绍了如何实施所需的控制和治理,以实现基于角色的自助服务能力,使得数据科学团队能够独立部署所需的云基础设施和机器学习模板。

机器学习用例开发

该模块帮助业务部门和数据科学家在开发环境中访问其团队的 SageMaker 领域,并实例化模型构建模板以开发他们的模型。在该模块中,数据科学家使用模板的开发环境实例来与集中化数据湖中的数据进行交互,重复使用和共享来自中央特征存储的特征,创建和运行机器学习实验,构建并测试机器学习工作流程,并将其模型注册到开发环境的模型注册表中。

模板还实现了实验追踪、模型可解释性报告、数据和模型偏差监控以及模型注册等功能,从而实现对数据科学家开发的模型的快速适应。

机器学习运营

该模块帮助业务部门和机器学习工程师在模型部署模板的开发环境中工作。候选模型注册和批准后,他们在团队的测试环境中设置 CI/CD 管道并运行机器学习工作流程,将模型注册到运行在平台共享服务账户中的中央模型注册表中。当中央模型注册表中的模型得到批准时,将触发 CI/CD 管道将模型部署到团队的生产环境中。

集中的特征存储

在第一个模型部署到生产中,多个用例开始共享来自相同数据的特征时,特征存储变得必不可少,以确保用例之间的协作,并减少重复工作。这个模块帮助机器学习平台工程团队建立一个集中的特征存储,为机器学习用例创建的特征提供存储和治理,实现项目间特征复用。

日志和可观察性

该模块帮助业务线(LOBs)和机器学习从业人员通过将云跟踪(CloudTrail)、云监控(CloudWatch)、VPC流日志和机器学习工作负载日志等日志活动集中起来,获得对机器学习环境中工作负载状态的可见性。团队可以对日志进行筛选、查询和可视化分析,从而提升安全性。

成本和报告

该模块帮助各利益相关者(云管理员、平台管理员、云业务部门)生成报告和仪表盘,以按机器学习用户、机器学习团队和机器学习产品层级对成本进行分解,并跟踪使用情况,如用户数、实例类型和终端节点。

客户要求我们提供关于创建多少个账户以及如何构建这些账户结构的指导。在下一节中,我们提供了账户结构的参考,您可以根据您的企业治理需求进行相应修改。

参考账户结构

在这一节中,我们讨论了组织账户结构的推荐方法。我们分享了一个基准参考账户结构;然而,我们建议机器学习和数据管理员与云管理员紧密合作,根据他们的组织控制要求自定义此账户结构。

扩展规模下的机器学习生命周期管理,第一部分:使用Amazon SageMaker设计机器学习工作负载的框架 四海 第4张

我们建议按照OU组织账户以进行安全、基础设施、工作负载和部署分类。此外,在每个OU内部,可以按非生产和生产OU分类,因为在其下部署的账户和工作负载有不同的控制要求。接下来,我们简要讨论了这些OU。

安全OU

该OU中的账户由组织的云管理员或安全团队管理,用于监控、识别、保护、检测和响应安全事件。

基础设施OU

该OU中的账户由组织的云管理员或网络团队管理,用于管理企业级基础设施共享资源和网络。

我们建议在基础设施OU下设置以下账户:

  • 网络 – 设置一个集中化的网络基础设施,如AWS Transit Gateway
  • 共享服务 – 设置集中的AD服务和VPC终端节点

工作负载OU

该OU中的账户由组织的平台团队管理员管理。如果您需要为每个平台团队实施不同的控制措施,可以为此目的嵌套其他级别的OU,例如机器学习工作负载OU、数据工作负载OU等。

我们建议在工作负载OU下设置以下账户:

  • 团队级别的机器学习开发、测试和生产账户 – 根据工作负载隔离要求进行设置
  • 数据湖账户 – 按照数据域进行分区账户
  • 中央数据治理账户 – 集中化数据访问策略
  • 中央特征存储账户 – 集中特征以供团队共享

部署OU

该OU中的账户由组织的平台团队管理员管理,用于部署工作负载和可观察性。

我们建议在部署OU下设置以下账户,因为机器学习平台团队可以在该OU级别上设置不同的控制措施来管理和治理部署:

  • 测试和生产的机器学习共享服务账户 – 托管平台共享服务的CI/CD和模型注册表
  • 测试和生产的机器学习可观察性账户 – 托管CloudWatch日志、CloudTrail日志和其他所需的日志

接下来,我们简要讨论需要考虑嵌入成员账户的组织控制,以监控基础设施资源。

AWS环境控制

控制是一个高级规则,为您的整个AWS环境提供持续的治理。它用通俗的语言来表达。在这个框架中,我们使用AWS Control Tower来实施以下的控制,帮助您管理资源并跨多个AWS账户监控合规性:

  • 预防性控制 – 预防性控制确保您的账户保持合规,因为它禁止导致策略违规的操作,并使用服务控制策略(SCP)来实施。例如,您可以设置一个预防性控制,确保在AWS账户或区域中不被删除或停止CloudTrail。
  • 检测性控制 – 检测性控制检测您的账户中资源的不合规情况,如策略违规,并通过仪表盘提供警报,使用AWS Config规则来实施。例如,您可以创建一个检测性控制,检测日志归档共享账户中是否启用了对Amazon Simple Storage Service (Amazon S3)的公共读访问。
  • 积极性控制 – 积极性控制在资源被配置之前扫描资源,确保资源符合该控制,并使用AWS CloudFormation钩子来实施。不符合的资源将不会被配置。例如,您可以设置一个积极性控制,检查SageMaker笔记本实例是否不允许直接访问互联网。

ML平台服务、ML应用实例和ML运维之间的交互

不同的角色,如数据科学主管(首席数据科学家)、数据科学家和ML工程师,根据以下图表在ML平台服务、ML应用实例开发和ML运维的不同阶段操作第2至第6个模块,同时也涉及数据湖基础设施和中央特征存储。

扩展规模下的机器学习生命周期管理,第一部分:使用Amazon SageMaker设计机器学习工作负载的框架 四海 第5张

下表总结了不同角色的运维流程活动和设置流程步骤。一旦一个角色作为运维流程的一部分发起了一个ML活动,服务就会按照设置流程步骤运行。

角色 运维流程活动 – 编号 运维流程活动 – 描述 设置流程步骤 – 编号 设置流程步骤 – 描述
首席数据科学家或ML团队负责人 1

在ML平台服务账户中使用服务目录并部署以下内容:

    • ML基础设施
    • SageMaker

项目 – SageMaker

  模型

注册表

1-A
  • 为LOBs设置dev、test和prod环境
  • 在ML平台服务账户中设置SageMaker Studio
  • 在ML平台服务账户中设置SageMaker Studio所需的配置
数据科学家 2 在SageMaker笔记本中进行ML实验并跟踪 2-A
  • 使用数据湖中的数据
  • 将特征保存在中央特征存储中
3 使用SageMaker项目和流水线自动化成功的ML实验 3-A
  • 在dev账户中启动SageMaker流水线(预处理、训练、评估)
  • 在dev账户中使用CodePipeline启动构建CI/CD流程
Data Scientist 3-B 在SageMaker流水线运行后,将模型保存在本地(dev)模型注册表中
首席数据科学家或ML团队负责人 4 在本地(dev)模型注册表中批准模型 4-A 从本地(dev)模型注册表将模型元数据和模型包写入中央模型注册表
5 在中央模型注册表中批准模型 5-A 启动部署CI/CD流程以在测试环境中创建SageMaker端点
5-B 从本地(dev)账户将模型信息和元数据写入ML平台服务账户中的ML治理模块(模型卡、模型仪表盘)
ML工程师 6 在CI/CD之后的测试环境中测试和监控SageMaker端点 .
7 在生产环境中批准SageMaker端点的部署 7-A 启动部署CI/CD流程以在生产环境中创建SageMaker端点
8 在CI/CD之后的测试环境中测试和监控SageMaker端点 .

不同机器学习平台模块的人设和互动

每个模块针对特定的目标人设于具体部门中使用频次最高的人员,为他们提供优先访问权限。然后可向其他偶尔需要使用模块的部门提供次要访问权限。这些模块根据特定工作角色或人设的需求进行定制以优化功能。

我们讨论以下团队:

  • 中央云工程 – 这个团队在企业云层面上操作,跨所有工作负载设置通用的云基础设施服务,例如建立企业级网络、身份、权限和账号管理
  • 数据平台工程 – 这个团队管理企业数据湖、数据收集、数据整理和数据治理
  • 机器学习平台工程 – 这个团队在业务线上操作机器学习平台级别,提供共享的机器学习基础设施服务,如机器学习基础设施供应、实验跟踪、模型治理、部署和可观察性

以下表格详细说明了每个模块的主要和次要访问权限分别属于哪些部门,根据模块的目标人设。

模块编号 模块 主要访问权限 次要访问权限 目标人设 账号数量
1 多账号基础设施 中央云工程 各个业务线
  • 云管理员
  • 云工程师
2 数据湖基础设施 中央云或数据平台工程 各个业务线
  • 数据湖管理员
  • 数据工程师
多个
3 机器学习平台服务 中央云或机器学习平台工程 各个业务线
  • 机器学习平台管理员 – 机器学习团队负责人 – 机器学习工程师 – 机器学习治理负责人
一个
4 机器学习用例开发 各个业务线 中央云或机器学习平台工程
  • 数据科学家
  • 数据工程师 – 机器学习团队负责人 – 机器学习工程师
多个
5 机器学习运维 中央云或机器学习工程 各个业务线
  • 机器学习工程师 – 机器学习团队负责人 – 数据科学家
多个
6 集中特征存储 中央云或数据工程 各个业务线
  • 数据工程师 – 数据科学家
一个
7 日志和可观察性 中央云工程 各个业务线
  • 云管理员
  • IT审计员
一个
8 成本和报告 各个业务线 中央平台工程
  • 业务执行者
  • 机器学习经理
一个

结论

在本文中,我们介绍了一个在大规模机器学习生命周期中治理框架,帮助您实施具有安全性和治理控制的良好架构的机器学习工作负载。我们讨论了该框架如何采用整体的方法来构建机器学习平台,考虑到数据治理、模型治理和企业级控制。我们鼓励您尝试使用本文介绍的框架和概念,并分享您的反馈意见。

Leave a Reply

Your email address will not be published. Required fields are marked *