这是一个四部分系列的第二篇文章,详细介绍了如何 NatWest集团,一家大型金融服务机构,与 AWS专业服务 构建一个新的机器学习操作(MLOps)平台。 在这篇文章中,我们分享了 NatWest Group 如何利用 AWS 来实现其标准化、安全且合规的 MLOps 平台的自助部署,使用 AWS服务目录 和 亚马逊SageMaker. 这导致配置新环境所需的时间从几天减少到几个小时。
我们相信决策者可以从这些内容中受益。 CTO、CDAO、高级数据科学家和高级云工程师可以遵循这种模式,为他们的数据科学和工程团队提供创新的解决方案。
阅读整个系列:
|
NatWest 集团的技术
NatWest Group 是一家面向数字世界的关系银行,为英国超过 19 万客户提供金融服务。 集团拥有多元化的技术组合,通常使用定制设计和漫长的时间表交付应对业务挑战的解决方案。
最近,NatWest Group 采用了云优先战略,这使该公司能够使用托管服务来提供按需计算和存储资源。 这一举措提高了业务解决方案的整体稳定性、可扩展性和性能,同时降低了成本并加快了交付节奏。 此外,迁移到云端后,NatWest Group 可以通过实施一组一致、可重复和预先批准的解决方案设计来简化其技术堆栈,以满足监管要求并以受控方式运营。
挑战
采用云优先方法的试点阶段涉及多个实验和评估阶段,利用各种 分析服务 在 AWS 上。 NatWest Group 针对数据科学工作负载的云平台的第一次迭代面临着提供一致、安全和合规的云环境的挑战。 创建新环境的过程需要几天到几周甚至几个月。 依赖中央平台团队来构建、配置、保护、部署和管理基础架构和数据源,使得新团队难以在云中工作。
由于 AWS 账户之间的基础设施配置存在差异,决定将工作负载迁移到云的团队必须经过精心设计的合规流程。 每个基础设施组件都必须单独分析,这增加了安全审计时间。
在 AWS 中开始开发需要阅读由平台团队编写的一组文档指南。 初始环境设置步骤包括管理用于身份验证的公钥和私钥,使用 AWS命令行界面 (AWS CLI) 或来自本地开发环境的 SDK,并运行自定义脚本以将本地 IDE 链接到云服务。 技术挑战通常使新团队成员难以入职。 配置开发环境后,在生产环境中发布软件的过程同样复杂而漫长。
如本系列的第 1 部分所述,在构建新的数据科学和 MLOps 平台之前,联合项目团队从 NatWest Group 的团队收集了大量关于用户体验和需求的反馈。 此反馈中的一个共同主题是需要自动化和标准化作为在 AWS 上快速高效地交付项目的先决条件。 新平台使用 AWS 托管服务来优化成本、减少平台配置工作并减少因运行不必要的大型计算作业而产生的碳足迹。 标准化嵌入平台的核心,具有预先批准、完全配置、安全、合规和可重用的基础架构组件,可在数据和分析团队之间共享。
为什么选择 SageMaker Studio?
团队选择了 亚马逊SageMaker Studio 作为构建和部署 ML 管道的主要工具。 Studio 提供了一个基于 Web 的单一界面,让用户可以完全访问、控制和查看构建、训练和部署模型所需的每个步骤。 用于模型开发、元数据跟踪、工件管理和部署的 Studio IDE(集成开发环境)的成熟度是对 NatWest Group 团队具有强烈吸引力的功能之一。
NatWest Group 的数据科学家在模型开发的初始阶段使用 Studio 内的 SageMaker 笔记本来执行数据分析、数据整理和特征工程。 在用户对这项初始工作的结果感到满意后,代码很容易转换为可组合的函数,用于数据转换、模型训练、推理、日志记录和单元测试,使其处于生产就绪状态。
模型开发生命周期的后期阶段涉及使用 Amazon SageMaker管道,可以在 Studio 中进行目视检查和监控。 管道在 DAG(有向无环图)中可视化,该 DAG 在管道运行时根据其状态对步骤进行颜色编码。 此外,总结 Amazon CloudWatch日志 显示在 DAG 旁边,以便于调试失败的步骤。 为数据科学家提供了一个代码模板,其中包含 SageMaker 管道中的所有基本步骤。 这提供了一个标准化框架(在平台的所有用户之间保持一致,以简化协作和知识共享),开发人员可以在其中添加定制的逻辑和应用程序代码,专门针对他们正在解决的业务挑战。
开发人员在 Studio IDE 中运行管道,以确保他们的代码更改与其他管道步骤正确集成。 在审查和批准代码更改后,这些管道将根据主 Git 存储库分支触发器自动构建和运行。 在模型训练期间,模型评估指标在 SageMaker Experiments 中存储和跟踪,可用于超参数调整。 模型训练完成后,模型工件存储在 SageMaker模型注册表,以及与模型容器、训练期间使用的数据、模型特征和模型代码相关的元数据。 模型注册表在模型部署过程中起着关键作用,因为它打包了所有模型信息,并支持将模型提升到生产环境的自动化。
MLOps 工程师部署托管 SageMaker 批量转换作业,可扩展以满足工作负载需求。 通过端点提供的离线批量推理作业和在线模型都使用 SageMaker 的托管推理功能。 这对平台和业务应用程序团队都有好处,因为平台工程师不再花时间为模型推理配置基础设施组件,并且业务应用程序团队不会编写额外的样板代码来设置计算实例并与之交互。
为什么选择 AWS 服务目录?
该团队选择 AWS Service Catalog 来构建安全、合规和预先批准的基础设施模板的目录。 AWS Service Catalog 产品中的基础设施组件已预先配置,以满足 NatWest Group 的安全要求。 为 AWS Service Catalog 产品中打包的每个资源配置角色访问管理、资源策略、网络配置和中央控制策略。 这些产品按照标准流程进行版本控制并与应用程序团队共享,使数据科学和工程团队能够在获得对其 AWS 账户的访问权限后立即自助服务和部署基础设施。
随着时间的推移,平台开发团队可以轻松地发展 AWS Service Catalog 产品,以实现基于业务需求的新功能。 在 AWS Service Catalog 产品版本控制的帮助下对产品进行迭代更改。 发布新产品版本时,平台团队会将代码更改合并到 Git 主分支,并增加 AWS Service Catalog 产品的版本。 更新基础架构具有一定程度的自主性和灵活性,因为业务应用程序帐户可以在迁移到最新版本之前使用早期版本的产品。
解决方案概述
以下高级架构图显示了如何在 AWS 上部署典型的业务应用程序用例。 以下部分更详细地介绍了账户架构、基础设施的部署方式、用户访问管理以及如何使用不同的 AWS 服务来构建 ML 解决方案。
如架构图中所示,帐户遵循中心辐射模型。 共享平台帐户用作中心帐户,业务应用程序团队(分支)帐户所需的资源由平台团队托管。 这些资源包括:
- 用于自助式基础设施部署的安全、标准化基础设施产品库,由 AWS Service Catalog 托管
- Docker 镜像,存储在 Amazon Elastic Container注册 (Amazon ECR),在运行 SageMaker 管道步骤和模型推理期间使用
- AWS 代码工件 存储库,托管预先批准的 Python 包
这些资源通过 AWS Service Catalog 产品组合共享和导入功能自动与分支账户共享,并且 AWS身份和访问管理 (IAM) Amazon ECR 和 CodeArtifact 的信任策略。
每个业务应用程序团队都在 NatWest Group 基础设施环境中预置了三个 AWS 账户:开发、预生产和生产。 环境名称是指帐户在数据科学开发生命周期中的预期角色。 开发帐户用于通过 SageMaker Studio 执行数据分析和整理、编写模型和模型管道代码、训练模型以及触发模型部署到预生产和生产环境。 预生产帐户反映了生产帐户的设置,用于在将模型部署和批量转换作业发布到生产之前对其进行测试。 生产帐户托管模型并运行生产推理工作负载。
用户管理
NatWest Group 有严格的治理流程来强制执行用户角色分离。 为每个用户角色创建了五个单独的 IAM 角色。
平台团队使用以下角色:
- 平台支持工程师 – 此角色包含对一切照旧任务的权限以及用于监视和调试平台的其余环境的只读视图。
- 平台修复工程师 – 此角色已使用提升的权限创建。 如果平台存在需要手动干预的问题,则使用它。 此角色仅以经批准的、有时间限制的方式承担。
业务应用程序开发团队具有三个不同的角色:
- 技术负责人 – 此角色分配给应用程序团队负责人,通常是高级数据科学家。 此用户有权部署和管理 AWS Service Catalog 产品、触发发布到生产环境以及查看环境状态,例如 AWS 代码管道 状态和日志。 此角色无权批准 SageMaker 模型注册表中的模型。
- 开发商 – 此角色分配给使用 SageMaker Studio 的所有团队成员,其中包括工程师、数据科学家,通常还包括团队负责人。 此角色有权打开 Studio、编写代码以及运行和部署 SageMaker 管道。 与技术主管一样,此角色无权批准模型注册表中的模型。
- 模型审批人 – 此角色具有与查看、批准和拒绝模型注册表中的模型相关的有限权限。 这种分离的原因是为了防止任何可以构建和训练模型的用户批准并将他们自己的模型发布到升级的环境中。
为开发人员和模型审批者创建单独的 Studio 用户配置文件。 该解决方案结合使用 IAM 策略语句和 SageMaker 用户配置文件标签,以便仅允许用户打开与其用户类型匹配的用户配置文件。 这可确保在用户打开 Studio IDE 时为其分配正确的 SageMaker 执行 IAM 角色(以及权限)。
使用 AWS Service Catalog 进行自助部署
最终用户利用 AWS Service Catalog 部署数据科学基础设施产品,例如:
- 工作室环境
- 工作室用户个人资料
- 模型部署管道
- 训练管道
- 推理管道
- 用于监控和警报的系统
最终用户直接通过 AWS Service Catalog UI 部署这些产品,这意味着更少依赖中央平台团队来预置环境。 这大大减少了用户访问新云环境所需的时间,从几天缩短到几个小时,最终显着缩短了价值实现时间。 使用一组通用的 AWS Service Catalog 产品可支持整个企业项目内的一致性,并降低协作和重用的障碍。
由于所有数据科学基础设施现在都通过集中开发的基础设施产品目录进行部署,因此在构建这些产品时都考虑到了安全性。 服务已配置为在内部进行通信 亚马逊虚拟私有云 (Amazon VPC),因此流量不会穿越公共互联网。 数据在传输和静止时使用加密 AWS密钥管理服务 (AWS KMS) 密钥。 IAM 角色也已设置为遵循最小权限原则。
最后,借助 AWS Service Catalog,平台团队可以轻松地在业务应用程序团队可用或需要时不断发布新产品和服务。 这些可以采取新的基础设施产品的形式,例如为最终用户提供部署他们自己的能力 亚马逊电子病历 集群,或对现有基础架构产品的更新。 因为 AWS Service Catalog 支持产品版本控制并利用 AWS CloudFormation 在幕后,当现有产品的新版本发布时,可以使用就地升级。 这使平台团队可以专注于构建和改进产品,而不是开发复杂的升级流程。
与 NatWest 现有的 IaC 软件集成
AWS Service Catalog 用于自助式数据科学基础设施部署。 此外,NatWest 的标准基础设施即代码 (IaC) 工具 Terraform 用于在 AWS 账户中构建基础设施。 平台团队在初始帐户设置过程中使用 Terraform 来部署必备基础设施资源,例如 VPC、安全组、 AWS系统经理 参数、KMS 密钥和标准安全控制。 中心账户中的基础设施(例如 AWS Service Catalog 产品组合和用于构建 Docker 映像的资源)也是使用 Terraform 定义的。 但是,AWS Service Catalog 产品本身是使用标准 CloudFormation 模板构建的。
通过 SageMaker 项目提高开发人员的工作效率和代码质量
SageMaker项目 让开发人员和数据科学家无需离开 SageMaker Studio 即可访问快速启动项目。 这些快速启动项目让您只需单击几下即可同时部署多个基础架构资源。 其中包括一个 Git 存储库,其中包含所选模型类型的标准化项目模板, 亚马逊简单存储服务 (Amazon S3) 存储桶,用于存储数据、序列化模型和工件,以及模型训练和推理 CodePipeline 管道。
现在,标准化代码库架构和工具的引入使数据科学家和工程师可以轻松地在项目之间移动并确保代码质量保持高水平。 例如,软件工程最佳实践,如 linting 和格式检查(作为自动检查和预提交挂钩运行)、单元测试和覆盖率报告现在作为培训管道的一部分自动化,为所有项目提供标准化。 这提高了 ML 项目的可维护性,并使这些项目更容易投入生产。
自动化模型部署
模型训练过程使用 SageMaker Pipelines 进行编排。 模型经过训练后,将存储在 SageMaker 模型注册表中。 分配了模型批准者角色的用户可以打开模型注册表并查找与训练过程相关的信息,例如模型的训练时间、超参数值和评估指标。 此信息有助于用户决定是批准还是拒绝模型。 拒绝模型会阻止模型部署到升级的环境中,而批准模型会通过 CodePipeline 触发模型提升管道,该管道会自动将模型复制到预生产 AWS 账户,为推理工作负载测试做好准备。 在团队确认模型在预生产中正常工作后,同一管道中的手动步骤获得批准,模型会自动复制到生产帐户,为生产推理工作负载做好准备。
结果
NatWest 和 AWS 之间的这个合作项目的主要目标之一是减少将数据科学云环境和 ML 模型预置和部署到生产中所需的时间。 这已经实现 — NatWest 现在可以在数小时内预置新的、可扩展且安全的 AWS 环境,而之前需要数天甚至数周。 数据科学家和工程师现在可以使用 AWS Service Catalog 自行部署和管理数据科学基础设施,从而减少对集中式平台团队的依赖。 此外,使用 SageMaker 项目使用户能够在几分钟内开始编码和训练模型,同时还提供标准化的项目结构和工具。
由于 AWS Service Catalog 作为部署数据科学基础设施的中心方法,因此该平台可以在未来轻松扩展和升级。 可以在需要时快速向最终用户提供新的 AWS 服务,并且可以就地升级现有的 AWS Service Catalog 产品以利用新功能。
最后,转向 AWS 上的托管服务意味着计算资源可以按需配置和关闭。 这提供了成本节约和灵活性,同时也符合 NatWest 的雄心是到 2050 年实现净零排放 由于估计减少了 75% 的二氧化碳2 排放。
结论
NatWest Group 采用云优先战略导致创建了一个强大的 AWS 解决方案,该解决方案可以支持整个组织的大量业务应用程序团队。 使用 AWS Service Catalog 管理基础设施通过使用可轻松扩展的安全、合规和预先批准的基础设施构建块,显着改进了云载入流程。 托管 SageMaker 基础设施组件改进了模型开发流程并加快了 ML 项目的交付。
要了解有关在 NatWest Group 构建生产就绪 ML 模型的过程的更多信息,请查看关于 NatWest Group 和 AWS 专业服务之间战略合作的这个由四部分组成的系列的其余部分:
- 部分1 解释 NatWest Group 如何与 AWS 专业服务合作构建可扩展、安全且可持续的 MLOps 平台
- 部分3 概述 NatWest Group 如何使用 SageMaker 服务构建可审计、可重现和可解释的 ML 模型
- 部分4 详细介绍 NatWest 数据科学团队如何将现有模型迁移到 SageMaker 架构
作者简介
朱奈德·巴巴 是 DevOps 顾问 AWS专业服务 他利用自己在 Kubernetes、分布式计算、AI/MLOps 方面的经验来加速英国金融服务行业客户对云的采用。 Junaid 自 2018 年 XNUMX 月以来一直在 AWS。在此之前,Junaid 与许多推动 DevOps 实践的金融初创公司合作。 工作之余,他对徒步旅行、现代艺术和静物摄影感兴趣。
约丹卡·伊万诺娃 是 NatWest Group 的数据工程师。 她在为金融服务行业的公司构建和交付数据解决方案方面拥有丰富的经验。 在加入 NatWest 之前,Yordanka 曾担任技术顾问,在那里她获得了利用各种云服务和开源技术跨多个云平台交付业务成果的经验。 在业余时间,Yordanka 喜欢锻炼、旅行和弹吉他。
迈克尔·英格兰 是 NatWest Group 数据科学和创新团队的软件工程师。 他热衷于开发在云中运行大规模机器学习工作负载的解决方案。 在加入 NatWest Group 之前,Michael 曾在软件工程团队工作并领导开发金融服务和旅游行业的关键应用程序。 在业余时间,他喜欢弹吉他、旅行和骑自行车探索乡村。
- "
- 100
- 关于我们
- 加速
- 加速
- ACCESS
- 账号管理
- 横过
- 增加
- 额外
- 采用
- 优点
- 所有类型
- Amazon
- 其中
- 量
- 量
- 分析
- 分析
- 应用领域
- 应用领域
- 的途径
- 批准
- 架构
- 艺术
- 分配
- 审计
- 认证
- 自动化
- 自动化
- 自动化和标准化
- 可使用
- AWS
- 银行
- 成为
- 在幕后
- 作为
- 得益
- 好处
- 最佳
- 最佳实践
- 建立
- 建筑物
- 商业
- 碳
- 关心
- 集中
- 挑战
- 挑战
- 支票
- 云端技术
- 云计算平台
- 云服务
- 码
- 编码
- 合作
- 组合
- 相当常见
- 公司
- 公司
- 相比
- 复杂
- 符合
- 兼容
- 元件
- 计算
- 计算
- 配置
- 连接
- 顾问
- 容器
- 集装箱
- 包含
- 内容
- 不断
- 控制
- 创建
- 创造
- 创建
- 危急
- 习俗
- 合作伙伴
- data
- 数据分析
- 数据科学
- 数据科学家
- 提升
- 交付
- 交货
- 需求
- 需求
- 部署
- 部署
- 部署
- 部署
- 部署
- 描述
- 设计
- 细节
- 详情
- 发达
- 开发商
- 开发
- 发展
- 研发支持
- 不同
- 难
- 数字
- 直接
- 分布
- 分布式计算
- 码头工人
- 不会
- 向下
- 驾驶
- 容易
- 高效
- 工作的影响。
- 阐述
- enable
- 端点
- 工程师
- 工程师
- 工程师
- 企业
- 环境
- 估计
- 评估
- 发展
- 例子
- 执行
- 现有
- 体验
- 专栏
- 特征
- 反馈
- 金融
- 金融服务
- 姓氏:
- 固定
- 高度灵活
- 专注焦点
- 遵循
- 以下
- Footprint
- 申请
- 骨架
- 功能
- 未来
- 混帐
- 治理
- 团队
- 组的
- 指南
- 快乐
- 帮助
- 帮助
- 高
- 创新中心
- HTTPS
- 身分
- 履行
- 改善
- 包括
- 包括
- 包括
- 增加
- 行业
- 行业中的应用:
- 信息
- 基础设施
- 創新
- 创新
- 机构
- 整合
- 集成
- 利益
- 接口
- 网络
- 参与
- 问题
- IT
- 工作机会
- 键
- 键
- 知识
- 大
- 最新
- 铅
- 学习用品
- 学习
- 导致
- 杠杆
- 借力
- 自学资料库
- 有限
- Line
- 链接
- 本地
- 机
- 机器学习
- 制成
- 主要
- 制作
- 管理
- 管理
- 颠覆性技术
- 管理的
- 方式
- 手册
- 问题
- 到期
- 意
- 成员
- 指标
- 百万
- 介意
- ML
- 模型
- 模型
- 监控
- 个月
- 更多
- 移动
- 移动
- 多
- 名称
- 工业网络
- 新功能
- 新平台
- 新产品
- 新产品
- 数
- 最多线路
- 这一点在线下监测数字化产品的影响方面尤为明显。
- 前期洽谈
- 在线
- 打开
- 运营
- 优化
- 组织
- 其他名称
- 最划算
- 己
- 特别
- 合作
- 多情
- 模式
- 性能
- 摄影
- 飞行员
- 平台
- 平台
- 播放
- 政策
- 政策
- 个人档案
- 投资组合
- 原理
- 私立
- 私钥
- 过程
- 过程
- 产品
- 生产
- 生产率
- 热销产品
- 所以专业
- 本人简介
- 简介
- 项目
- 项目
- 提升
- 提供
- 提供
- 优
- 国家
- 质量
- 快速
- 很快
- 阅读
- 减少
- 减少
- 监管
- 关系
- 释放
- 发布
- 发布
- 信赖
- 业务报告
- 知识库
- 要求
- 必须
- 岗位要求
- 资源
- 资源
- REST的
- 成果
- 检讨
- 路线
- 运行
- 运行
- 可扩展性
- 可扩展性
- 鳞片
- 场景
- 科学
- 科学家
- 科学家
- SDK
- 安全
- 保安
- 选
- 系列
- 服务
- 特色服务
- 集
- 格局
- Share
- 共用的,
- 显著
- 同样
- 简易
- So
- 软件
- 软件工程师
- 软件工程
- 方案,
- 解决方案
- 花
- 稳定性
- 堆
- 标准
- 初创公司
- 开始
- 州/领地
- 声明
- Status
- 存储
- 善用
- 策略
- 工作室
- SUPPORT
- 支持
- 可持续发展
- 系统
- 产品
- 任务
- 团队
- 文案
- 技术
- 专业技术
- 模板
- test
- 测试
- 测试
- 关节
- 主题
- 因此
- 通过
- 次
- 工具
- 向
- 跟踪
- 交通
- 产品培训
- 改造
- 转型
- 过境
- 旅行
- 旅游
- 信任
- ui
- Uk
- 最新动态
- 使用
- 用户
- 利用
- 利用
- 各种
- 查看
- 在线会议
- 能见度
- 基于网络的
- 是否
- 而
- WHO
- 中
- 也完全不需要
- 工作
- 工作
- 加工
- 锻炼
- 合作
- 世界