使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。

在 AWS 上使用数据网格架构构建和训练 ML 模型:第 1 部分

各个行业的组织都在使用人工智能 (AI) 和机器学习 (ML) 来解决特定于其行业的业务挑战。 例如,在金融服务行业,您可以使用 AI 和 ML 解决欺诈检测、信用风险预测、直接营销等方面的挑战。

大型企业有时会设立卓越中心 (CoE),以通过创新分析和 ML 项目来满足不同业务线 (LoB) 的需求。

要大规模生成高质量和高性能的 ML 模型,他们需要执行以下操作:

  • 提供一种简单的方法来访问其分析和 ML CoE 的相关数据
  • 对来自各个 LoB 的数据提供者建立问责制,以共享可发现、可理解、可互操作且值得信赖的精选数据资产

这可以减少将 ML 用例从实验转换为生产的长周期时间,并在整个组织内产生业务价值。

数据网格架构通过引入分散的社会技术方法来解决这些技术和组织挑战,以在组织内部或跨组织的复杂和大规模环境中共享、访问和管理数据。 数据网格设计模式创建了一个负责任的数据共享模型,该模型与组织的发展保持一致,以实现增加数据团队、流程和技术的业务投资回报的最终目标。

在这个由两部分组成的系列中,我们提供了有关组织如何使用 AWS 上的数据网格设计模式构建现代数据架构的指导,并使分析和 ML CoE 能够使用跨多个 LoB 的数据构建和训练 ML 模型。 我们使用一个金融服务组织的例子来设置这个系列的上下文和用例。

在第一篇文章中,我们展示了设置具有多个 AWS 数据生产者和消费者账户的数据网格架构的过程。 然后我们关注一种数据产品,它由金融组织内的一个 LoB 拥有,以及如何将其共享到数据网格环境中以允许其他 LoB 消费和使用该数据产品。 这主要针对数据管家角色,他负责简化和规范数据生产者和消费者之间共享数据的过程,并确保遵守数据治理规则。

在第二篇文章中,我们展示了一个分析和 ML CoE 如何将数据产品用于风险预测用例的示例。 这主要针对数据科学家角色,他们负责利用组织范围内的数据资产和第三方数据资产来构建和训练机器学习模型,以提取业务洞察力以增强金融服务客户的体验。

数据网格概述

数据网格模式的创始人 Zhamak Dehghani 在她的书中 数据网格大规模交付数据驱动的价值,针对数据网格的目标定义了四个原则:

  • 分布式域所有权 – 追求组织转变,从运行数据平台技术的专家对数据的集中所有权转变为分散的数据所有权模型,将数据的所有权和责任推回到数据产生(源对齐的域)或消费的 LoB(消费对齐的领域)。
  • 数据作为产品 – 将共享精选、高质量、可互操作和安全的数据资产的责任推向上游。 因此,来自不同 LoB 的数据生产者负责在源头以可消费的形式制作数据。
  • 自助分析 – 简化分析和 ML 数据用户的体验,以便他们可以通过首选工具发现、访问和使用数据产品。 此外,通过配方和可重用组件和模板简化 LoB 数据提供者构建、部署和维护数据产品的体验。
  • 联合计算治理 – 联合和自动化管理和控制数据访问所涉及的决策,使其处于来自不同 LoB 的数据所有者级别,这仍然符合更广泛的组织的法律、合规性和安全策略,这些策略最终通过以下方式实施网格。

AWS 在各种帖子中介绍了其在 AWS 之上构建数据网格的愿景:

  • 首先,我们关注与分布式域所有权和数据相关的组织部分作为产品原则。 作者描述了将整个组织内的多个 LOB 与数据产品战略保持一致的愿景,该战略为与消费相关的领域提供查找和获取所需数据的工具,同时通过引入问责制来保证对这些数据的使用进行必要的控制。源对齐的域,以提供可在源头使用的数据产品。 有关详细信息,请参阅 摩根大通如何构建数据网格架构以推动显着价值以增强其企业数据平台.
  • 然后我们专注于与构建数据产品、自助服务分析和联合计算治理原则相关的技术部分。 作者描述了核心 AWS 服务,这些服务使源对齐域能够构建和共享数据产品,这些服务可以使消费者对齐域根据他们首选的工具和使用案例以不同的方式使用数据产品。正在努力,最后是通过执行数据访问策略来管理数据共享过程的 AWS 服务。 有关详细信息,请参阅 使用 AWS Lake Formation 和 AWS Glue 设计数据网格架构.
  • 我们还展示了一种通过集中式数据网格 UI 自动化数据发现和访问控制的解决方案。 有关详细信息,请参阅 使用 AWS Lake Formation 为您的数据网格构建数据共享工作流程.

金融服务用例

通常,大型金融服务组织拥有多个 LoB,例如消费者银行业务、投资银行业务和资产管理,以及一个或多个分析和 ML CoE 团队。 每个 LoB 提供不同的服务:

  • 消费者银行业务 LoB 为消费者和企业提供各种服务,包括信贷和抵押贷款、现金管理、支付解决方案、存款和投资产品等
  • 商业或投资银行业务部门为客户(包括小型企业、中型公司和大型企业)提供全面的金融解决方案,例如贷款、破产风险和批发支付
  • 资产管理 LoB 为所有资产类别提供退休产品和投资服务

每个 LoB 都定义了自己的数据产品,这些产品由了解数据并最适合指定谁有权使用它以及如何使用它的人策划。 相比之下,分析和 ML CoE 等其他 LoB 和应用程序领域则对发现和使用合格的数据产品、将其混合在一起以产生洞察力并做出数据驱动的决策感兴趣。

下图描述了一些 LoB 和它们可以共享的数据产品示例。 它还展示了数据产品的消费者,例如分析和 ML CoE,他们构建了可以部署到面向客户的应用程序的 ML 模型,以进一步增强最终客户的体验。

遵循数据网格社会技术概念,我们从社会方面开始,采用一组组织步骤,例如:

  • 利用领域专家为每个领域定义边界,因此每个数据产品都可以映射到特定领域
  • 识别每个域提供的数据产品的所有者,因此每个数据产品都有其所有者定义的策略
  • 从全局和本地或联合激励中识别治理策略,因此当数据消费者访问特定数据产品时,可以通过中央数据治理层自动执行与该产品相关的访问策略

然后我们转向技术方面,其中包括上图中定义的以下端到端场景:

  1. 使用工具为消费者银行业务 LoB 赋能,以构建即用型消费者信用资料数据产品。
  2. 允许消费者银行业务 LoB 将数据产品共享到中央治理层。
  3. 嵌入数据访问策略的全局和联合定义,在通过中央数据治理访问消费者信用档案数据产品时应执行这些定义。
  4. 允许分析和 ML CoE 通过中央治理层发现和访问数据产品。
  5. 使用工具为分析和 ML CoE 赋能,以利用数据产品构建和训练信用风险预测模型。我们不介绍本系列的最后步骤(上图中的 6 和 7)。 但是,为了展示这种 ML 模型可以在端到端场景中为组织带来的业务价值,我们说明了以下内容:
  6. 该模型稍后可以部署回面向客户的系统,例如消费者银行门户网站或移动应用程序。
  7. 它可以在贷款申请中专门用于评估信贷和抵押请求的风险状况。

接下来,我们描述每个组件的技术需求。

深入挖掘技术需求

为了使每个人都可以使用数据产品,组织需要在整个组织的不同实体之间轻松共享数据,同时保持对数据的适当控制,或者换句话说,平衡敏捷性和适当的治理。

数据消费者:分析和 ML CoE

数据消费者(例如来自分析和 ML CoE 的数据科学家)需要能够执行以下操作:

  • 发现和访问给定用例的相关数据集
  • 确信他们想要访问的数据集已经被策划、最新并且具有可靠的描述
  • 请求访问对其业务案例感兴趣的数据集
  • 使用他们首选的工具在他们的机器学习环境中查询和处理此类数据集,而无需从原始远程位置复制数据,也无需担心与处理物理存储在远程站点中的数据相关的工程或基础设施复杂性
  • 获取有关数据所有者进行的任何数据更新的通知

数据生产者:域所有权

数据生产者,例如来自金融服务组织中不同 LoB 的领域团队,需要注册和共享包含以下内容的精选数据集:

  • 技术和操作元数据,例如数据库和表的名称和大小、列模式和键
  • 数据描述、分类、敏感度等业务元数据
  • 跟踪元数据,例如从源表单到目标表单以及任何中间表单的模式演变
  • 数据质量元数据,例如正确性和完整性比率以及数据偏差
  • 访问政策和程序

这些是允许数据消费者发现和访问数据的必要条件,而无需依赖手动程序或联系数据产品的领域专家以获取有关数据含义以及如何访问数据的更多知识。

数据治理:可发现性、可访问性和可审计性

组织需要在前面说明的敏捷性与适当减轻与数据泄漏相关的风险之间取得平衡。 特别是在金融服务等受监管的行业中,需要维护中央数据治理以提供整体数据访问和审计控制,同时通过避免在不同位置复制相同数据的多个副本来减少存储空间。

在传统的集中式数据湖架构中,数据生产者通常会发布原始数据,并将数据管理、数据质量管理和访问控制的职责转交给集中式数据平台团队中的数据和基础设施工程师。 然而,这些数据平台团队可能不太熟悉各种数据域,并且仍然依赖数据生产者的支持,以便能够根据每个数据域强制执行的策略正确地管理和管理对数据的访问。 相比之下,数据生产者本身最适合提供经过策划的、合格的数据资产,并且了解在访问数据资产时需要执行的特定领域的访问策略。

解决方案概述

下图显示了建议解决方案的高级架构。

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。

我们通过分析和 ML CoE 解决数据消耗问题 亚马逊雅典娜亚马逊SageMaker in 部分2 这个系列。

在这篇文章中,我们将重点关注数据网格中的数据载入过程,并描述个人 LoB(例如消费者银行领域数据团队)如何使用 AWS 工具,例如 AWS胶水AWS Glue 数据酿造 准备、管理和提高其数据产品的质量,然后将这些数据产品注册到中央数据治理帐户 AWS湖形成.

消费银行业务 LoB(数据生产者)

数据网格的核心原则之一是数据即产品的概念。 消费者银行领域数据团队致力于准备可供数据消费者使用的数据产品,这一点非常重要。 这可以通过使用 AWS Glue 等 AWS 提取、转换和加载 (ETL) 工具来处理收集的原始数据来完成 亚马逊简单存储服务 (Amazon S3),或者连接到生成数据的操作数据存储。 你也可以使用 数据酿造,这是一个无代码可视化数据准备工具,可以轻松清理和规范化数据。

例如,在准备消费者信用档案数据产品时,消费者银行领域数据团队可以进行简单的管理,将从开源数据集中检索到的原始数据的属性名称从德语翻译成英语 Statlog 德国信用数据,由 20 个属性和 1,000 行组成。

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。

数据治理

启用数据网格治理的核心 AWS 服务是 Lake Formation。 Lake Formation 提供了在每个数据域内和跨域执行数据治理的能力,以确保数据易于发现和安全。 它提供了一个可以集中管理的联合安全模型,具有数据发现、安全性和合规性的最佳实践,同时允许每个域内的高度敏捷性。

Lake Formation 提供了一个 API 来简化数据的摄取、存储和管理方式,并提供行级安全性来保护您的数据。 它还提供精细访问控制、受管表和存储优化等功能。

此外,Lake Formations 还提供 数据共享 API 您可以用来共享数据 跨不同账户. 这允许分析和 ML CoE 使用者运行 Athena 查询,以跨多个账户查询和连接表。 有关详细信息,请参阅 AWS Lake Formation 开发人员指南.

AWS 资源访问管理器 (AWS RAM) 提供了一种通过以下方式共享资源的安全方式 AWS 身份和访问管理器 (IAM) 跨组织或组织单位 (OU) 中的 AWS 账户的角色和用户 AWS 组织。

Lake Formation 与 AWS RAM 一起提供了一种跨 AWS 账户管理数据共享和访问的方法。 我们将这种方法称为 基于 RAM 的访问控制. 有关此方法的更多详细信息,请参阅 使用 AWS Lake Formation 为您的数据网格构建数据共享工作流程.

Lake Formation 还提供了另一种管理数据共享和访问的方法,使用 湖泊形成 的标签. 我们将这种方法称为 基于标签的访问控制. 有关详细信息,请参阅 使用基于 AWS Lake Formation 标记的访问控制大规模构建现代数据架构和数据网格模式.

在这篇文章中,我们使用基于标签的访问控制方法,因为它简化了在不同 LoB 中常见的少量逻辑标签上创建策略,而不是在基础设施级别指定命名资源的策略。

先决条件

要设置数据网格架构,您至少需要三个 AWS 账户:一个生产者账户、一个中央账户和一个消费者账户。

部署数据网格环境

要部署数据网格环境,您可以使用以下内容 GitHub存储库. 该存储库包含三个 AWS CloudFormation 部署包含每个帐户(生产者、中心和消费者)的数据网格环境的模板。 在每个账户中,您可以运行其对应的 CloudFormation 模板。

中央账户

在中央帐户中,完成以下步骤:

  1. 启动CloudFormation堆栈:
    使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。
  2. 创建两个 IAM 用户:
    1. DataMeshOwner
    2. ProducerSteward
  3. 格兰特 DataMeshOwner 作为 Lake Formation 管理员。
  4. 创建一个 IAM 角色:
    1. LFRegisterLocationServiceRole
  5. 创建两个 IAM 策略:
    1. ProducerStewardPolicy
    2. S3DataLakePolicy
  6. 创建数据库信用卡 ProducerSteward 在生产者帐户。
  7. 将数据位置权限共享给生产者账户。

生产者帐号

在生产者账户中,完成以下步骤:

  1. 启动CloudFormation堆栈:
    使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。
  2. 创建S3存储桶 credit-card,它持有桌子 credit_card.
  3. 允许中央账户 Lake Formation 服务角色访问 S3 存储桶。
  4. 创建 AWS Glue 爬网程序 creditCrawler-<ProducerAccountID>.
  5. 创建 AWS Glue 爬网程序服务角色。
  6. 授予 S3 存储桶位置的权限 credit-card-<ProducerAccountID>-<aws-region> 到 AWS Glue 爬网程序角色。
  7. 创建生产者管家 IAM 用户。

消费者账户

在消费者账户中,完成以下步骤:

  1. 启动CloudFormation堆栈:
    使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。
  2. 创建S3存储桶 <AWS Account ID>-<aws-region>-athena-logs.
  3. 创建 Athena 工作组 consumer-workgroup.
  4. 创建 IAM 用户 ConsumerAdmin.

添加数据库并订阅消费者帐户

运行模板后,您可以通过 一步一步的指导 在数据目录中添加产品并让消费者订阅它。 该指南首先设置一个数据库,生产者可以在其中放置其产品,然后解释消费者如何订阅该数据库并访问数据。 所有这些都是在使用时执行的 LF标签, 哪一个是 基于标签的访问控制 对于湖的形成。

数据产品注册

以下架构描述了充当数据生产者的消费者银行业务 LoB 团队如何在中央数据治理帐户中注册其数据产品的详细步骤(板载数据产品到组织数据网格)。

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。

注册数据产品的一般步骤如下:

  1. 为中央治理帐户中的数据产品创建目标数据库。 例如,来自中央账户的 CloudFormation 模板已经创建了目标数据库 credit-card.
  2. 与生产者帐户中的源共享创建的目标数据库。
  3. 在生产者账户中创建共享数据库的资源链接。 在以下屏幕截图中,我们在生产者帐户的 Lake Formation 控制台上看到 rl_credit-card 是资源链接 credit-card 数据库。
    使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。
  4. 在资源链接数据库(rl_credit-card) 在生产者账户中使用 AWS Glue 爬网程序。
    使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。

创建的表会自动出现在中央治理帐户中。 以下屏幕截图显示了中央帐户中 Lake Formation 中的表格示例。 这是在执行前面的步骤以填充资源链接数据库之后 rl_credit-card 在生产者帐户中。

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。

结论

在本系列的第 1 部分中,我们讨论了金融服务组织的目标,即为其分析和 ML 团队实现更高的敏捷性,并减少从数据到洞察的时间。 我们还专注于在 AWS 上构建数据网格架构,我们在其中引入了易于使用、可扩展且具有成本效益的 AWS 服务,例如 AWS Glue、DataBrew 和 Lake Formation。 数据生产团队可以使用这些服务来构建和共享精心策划的、高质量、可互操作且安全的数据产品,这些产品可供不同的数据消费者用于分析目的。

In 部分2,我们专注于分析和 ML CoE 团队,他们使用消费者银行 LoB 共享的数据产品,使用 Athena 和 SageMaker 等 AWS 服务构建信用风险预测模型。


关于作者

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。卡里姆·哈穆达 是 AWS 的分析专家解决方案架构师,对数据集成、数据分析和 BI 充满热情。 他与 AWS 客户合作设计和构建有助于其业务增长的分析解决方案。 空闲时间,他喜欢看电视纪录片,和儿子一起玩电子游戏。

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。哈桑·波纳瓦拉(Hasan Poonawala) Hasan 是 AWS 的高级 AI/ML 专家解决方案架构师,帮助客户在 AWS 的生产环境中设计和部署机器学习应用程序。 作为数据科学家、机器学习从业者和软件开发人员,他拥有超过 12 年的工作经验。 在业余时间,Hasan 喜欢探索大自然并与朋友和家人共度时光。

使用 AWS 上的数据网格架构构建和训练 ML 模型:第 1 部分 PlatoBlockchain 数据智能。 垂直搜索。 哎。贝努瓦·德·帕图尔 是 AWS 的 AI/ML 专家解决方案架构师。 他通过提供指导和技术援助来帮助客户使用 AWS 构建与 AI/ML 相关的解决方案。 在空闲时间,他喜欢弹钢琴,和朋友一起消磨时光。

时间戳记:

更多来自 AWS机器学习