为 Google Cloud 中的 AI 和机器学习工作负载设计存储

Last reviewed 2025-04-09 UTC

本文档提供了有关如何为 AI 和机器学习工作负载选择和集成Google Cloud 存储服务的设计指导。机器学习生命周期中的每个阶段都有不同的存储要求。例如,在上传训练数据集时,您可能需要优先考虑训练的存储容量和大数据集的高吞吐量。同样,训练、调优、提供服务和归档阶段也有不同的要求。对于大多数 AI 和机器学习工作负载,我们建议您使用 Google Cloud Managed Lustre 作为存储解决方案。Managed Lustre 具有高性能和可伸缩性,非常适合用于训练、检查点和提供服务。提供服务和归档阶段有不同的要求。

本文档可帮助您评估容量、延迟时间和吞吐量要求,以便做出明智的选择,确定合适的存储解决方案。本文档假设您已选择满足工作负载要求的计算平台。对于 AI 和 ML 工作负载,我们建议您使用 Compute EngineGoogle Kubernetes Engine (GKE)。如需详细了解如何选择计算平台,请参阅在 Google Cloud上托管应用

以下标签页简要总结了机器学习工作流各个阶段的推荐存储选择。如需了解详情,请参阅选择合适的存储空间

准备

在机器学习工作流的准备阶段,您需要执行以下操作:

  1. 上传和注入数据。
  2. 在训练模型之前,请将数据转换为正确的格式。

如需使用多种存储类别来优化存储费用,我们建议您使用 Cloud Storage Autoclass 功能或对象生命周期管理功能。

训练

在机器学习工作流的训练阶段,您将执行以下操作:

  1. 模型开发:使用笔记本并应用迭代试错法来开发模型。
  2. 模型训练
    • 使用不同规模的机器学习加速器重复读取训练数据集。
    • 在模型开发和训练过程中应用迭代流程。
  3. 检查点和重启
    • 在模型训练期间,通过创建检查点定期保存状态,以便在节点发生故障后重新开始训练。
    • 根据 I/O 模式和需要在检查点保存的数据量来选择检查点。

对于训练阶段,我们建议使用以下存储选项:

  • 如果您的工作负载具有以下特征,请使用 Managed Lustre:
    • 最低训练容量要求为 18 TiB。
    • 包含小于 50 MB 的小文件的训练数据,以充分利用低延迟功能。
    • 延迟要求低于 1 毫秒,以满足随机 I/O 和元数据访问的存储要求。
    • 需要执行频繁的高性能检查点。
    • 提供类似桌面设备的体验,并支持完整的 POSIX,以便您查看和管理用户的数据。
  • 如果您的工作负载具有以下特征,请将 Cloud Storage 与 Cloud Storage FUSE 和 Anywhere Cache 搭配使用:
    • 包含 50 MB 或更大文件的训练数据。
    • 对数十毫秒的较高存储延迟时间的容忍度。
    • 优先考虑数据耐用性和高可用性,而不是存储性能。

为优化费用,我们建议您在模型训练的所有阶段都使用同一存储服务。

服务

在机器学习工作流的提供阶段,您将执行以下操作:

  1. 存储模型。
  2. 在启动时运行机器学习加速器的实例中加载模型。
  3. 存储模型推理的结果,例如生成的图片。
  4. (可选)存储和加载用于模型推理的数据集。

对于提供阶段,我们建议使用以下存储选项:

  • 如果您的工作负载具有以下特征,则适合使用 Managed Lustre:
    • 您的训练和检查点工作负载使用托管 Lustre。
    • 10 到 100 个推理节点的要求。
    • 频繁更新模型。
  • 如果您的工作负载具有以下特征,则可以使用 Cloud Storage、Cloud Storage FUSE 和 Anywhere Cache:
    • 需要一种经济实惠的解决方案,以应对推理节点数量可能发生变化的环境。
    • 模型更新频率较低。
    • 优先考虑模型的高可用性和持久性,即使在发生区域性中断时也是如此。
  • 如果您的工作负载具有以下特征,则适合使用 Google Cloud Hyperdisk ML:
    • 需要 100 个以上的推理节点。
    • 模型更新频率较低。
    • 您的工作负载使用受支持的虚拟机 (VM) 类型
    • 流水线可以管理只读卷来存储模型。

归档

在机器学习工作负载的归档阶段,您会长时间保留训练数据和模型。

如需通过多种存储类别优化存储费用,我们建议您使用 Cloud Storage Autoclass对象生命周期管理

设计过程概览

如需确定Google Cloud中 AI 和机器学习工作负载的合适存储方案,请执行以下操作:

  1. 请考虑工作负载的特征、性能预期和费用目标。
  2. 查看 Google Cloud中推荐的存储服务和功能。
  3. 根据您的要求和可用选项,选择机器学习工作流程中每个阶段(准备、训练、提供服务和归档)所需的存储服务和功能。

本文档重点介绍机器学习工作流中需要仔细考虑存储方案的阶段,但并未涵盖整个机器学习生命周期、流程和功能

下面简要介绍了为 AI 和机器学习工作负载选择存储的 3 阶段设计流程:

  1. 定义要求
    • 工作负载特性
    • 安全限制条件
    • 恢复能力要求
    • 效果预期
    • 费用目标
  2. 查看存储选项
    • Managed Lustre
    • Cloud Storage
    • Hyperdisk ML
  3. 选择合适的存储:根据机器学习工作流每个阶段的工作负载特征,选择合适的存储服务、功能和设计选项。

定义您的要求

在Google Cloud中为 AI 和机器学习工作负载选择存储方案之前,您必须先确定该工作负载的存储要求。如需定义存储空间要求,您应考虑计算平台、容量、吞吐量和延迟时间要求等因素。

为帮助您为 AI 和机器学习工作负载选择存储选项,请考虑工作负载的特征:

  • 您的 I/O 请求大小和文件大小是小(KB)、中还是大(MB 或 GB)?
  • 您的工作负载主要表现出顺序或随机文件访问模式吗?
  • 您的 AI 和机器学习工作负载是否对 I/O 延迟时间和第一字节时间 (TTFB) 敏感?
  • 您是否需要为单个客户端、聚合客户端或两者提供高读写吞吐量?
  • 您最大的单个 AI 和 ML 训练工作负载需要多少个图形处理单元 (GPU)张量处理单元 (TPU)

您可以使用对这些问题的回答,在本文档中稍后选择合适的存储空间

查看存储选项

Google Cloud 提供所有主要存储格式的存储服务:块、文件、并行文件系统和对象。下表介绍了您可以考虑的选项,以便在Google Cloud上运行 AI 和机器学习工作负载。下表列出了本文档重点介绍的三种由 Google 管理的存储方案,可用于 AI 和机器学习工作负载。不过,如果您有这些产品无法满足的特定需求,不妨考虑 Google Cloud Marketplace 中提供的合作伙伴管理的存储解决方案

查看并评估每种存储格式的可用服务的特征、设计选项和相关优势。

存储服务 存储类型 特性
Managed Lustre 并行文件系统
Cloud Storage 对象
Hyperdisk ML 屏蔽
  • 存储容量小,但性能出色。
  • 持久只读。
  • 最高 1.2 TB/s 的总吞吐量。

Managed Lustre

Managed Lustre 是 Google Cloud中的全代管式文件系统。Managed Lustre 提供基于 DDN EXAScaler Lustre 文件系统构建的持久性区域实例。Managed Lustre 非常适合需要提供低延迟(小于 1 毫秒)访问、高吞吐量和高每秒输入/输出操作数 (IOPS) 的 AI 和机器学习工作负载。Managed Lustre 可以为少量虚拟机或数千个虚拟机保持高吞吐量和高 IOPS。

托管式 Lustre 具有以下优势:

  • 符合 POSIX 标准:支持 POSIX 标准,有助于确保与许多现有应用和工具的兼容性。
  • 降低训练总拥有成本:通过高效地将数据交付给计算节点来缩短训练时间。这种加速有助于降低 AI 和机器学习模型训练的总拥有成本。
  • 降低了提供服务的总拥有成本 (TCO):与 Cloud Storage 相比,可实现更快的模型加载速度和优化的推理服务。这些功能有助于降低计算费用并提高资源利用率。
  • 高效利用资源:在单个实例中结合使用检查点和训练。这种资源利用率有助于最大限度地提高单个高性能存储系统中读写吞吐量的使用效率。

Cloud Storage

Cloud Storage 是一项全代管式对象存储服务,适用于任何规模的 AI 和 ML 工作负载。Cloud Storage 非常擅长处理非结构化数据,可用于 AI 和机器学习工作流的所有阶段。

Cloud Storage 具有以下优势:

  • 高可伸缩性:获得无限的存储容量,可在全球范围内扩展到 EB 级。
  • 高吞吐量:在进行必要规划后,可扩容至 1 TB/秒。
  • 灵活的位置选项:为 AI 和机器学习工作负载选择区域、多区域和双区域存储选项。
  • 经济实惠:受益于一系列存储类别,这些类别旨在根据您的数据访问模式优化成本。

Cloud Storage 在规模和成本效益方面表现出色,但请务必考虑其延迟时间和 I/O 特征。延迟时间预计为数十毫秒,高于其他存储选项。为了最大限度地提高吞吐量,您需要使用数百或数千个线程、大文件和大 I/O 请求。Cloud Storage 提供各种编程语言的客户端库,并提供 Cloud Storage FUSEAnywhere Cache

Cloud Storage FUSE 是一种由 Google 支持的开源 FUSE 适配器。借助 Cloud Storage FUSE,您可以将 Cloud Storage 存储分区装载为本地驱动器。Cloud Storage FUSE 不完全符合 POSIX 标准。因此,请务必了解 Cloud Storage FUSE 的限制以及与传统文件系统的区别。借助 Cloud Storage FUSE,您可以利用 Cloud Storage 的可扩缩性、经济实惠性和性能来访问训练数据、模型和检查点。

Cloud Storage FUSE 缓存具有以下优势:

  • 可移植性:使用标准文件系统语义装载和访问 Cloud Storage 存储分区,从而提高应用的可移植性。
  • 兼容性:无需重构应用即可使用特定于云的 API,从而节省时间和资源。
  • 缩短了闲置时间:通过直接访问 Cloud Storage 中的数据来快速启动训练作业,从而最大限度地缩短 GPU 和 TPU 的闲置时间。
  • 高吞吐量:充分利用 Cloud Storage 的内置可伸缩性和性能,该服务针对使用 GPU 或 TPU 的读取密集型机器学习工作负载进行了优化。
  • 客户端本地 文件缓存:使用客户端本地缓存加快训练速度,该缓存可加快重复文件读取速度。如果将此加速器与 A3 机器类型捆绑的 6 TiB 本地 SSD 搭配使用,可进一步提升加速效果。

Anywhere Cache 是一项 Cloud Storage 功能,可为 Cloud Storage 存储分区提供高达 1 PiB 的 SSD 支持的可用区级读取缓存。Anywhere Cache 旨在通过为特定可用区内频繁读取的数据提供本地快速访问层,来加速数据密集型应用。

Anywhere Cache 具有以下优势:

  • 加速吞吐量:自动扩缩缓存容量和带宽,以提供高吞吐量,超出区域带宽配额,并实现一致且可预测的延迟时间。
  • 降低费用:避免为缓存数据支付数据传输出站费用或存储类别检索费用。Anywhere Cache 会自动调整缓存和可用带宽的大小,以满足您的工作负载需求。

Hyperdisk ML

Hyperdisk ML 是一种高性能块存储解决方案,旨在加速需要对大型数据集进行只读访问的 AI 和 ML 工作负载。Hyperdisk ML 利用 Colossus 的可伸缩性和可用性,在底层文件系统中平衡性能。与 Google Cloud 上的其他存储服务相比,Hyperdisk ML 特别适合用于服务任务,因为它可以同时为许多虚拟机提供极高的总吞吐量。

Hyperdisk ML 具有以下优势:

  • 加速模型服务和可伸缩性:可扩缩到数千个并发节点,实现高聚合吞吐量,从而优化 Kubernetes ReadOnlyMany 模式下推理工作负载的加载时间和资源利用率。
  • 高性能密度:实现Google Cloud 的最高可用吞吐量,并针对大型共享数据集实现快速读取操作。
  • 降低总拥有成本 (TCO):缩短 GPU 空闲时间、利用多连接功能和性能池化来降低成本。
  • 并发只读访问:通过在虚拟机之间共享磁盘来降低费用,这比使用多个包含相同数据的磁盘更经济实惠。 如需从多个虚拟机访问静态数据,您必须将同一磁盘以只读模式挂接到数百个虚拟机。如需更新卷,必须将相应磁盘与所有虚拟机(一个除外)分离。

合作伙伴存储解决方案

如果上述存储服务无法满足工作负载要求,您可以使用以下合作伙伴解决方案,这些解决方案可在 Cloud Marketplace 中找到:

这些合作伙伴解决方案不受 Google 管理。您需要管理部署和运营任务,以确保在基础架构中实现最佳集成和性能。

比较分析

下表显示了Google Cloud中存储服务的关键功能。

Managed Lustre Cloud Storage Hyperdisk ML
容量 18 TiB - 8 PiB 没有下限或上限。 4 GiB - 64 TiB
扩缩 不可扩缩 根据使用情况自动扩缩。 纵向扩容
共享 可在多个 Compute Engine 虚拟机和 GKE 集群上装载。
  • 可从任意位置读写。
  • Cloud CDN 和第三方 CDN 集成。
支持
加密密钥选项 Google-owned and Google-managed encryption keys
  • Google-owned and Google-managed encryption keys
  • 由客户管理
  • 由客户提供
  • Google-owned and Google-managed encryption keys
  • 由客户管理
  • 由客户提供
持久性 Managed Lustre 实例的生命周期。 存储桶的生命周期 磁盘的生命周期
可用性 可用区级 可用区级
性能 使用配置容量进行线性伸缩 自动扩缩读写速率和动态负载重新分布 动态伸缩永久性存储空间
管理 全托管式、符合 POSIX 标准 全代管式 手动格式化和装载

数据转移工具

本部分介绍了在Google Cloud上于不同存储服务之间转移数据的选项。执行 AI 和机器学习任务时,您可能需要将数据从一个位置移动到另一个位置。例如,如果您的数据最初位于 Cloud Storage 中,您可能会将其移至其他位置以训练模型,然后将检查点快照或训练后的模型复制回 Cloud Storage。

您可以使用以下方法将数据转移到 Google Cloud:

  • 使用 Storage Transfer Service 在线转移数据:在对象和文件存储系统(包括 Cloud Storage、Amazon S3、Azure 存储服务)与本地数据源之间自动转移大量数据。借助 Storage Transfer Service,您可以将数据从源位置安全地复制到目标位置,并定期转移更改后的数据。它还提供数据完整性验证、自动重试和负载均衡。
  • 使用 Transfer Appliance 离线转移数据:在网络连接和带宽不可用、受限或费用高昂的情况下,将大量数据离线转移并加载到 Google Cloud 。
  • 将数据上传到 Cloud Storage:使用 Google Cloud 控制台、gcloud CLI、Cloud Storage API 或客户端库将数据在线上传到 Cloud Storage 存储分区。

选择数据传输方法时,请考虑数据大小、时间限制、带宽可用性、费用目标以及安全和合规性要求等因素。如需了解如何规划和实现数据转移到 Google Cloud,请参阅迁移到 Google Cloud:转移您的大型数据集

选择适当的存储空间

AI 和 ML 工作负载通常涉及四个主要阶段:准备、训练、服务和归档。每个阶段都有独特的存储需求,选择合适的解决方案可以显著影响性能、成本和运营效率。借助混合或本地优化方法,您可以根据 AI 和机器学习工作负载每个阶段的具体需求来定制存储选择。不过,如果您优先考虑统一管理和易于操作,那么采用全球简化的方法(在所有阶段使用一致的解决方案)可能对任何规模的工作负载都有益。存储空间选择的有效性取决于数据集属性、所需计算和存储资源的规模、延迟时间以及您之前定义的工作负载要求

以下部分详细介绍了 AI 和机器学习工作负载的主要阶段,以及可能影响存储选择的因素。

准备

准备阶段为您的 AI 和 ML 应用奠定基础。它涉及将来自各种来源的原始数据上传到云环境,并将数据转换为可用于训练 AI 和机器学习模型的格式。此流程包括清理、处理和转换数据类型等任务,以确保与您选择的 AI 和机器学习框架兼容。

Cloud Storage 具有可伸缩性、耐用性和成本效益,非常适合用于准备阶段,尤其适用于 AI 中常见的大型数据集。Cloud Storage 可与其他Google Cloud 服务无缝集成,让您能够充分利用潜在的优化功能,进行数据密集型训练。

在数据准备阶段,您可以将数据重新整理为大块数据,以提高访问效率并避免随机读取请求。为了进一步降低对存储系统的 I/O 性能要求,您可以使用流水线、训练优化或同时使用这两种方法来增加 I/O 线程数。

训练

训练阶段是模型开发的核心,在此阶段,AI 和机器学习模型会从提供的数据中学习。此阶段涉及两个具有不同要求的关键方面:用于访问训练数据的高效数据加载,以及用于保存模型进度的可靠检查点。以下部分提供了建议,并介绍了在为数据加载和检查点选择合适的存储选项时需要考虑的因素。

数据加载

在数据加载期间,GPU 或 TPU 会反复导入批次数据来训练模型。在此阶段,您可以根据批次的大小以及请求它们的顺序,使用缓存来优化数据加载任务。在数据加载期间,您的目标是以最低的成本尽可能高效地训练模型。

如果训练数据的大小达到 PB 级,可能需要多次重新读取数据。这种规模需要 GPU 或 TPU 加速器进行密集处理。不过,您需要确保 GPU 和 TPU 不处于闲置状态,并确保它们主动处理数据。否则,在将数据从一个位置复制到另一个位置时,您需要为昂贵的空闲加速器支付费用。

为了优化数据加载的性能和成本,请考虑以下因素:

  • 数据集大小:整个训练数据语料库的大小,以及每个训练数据集的大小。
  • 访问模式:以下哪个选项最能对您的训练工作负载 I/O 访问模式进行分类:
    • 并行和顺序访问:文件分配给单个节点并按顺序读取。
    • 并行和随机访问:将文件分配给单个节点,并随机读取文件以创建一批样本。
    • 完全随机访问:节点可以从任何文件中读取任何范围来创建批次。
  • 文件大小:典型的读取请求大小。
用于数据加载的 Managed Lustre

如果符合以下任一条件,您应选择 Managed Lustre 来加载数据:

  • 您的最低训练容量要求为 18 TiB。
  • 您的训练数据由小于 50 MB 的小文件组成,以便利用低延迟功能。
  • 您需要满足随机 I/O 和元数据访问的存储要求,因此延迟时间必须小于 1 毫秒。
  • 您需要获得类似桌面设备的体验,并获得完整的 POSIX 支持,才能查看和管理用户的数据。

您可以将 Managed Lustre 用作 Cloud Storage 之上的高性能缓存,以加速 AI 和机器学习工作负载,这些工作负载需要极高的吞吐量和低延迟 I/O 操作,并使用全代管式并行文件系统。为最大限度缩短训练期间的延迟时间,您可以从 Cloud Storage 将数据导入到 Managed Lustre。如果您使用 GKE 作为计算平台,则可以使用

GKE Managed Lustre CSI 驱动程序,用于预先使用 Cloud Storage 中的数据填充 PersistentVolumesClaims。 训练完成后,您可以将数据导出到费用较低的 Cloud Storage 类,从而最大限度地减少长期存储费用。

用于数据加载的 Cloud Storage

如果符合以下任一条件,您通常应选择 Cloud Storage 来加载数据:

  • 您的训练容量需求为 100 TiB 或更高。
  • 您的训练数据包含 50 MB 或更大的大型文件。
  • 您优先考虑数据持久性和高可用性,而不是存储性能。

Cloud Storage 提供了一种可伸缩且经济实惠的解决方案,用于存储海量数据集;借助 Cloud Storage FUSE,您可以像访问本地文件系统一样访问这些数据。Cloud Storage FUSE 通过将训练数据靠近机器加速器来加快训练期间的数据访问速度,从而提高吞吐量。

对于需要超过 1 TB/s 吞吐量的工作负载,Anywhere Cache 通过缓存数据并将伸缩到超出区域带宽配额,来加快读取速度。如需评估 Anywhere Cache 是否适合您的工作负载,请使用 Anywhere Cache Recommender 分析您的数据用量和存储空间。

检查点和恢复

对于检查点和恢复,训练作业需要定期保存其状态,以便在实例发生故障时快速恢复。发生故障时,作业必须重启,注入最新的检查点,然后恢复训练。用于创建和注入检查点的确切机制通常特定于框架。如需了解 TensorFlow Core 的检查点和优化技巧,请参阅训练检查点。 如需了解 PyTorch 的检查点和优化技巧,请参阅保存和加载模型

您只需在任何一个时间点保存几个检查点。检查点工作负载通常主要由写入操作、少量删除操作组成,理想情况下,在发生故障时读取操作很少。

如需优化检查点创建和恢复性能,请考虑以下因素:

  • 模型大小:AI 和机器学习模型中的形参数量。 模型的大小直接影响其检查点文件的大小,后者可能介于 GiB 到 TiB 之间。
  • 检查点频率:模型保存检查点的频率。 频繁保存可提高容错能力,但会增加存储费用,并可能影响训练速度。
  • 检查点恢复时间:您希望加载检查点并恢复训练的恢复时间。为了尽可能缩短恢复时间,请考虑检查点大小、存储性能和网络带宽等因素。
用于检查点设置的 Managed Lustre

如果满足以下任一条件,您应选择 Managed Lustre 进行检查点设置:

  • 您的训练工作负载已使用 Managed Lustre 加载数据。
  • 您需要频繁执行高性能检查点操作。

为了最大限度地提高资源利用率并最大限度地减少加速器空闲时间,请使用托管 Lustre 进行训练和检查点设置。Managed Lustre 可实现快速检查点写入,从而实现较高的单虚拟机吞吐量。您可以将检查点保留在持久性托管 Lustre 实例中,也可以通过定期将检查点导出到 Cloud Storage 来优化成本。

用于设置检查点的 Cloud Storage

如果满足以下任一条件,您应选择 Cloud Storage 进行检查点设置:

  • 训练工作负载使用 Cloud Storage FUSE。
  • 您优先考虑数据持久性和高可用性,而不是存储性能。

为了提高检查点性能,请使用启用了分层命名空间的 Cloud Storage FUSE,以利用快速的原子重命名操作并异步保存检查点。为防止在提供服务期间意外泄露训练数据集中的敏感信息,您需要将检查点存储在单独的 Cloud Storage 存储桶中。为了帮助减少停滞上传的尾端写入延迟时间,Cloud Storage FUSE 会在 10 秒后尝试重试。

服务

当您应用模型(也称为推理)时,主要 I/O 模式为只读,用于将模型加载到 GPU 或 TPU 内存中。在服务阶段,您的目标是在生产环境中运行模型。模型比训练数据小得多,这意味着您可以跨多个实例复制和扩缩模型。在提供数据时,务必确保高可用性,并防范可用区级和区域级故障。因此,您必须确保模型在各种故障场景中均可用。

对于许多生成式 AI 和机器学习用例,模型的输入数据可能非常小,并且可能不需要持久存储数据。在其他情况下,您可能需要对模型运行大量数据(例如科学数据集)。如需运行大量数据,请选择一种存储选项,以便在分析数据集期间尽可能缩短 GPU 或 TPU 的空闲时间,并使用一个永久性位置来存储推理结果。

模型加载时间会直接影响加速器的空闲时间,从而产生大量费用。每个节点的模型加载时间增加可能会在许多节点上放大,从而导致成本大幅增加。因此,为了在服务基础架构中实现成本效益,您必须优化模型加载速度。

如需优化服务性能和成本,请考虑以下因素:

  • 模型大小:模型的大小(以 GiB 或 TiB 为单位)。较大的模型需要更多计算资源和内存,这可能会增加延迟时间。
  • 模型加载频率:您计划更新模型的频率。频繁加载和卸载会消耗计算资源并增加延迟时间。
  • 服务节点数:将有多少个节点为您的模型提供服务。 节点越多,延迟时间通常越短,吞吐量越高,但基础架构费用也会增加。

用于提供服务的 Managed Lustre

如果符合以下任一条件,您应选择 Managed Lustre 来提供模型:

  • 您的训练和检查点工作负载使用 Managed Lustre。
  • 您的工作负载使用 10 到 100 个推理节点。
  • 您经常更新模型。

如果您已使用托管 Lustre 进行训练和设置检查点,那么它可能是一个经济高效且高性能的模型服务选项。Managed Lustre 提供高单虚拟机吞吐量和集群总吞吐量,有助于缩短模型加载时间。您可以将 Managed Lustre 用于任意数量的提供服务的虚拟机。

用于提供服务的 Cloud Storage

如果符合以下任一条件,您应选择 Cloud Storage 来提供模型:

  • 您需要一种经济实惠的解决方案,以应对推理节点数量可能会发生变化的动态环境。
  • 您很少更新模型。
  • 您优先考虑模型的高可用性和高耐用性,即使在发生区域性中断时也是如此。

借助多区域或双区域架构,Cloud Storage 可提供高可用性,并保护您的工作负载免受可用区和区域故障的影响。为了加快模型加载速度,您可以启用 Cloud Storage FUSE 并行下载,以便并行提取模型的部分内容。

如需实现吞吐量超过 1 TB/s 的模型服务,或者部署超过 100 个服务节点,请将 Anywhere Cache 与多区域存储桶搭配使用。这种优势上的融合可以跨区域提供高性能的冗余存储,并实现灵活性。此外,Anywhere Cache 还可免除缓存数据的出站流量费用和存储类别检索费用。

用于提供服务的 Hyperdisk ML

如果符合以下任一条件,您应选择 Hyperdisk ML 来提供模型:

  • 您需要 100 个以上的推理节点。
  • 您很少更新模型。
  • 您的工作负载使用受支持的虚拟机类型
  • 流水线可以管理只读卷来存储模型。

通过将 Hyperdisk ML 用作 Cloud Storage 数据的缓存,优化服务性能。Hyperdisk ML 使用共享性能池,并在多个虚拟机之间动态预配吞吐量,以高效处理任意规模的只读模型服务。

归档

归档阶段的 I/O 模式为“写入一次,很少读取”。您的目标是存储不同的训练数据集和生成的不同版本的模型。您可以将这些增量版本的数据和模型用于备份和灾难恢复。您还必须将这些项长期存储在耐用的位置。虽然您可能不需要经常访问数据和模型,但您希望在需要时能够使用这些内容。

Cloud Storage 具有极高的耐用性、极大的规模和较低的费用,因此是长期存储对象数据的最佳Google Cloud 选择。Cloud Storage 可通过不同的存储类别来优化费用,具体取决于您访问数据集、模型和备份文件的频率。 您可以根据预期访问归档数据的频率来选择存储类别:

  • 频繁访问数据:标准存储空间
  • 每月数据访问:Nearline 存储空间
  • 每季度访问一次数据:Coldline Storage
  • 年度数据访问:Archive Storage

借助对象生命周期管理,您可以创建政策,根据特定条件自动将数据移至长期存储类别或删除数据。如果您不确定访问数据的频率,可以使用 Autoclass 功能根据您的访问模式自动在存储类别之间移动数据。

后续步骤

如需详细了解存储选项以及 AI 和机器学习工作负载,请参阅以下资源:

贡献者

作者:Samantha He | 技术文档工程师

其他贡献者: