本文与 SIGNAL IDUNA 的 Jan Paul Assendorp、Thomas Lietzow、Christopher Masch、Alexander Meinert、Lars Palzer 博士、Jan Schillemans 共同撰写。
在德国大型保险公司 SIGNAL IDUNA,我们目前正在通过转型计划 VISION2023 进行自我改造,以变得更加以客户为导向。 这一转变的核心有两个方面:将大部分员工重组为跨职能的敏捷团队,以及成为真正的数据驱动型公司。 在这里,“你构建它,你运行它”的座右铭是构建数据或机器学习 (ML) 产品的跨职能团队的重要要求。 这对工作团队可以花费多少资金来生产和运行产品产生了严格的限制。
这篇文章展示了 SIGNAL IDUNA 如何应对这一挑战并利用 AWS云 使跨职能团队能够构建和运营自己的机器学习产品。 为此,我们首先介绍敏捷团队的组织结构,它为用于开发和运行产品的云基础设施设定了核心要求。 接下来,我们将展示 SIGNAL IDUNA 的三个中心团队如何通过提供易于使用和调整的合适工作流程和基础设施解决方案,使跨职能团队能够在 AWS 云中以最少的帮助构建数据产品。 最后,我们回顾我们的方法,并将其与更严格地分离开发和运营的更经典的方法进行比较。
Agile@SI——组织变革的基础
自 2021 年初以来,SIGNAL IDUNA 开始将其 Agile@SI 战略付诸行动,并建立敏捷方法,在整个公司范围内开发面向客户的解决方案 [1]。 以前的任务和目标现在由跨职能团队承担,称为 敢死队。 这些团队采用敏捷方法(例如 Scrum 框架),自己做出决策,并构建面向客户的产品。 通常,这些团队位于营销等业务部门,许多团队都非常重视构建数据驱动和机器学习驱动的产品。 例如,保险业的典型用例是客户流失预测和产品推荐。
由于机器学习的复杂性,由单个团队创建机器学习解决方案具有挑战性,因此需要不同团队的协作。
SIGNAL IDUNA 拥有三个支持创建机器学习解决方案的重要团队。 这三个小队周围是负责机器学习解决方案的开发和长期运营的团队。 这种方法遵循 AWS 责任共担模型 [2]。
在上图中,所有小队都以概览形式呈现。
云支持
整个组织的底层云基础设施由云支持团队提供。 他们的任务是使团队能够自行基于云技术构建产品。 这缩短了构建机器学习等新产品的上市时间,并且遵循“你构建它,你运行它”的原则。
数据办公室/数据湖
小队数据办公室/数据湖支持将数据移至云端以及查找正确的数据集。 他们建立了一个数据目录,可用于搜索和选择所需的数据集。 他们的目标是建立数据透明度和治理。 此外,他们还负责建立和运营数据湖,帮助团队访问和处理相关数据。
数据分析平台
我们的数据分析平台 (DAP) 团队是 SIGNAL IDUNA 专注于云和机器学习的团队,精通机器学习工程、数据工程和数据科学。 我们通过提供基础设施组件和知识,使内部团队能够使用公共云进行机器学习。 我们的产品和服务将在以下部分详细介绍。
使跨职能团队能够构建机器学习解决方案
为了使 SIGNAL IDUNA 的跨职能团队能够构建机器学习解决方案,我们需要一种快速且通用的方法来配置可重用的云基础设施,以及为入职团队提供利用云功能的高效工作流程。
为此,我们创建了标准化的入职和支持流程,并提供了模块化基础设施模板作为基础设施即代码 (IaC)。 这些模板包含专为常见 ML 用例设计的基础架构组件,可以轻松根据特定用例的要求进行定制。
构建机器学习解决方案的工作流程
构建和运营 ML 解决方案涉及三个主要技术角色:数据科学家、ML 工程师和数据工程师。 每个角色都是跨职能团队的一部分,并承担不同的职责。 数据科学家拥有用例的功能和技术要求所需的领域知识。 机器学习工程师专门构建自动化机器学习解决方案和模型部署。 数据工程师确保数据来自本地和云内。
提供平台的流程如下:
特定用例的基础设施在 IaC 中定义,并在中央项目存储库中进行版本控制。 这还包括模型训练和部署的管道,以及其他数据科学相关的代码工件。 数据科学家、机器学习工程师和数据工程师可以访问项目存储库,并可以自主配置和更新所有基础设施代码。 这使得团队能够在需要时快速改变基础设施。 然而,机器学习工程师始终可以支持开发和更新基础设施或机器学习模型。
可重用和模块化基础设施组件
分层和模块化的 IaC 资源在 Terraform 并包括常见数据科学和 ETL 用例的基础设施。 这使我们能够重用基础设施代码并强制执行所需的安全性和合规性策略,例如使用 AWS 密钥管理服务 (KMS)数据加密,以及将基础设施封装在 亚马逊虚拟私有云(VPC) 无法直接访问互联网的环境。
IaC的分层结构如下:
- 模块 使用安全和访问管理所需的配置封装基本 AWS 服务。 这包括最佳实践配置,例如防止公众访问 亚马逊简单存储服务(S3) 存储桶,或对存储的所有文件强制加密。
- 在某些情况下,您需要各种服务来自动化流程,例如在不同阶段部署 ML 模型。 因此,我们定义 解决方案 作为针对不同类型任务的联合配置中的不同模块的捆绑。
- 此外,我们还提供完整的 蓝图 结合不同环境中的解决方案来满足项目的许多潜在需求。 在我们的 MLOps 蓝图中,我们定义了一个可部署的基础设施,用于训练、配置和监控集成并分布在 AWS 账户中的 ML 模型。 我们将在下一节中讨论更多细节。
这些产品由 DAP 小组在中央存储库中进行版本控制。 这让我们能够不断改进 IaC 并考虑 AWS 的新功能,例如 亚马逊SageMaker 模型注册表。 每个小队都可以引用这些资源,根据需要对它们进行参数化,最后将它们部署到自己的 AWS 账户中。
MLOps架构
我们提供现成的蓝图以及涵盖整个 MLOps 流程的具体解决方案。 该蓝图包含分布在四个 AWS 账户上的基础设施,用于构建和部署 ML 模型。 这让我们能够隔离 MLOps 流程中不同步骤的资源和工作流程。 下图显示了多帐户架构,我们描述了如何在不同的技术角色之间划分流程特定步骤的责任。
造型 帐户包括用于开发 ML 模型的服务。 首先,数据工程师采用 ETL 流程从 SIGNAL IDUNA 数据湖提供相关数据,该数据湖是 AWS 云中数据驱动工作流的集中式网关。 随后,数据科学家可以利用该数据集来训练和评估候选模型。 一旦准备好进行广泛的实验,机器学习工程师就会将候选模型集成到自动化训练管道中。 我们使用 Amazon SageMaker Pipelines 大规模自动化训练、超参数调整和模型评估。 这还包括模型沿袭和标准化审批机制,用于将模型部署到生产中。 自动化单元测试和代码分析可确保管道每个步骤(例如数据预处理、模型训练和评估)的代码质量和可靠性。 模型经过评估和批准后,我们将使用 Amazon SageMaker ModelPackages 作为训练模型和相关元数据的接口。
模具 帐户包含具有不同阶段的自动化 CI/CD 管道,用于测试和部署经过训练的模型。 在测试阶段,模型被部署到 服务非产品 帐户。 尽管模型质量是在模型投入生产之前在训练管道中进行评估的,但这里我们在隔离的测试环境中运行性能和集成测试。 通过测试阶段后,模型将被部署到 服务产品 帐户集成到生产工作流程中。
将 MLOps 工作流程的各个阶段划分到不同的 AWS 账户中,让我们能够将开发和测试与生产隔离开来。 因此,我们可以执行严格的访问和安全策略。 此外,定制的 IAM 角色确保特定服务只能访问其范围所需的数据和其他服务,遵循 最小特权原则。 此外,外部业务流程还可以访问服务环境中的服务。 例如,业务流程可以查询服务产品环境中的端点以进行模型预测。
我们方法的好处
与 ML 模型以及所需基础设施的开发和操作严格分离相比,此过程具有许多优势:
- 隔离度:每个团队都会收到自己的一组 AWS 账户,这些账户与其他团队的环境完全隔离。 这使得管理访问权限并使数据对有权使用数据的人员保密变得容易。
- 云支持: 在云 DevOps 方面缺乏经验的团队成员(例如许多数据科学家)可以轻松观看设计和管理基础设施的整个过程,因为(几乎)没有什么东西可以隐藏在中央服务背后。 这可以更好地了解基础设施,进而帮助他们更有效地创建数据科学产品。
- 产品所有权:使用预配置的基础设施解决方案和托管服务可以降低生产中管理机器学习产品的障碍。 因此,数据科学家可以轻松拥有投入生产的模型。 这最大限度地减少了开发后模型未能投入生产的众所周知的风险。
- 創新 :由于 ML 工程师早在模型准备投入生产之前就参与其中,因此他们可以在数据科学家开发 ML 模型的同时创建适合新用例的基础设施解决方案。
- 适应性:由于 DAP 开发的 IaC 解决方案是免费提供的,任何团队都可以轻松调整这些解决方案以满足其用例的特定需求。
- 开源:所有新的基础设施解决方案都可以通过中央 DAP 代码存储库轻松提供,以供其他团队使用。 随着时间的推移,这将创建一个丰富的代码库,其中包含针对不同用例定制的基础架构组件。
总结
在这篇文章中,我们介绍了 SIGNAL IDUNA 的跨职能团队如何在 AWS 上构建和运行 ML 产品。 我们方法的核心是为每个团队使用一组专用的 AWS 账户,并结合定制的 IaC 蓝图和解决方案。 这两个组件使跨职能团队能够创建和运营生产质量基础设施。 反过来,他们可以完全拥有其机器学习产品的端到端所有权。
请参阅 Amazon SageMaker 模型构建管道 – Amazon SageMaker 了解更多信息。
查找更多信息 AWS 上的机器学习 在我们的官方页面上。
参考资料
[1] https://www.handelsblatt.com/finanzen/versicherungsbranche-vorbild-spotify-signal-iduna-wird-von-einer-handwerker-versicherung-zum-agilen-konzern/27381902.html
[2] https://blog.crisp.se/wp-content/uploads/2012/11/SpotifyScaling.pdf
[3] https://aws.amazon.com/compliance/shared-responsibility-model/
作者简介
扬·保罗·阿森多普 是一位专注于数据科学的 ML 工程师。 他构建机器学习模型并自动执行模型训练和部署到生产环境中。
托马斯·利措 是小队数据分析平台的Scrum Master。
克里斯托弗·马什 是小队数据分析平台的产品负责人,拥有数据工程、数据科学和机器学习工程方面的知识。
亚历山大·迈纳特 是数据分析平台团队的一员,担任机器学习工程师。 从统计学开始,随着数据科学项目的发展,对机器学习方法和架构产生了热情。
拉尔斯·帕尔泽博士 是一名数据科学家,也是数据分析平台团队的一员。 在帮助构建 MLOps 架构组件后,他现在正在使用它们来构建 ML 产品。
简·席勒曼斯 是一位具有软件工程背景的机器学习工程师。 他专注于将软件工程最佳实践应用到机器学习环境 (MLOps) 上。
- "
- 100
- 2021
- ACCESS
- 账号管理
- 横过
- 操作
- 优点
- 敏捷
- 所有类型
- 尽管
- Amazon
- 分析
- 分析
- 应用
- 的途径
- 架构
- 自动化
- 可使用
- AWS
- 作为
- 最佳
- 最佳实践
- 建立
- 建筑物
- 种子套餐
- 商业
- 能力
- 例
- 挑战
- 云端技术
- 云基础设施
- 码
- 合作
- 组合
- 相当常见
- 公司
- 相比
- 符合
- 配置
- 包含
- 创造
- data
- 数据分析
- 数据科学
- 数据科学家
- 专用
- 部署
- 部署
- 部署
- 设计
- 细节
- 开发
- 发达
- 发展
- 研发支持
- 不同
- 讨论
- 分布
- 域
- 容易
- 加密
- 端点
- 工程师
- 工程师
- 工程师
- 环境
- 必要
- 建立
- 例子
- 体验
- 高效率
- 特征
- 数字
- 终于
- 姓氏:
- 专注焦点
- 重点
- 以下
- 发现
- 基金会
- 骨架
- ,
- 理想中
- 治理
- 帮助
- 帮助
- 此处
- 创新中心
- HTTPS
- 图片
- 实施
- 重要
- 改善
- 包括
- 信息
- 基础设施
- 保险
- 集成
- 积分
- 接口
- 网络
- 参与
- IT
- 键
- 知识
- 大
- 学习用品
- 学习
- 小
- 长
- 机
- 机器学习
- 颠覆性技术
- 管理的
- 市场
- 营销
- 匹配
- 成员
- 元
- ML
- 模型
- 模型
- 模块化
- 监控
- 新功能
- 新产品
- 提供
- 官方
- 前期洽谈
- 操作
- 组织
- 其他名称
- 业主
- 性能
- 平台
- 政策
- 政策
- 预测
- 预测
- 预防
- 私立
- 过程
- 过程
- 产品
- 生产
- 热销产品
- 曲目
- 项目
- 项目
- 提供
- 国家
- 公共云
- 质量
- 知识库
- 必须
- 岗位要求
- 资源
- 提供品牌战略规划
- 检讨
- 风险
- 运行
- 鳞片
- 科学
- 科学家
- 科学家
- 搜索
- 保安
- 服务
- 特色服务
- 服务
- 集
- 共用的,
- 简易
- 软件
- 软件工程
- 解决方案
- 专业
- 花
- 阶段
- 开始
- 开始
- 统计
- 存储
- 策略
- 强烈
- 后来
- SUPPORT
- 支持
- 包围
- 任务
- 团队
- 文案
- 技术
- test
- 测试
- 测试
- 次
- 产品培训
- 转型
- 用户评论透明
- 更新
- us
- 使用
- 利用
- 在线会议
- 了解
- WHO
- 中
- 也完全不需要
- 工作
- 劳动力
- 合作