适用于 AI 和机器学习工作负载的存储服务简介

存储服务提供必要的数据架构,有助于在 AI Hypercomputer 中实现高性能模型训练、推理和微调。

这些建议专门针对 集群式 GPU

本文档旨在帮助架构师、存储工程师和开发者评估和选择适合其在 AI Hypercomputer 上运行的工作负载的存储服务。

存储服务简介

Google Cloud 提供了多种针对 AI 和机器学习用例进行了优化的存储解决方案:

  • Cloud Storage 是一种对象存储系统,专为处理和存储海量数据集(例如训练或批量推理所需的数据集)而设计。Cloud Storage 提供了多种功能,可帮助您针对 AI 和机器学习任务优化数据存储。

  • Google Cloud Managed Lustre 是一种全代管式并行文件系统,符合 POSIX 标准,专为训练和推理工作负载所需的专业化、低延迟和高并发元数据性能而设计。

以下部分详细介绍了每种存储服务。

Cloud Storage

Cloud Storage 是一种基础对象存储区,旨在提供全球可伸缩性、耐用性和经济效益。使用 Cloud Storage 时,您会将数据作为对象存储在称为 “存储分区”的容器中。Cloud Storage 为存储分区提供了多种功能,有助于优化 AI 和机器学习工作负载性能:

  • Cloud Storage Rapid 系列中的产品 旨在通过 将数据放置在更靠近计算资源的位置,来消除 AI 和机器学习工作负载的数据瓶颈。借助这些产品,您可以将数据与计算工作负载放置在同一可用区中,并为 GPU 或 TPU 集群实现高性能且经济高效的数据存储伸缩。Cloud Storage Rapid 产品包括:

    • Rapid Bucket 可为可用区级存储分区提供 Cloud Storage 中最快的 读取和写入性能。 可用区级存储分区中的对象存储在 Rapid Storage中,这是一种针对 I/O 密集型工作负载进行了优化的高性能存储类别。除了延迟较低之外,与 Cloud Storage 中的其他产品和存储桶位置相比,Rapid Bucket 的吞吐量也显著提高(高达 15 TB/秒)。

    • Rapid Cache 可加快对现有存储分区的数据读取速度,而无需更改代码。Rapid Cache 是一种基于 SSD 的可用区级读取缓存,适用于 Cloud Storage 存储分区,用于处理数据读取请求。与没有缓存的存储分区相比,该产品可提供更高的吞吐量(高达 2.5 TB/秒)和更低的延迟。

      Rapid Cache 通常针对多区域存储分区进行设置,其中 加速器容量分散在各个 Google Cloud 区域。 与直接从多区域存储桶读取的数据相比,从缓存读取的数据产生的数据传输费用更低。

  • Cloud Storage FUSE 是一种开源 FUSE 适配器,可让您将存储分区作为本地文件系统装载,从而使应用能够使用标准文件系统语义与对象存储进行交互。借助此功能,您可以利用 Cloud Storage 的全球可伸缩性、耐用性和经济效益,同时实现本地文件访问。Cloud Storage FUSE 由 积极维护和支持 Google。

    Cloud Storage FUSE 提供多个客户端缓存和调优参数,例如并行下载。这些功能可以抽象出开发复杂性,并通过分片或并行化流来帮助实现峰值性能。

  • 分层命名空间可在存储桶中实现真正的 文件系统结构,并提供高效的数据管理 功能,包括原子文件夹重命名,以及在使用 Cloud Storage FUSE 装载存储桶时更快的文件查找 。与没有分层命名空间的存储分区相比,分层命名空间的对象读取和写入每秒查询次数 (QPS) 高出 8 倍。如需详细了解使用分层命名空间的好处,请参阅 性能和管理优势

    如果您有需要高吞吐量数据加载和频繁模型检查点的工作负载,强烈建议您启用分层命名空间。 使用 Rapid Bucket 创建可用区级存储分区时,必须启用分层命名空间。

Managed Lustre

Google Cloud Managed Lustre 是一种高性能、 符合 POSIX 标准的全代管式并行文件系统,针对 AI 和 机器学习应用进行了优化。Managed Lustre 架构非常适合高吞吐量、低延迟和高元数据并发 AI/机器学习工作负载,例如检查点、强化学习中的高速权重传播和键值对 (KV) 缓存。

如需详细了解 Managed Lustre 的常见用例, 请参阅 业务场景

存储服务对比

下表对 Cloud Storage 和 Managed Lustre 的关键特性进行了概要比较:

特性 Cloud Storage Managed Lustre
架构

对象存储区

  • 默认情况下,数据存储在扁平 存储分区 中。所有存储桶类型(可用区级、区域级、双区域级和 多区域级)都提供地理位置冗余选项,这些选项 可以通过 Cloud Storage Rapid 功能加速。
  • 您可以选择启用 分层命名空间 以创建支持在文件系统 结构中存储数据的存储分区。
  • 您可以选择启用 Cloud Storage FUSE ,以将存储分区作为本地文件系统装载。

并行文件系统

  • 数据以文件形式存储在 Managed Lustre 实例 中,并作为本地文件系统装载到加速器集群中 ,无需进行任何额外的调优。
存储空间容量

容量可扩缩至 EB 级。

容量可扩缩至 80 PB,具体取决于实例的 性能层级

性能

支持以下功能:

  • 使用 Rapid Bucket 打开文件时,延迟时间低于 1 毫秒
  • 使用 Rapid Bucket 时,IOPS/TiB 可达数千万
  • 使用 Rapid Cache 时,带宽高达 2.5 TB/秒
  • 使用 Rapid Bucket 时,带宽高达 15 TB/秒
  • 带宽增加请求

支持以下功能:

  • 延迟时间低于 1 毫秒
  • IOPS/TiB 可达数千万
  • 带宽高达 10 TB/秒
价格

如需了解详情,请参阅 Cloud Storage 价格

如需了解详情,请参阅 Managed Lustre 价格

按要求提供的建议

建议用于需要可伸缩的对象存储区和 一般成本效益的应用,以用于训练数据集、异步多层 检查点和模型权重存储。特别是,建议使用 Cloud Storage Rapid 来实现高性能且经济高效的数据伸缩。

建议用于需要完全符合 POSIX 标准的并行文件系统或主目录的应用。还建议用于对延迟敏感或高元数据并发的工作负载,例如 KV 缓存卸载、同步检查点和强化学习的高速权重传播。

按用例提供的存储服务建议

用例 存储服务建议 建议原因
训练和准备数据集 主要建议:Cloud Storage Rapid Bucket Cloud Storage 存储分区提供海量训练和推理数据集通常需要的容量、吞吐量扩缩、 经济效益和耐用性。使用 Rapid Bucket 创建可用区级存储桶时,可用区级存储桶可以以最佳成本获得非常高 的吞吐量(高达 15 TB/秒)和低于 1 毫秒的打开文件延迟。
次要建议: Managed Lustre Managed Lustre 提供低于 1 毫秒的延迟。 它可用作专用超快速工作区,用于处理最 密集的训练和数据集准备任务,在这些任务中,低延迟和 元数据并发性能是重中之重。
移动或保存模型权重以进行检查点或 权重转移 主要建议: Managed Lustre Managed Lustre 提供低于 1 毫秒的延迟和 并行数据访问,使数千个部署工作器能够 同时提取相同的权重文件,而不会降低速度。
次要建议:Cloud Storage Rapid Bucket 当 Rapid Bucket 通过 fsspecGCSFS 或通过 Cloud Storage FUSE with 客户端性能调优 结合使用时,非常适合异步多层或分布式检查点。
存储和下载模型以进行推理 主要建议:Cloud Storage Rapid Cache 或 Rapid Bucket

Rapid Cache 充当助推器 ,有助于减少推理冷启动。借助 Rapid Cache, 模型权重可以在与推理节点相同的可用区中预热,从而使新的推理实例能够快速下载 模型权重并处理其第一个请求。

Rapid Bucket 充当高性能加速可用区级 存储引擎,让您能够将模型权重放置在与推理舰队相同的可用区中。

对于模型部署,我们建议使用 Run:ai Model Streamer for vLLM 来获得最佳下载性能。对于其他推理堆栈,优化 Cloud Storage FUSE 并行下载参数 可以显著减少模型权重下载期间的冷启动延迟。

次要建议: Managed Lustre Managed Lustre 提供低于 1 毫秒的延迟和 并行数据访问,有利于对性能敏感的模型以及同时下载同一模型的并发 GPU 的 伸缩。
KV 缓存卸载 主要建议: Managed Lustre Managed Lustre 提供低于 1 毫秒的延迟和 并行数据访问,使不同的节点能够“提取”KV 缓存并 恢复聊天,而无需重新处理整个 聊天记录。

后续步骤