存储服务提供必要的数据架构,有助于在 AI Hypercomputer 生态系统中实现高性能的模型训练、推理和微调。虽然 Google Cloud中提供了多种存储服务,但最合适的选择取决于您在人工智能 (AI) 和机器学习 (ML) 生命周期内对 I/O、吞吐量、规模和延迟的要求。
本文档将介绍并比较 Google Cloud 中的存储服务,这些服务可帮助您最大限度地优化 GPU 或 TPU 性能。此外,它还会针对特定的 AI 和 ML 应用场景提供有关理想服务的建议。
存储服务简介
Google Cloud 提供多种针对 AI 和 ML 应用场景优化的存储解决方案:
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 是一种基于固态硬盘的区域性读取缓存,适用于 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 装载存储桶时更快地查找文件。与未启用分层命名空间的存储分区相比,分层命名空间可为对象读取和写入提供高出 8 倍的每秒查询次数 (QPS)。如需详细了解使用分层命名空间的好处,请参阅性能和管理优势。
如果您的工作负载需要高吞吐量的数据加载和频繁的模型检查点,强烈建议您启用分层命名空间。使用 Rapid Bucket 创建可用区级存储分区时,必须启用分层命名空间。
Managed Lustre
Google Cloud Managed Lustre 是一种高性能、符合 POSIX 标准的全代管式并行文件系统,可针对 AI 和 ML 应用进行优化。Managed Lustre 架构非常适合高吞吐量、低延迟和高元数据并发 AI/机器学习工作负载,例如检查点设置、强化学习中的高速权重传播和键值 (KV) 缓存。
如需详细了解 Managed Lustre 的常见使用场景,请参阅业务场景。
存储服务比较
下表从关键特征方面对 Cloud Storage 和 Managed Lustre 进行了概要比较:
| 特性 | Cloud Storage | Managed Lustre |
|---|---|---|
| 架构 | 对象存储区
|
并行文件系统
|
| 存储空间容量 | 可扩容至 EB 级容量。 |
容量最高可扩至 80 PB,具体取决于实例的性能层级。 |
| 性能 | 支持以下内容:
|
支持以下内容:
|
| 价格 |
如需了解详情,请参阅 Cloud Storage 价格。 |
如需了解详情,请参阅 Managed Lustre 价格。 |
| 按要求提供的建议 | 建议用于需要伸缩对象存储区和总体成本效益的应用,以用于训练数据集、异步多层检查点和模型权重存储。尤其是,建议使用 Cloud Storage Rapid 来实现高性能且经济高效的数据伸缩。 |
建议用于需要完全符合 POSIX 标准的并行文件系统或主目录的应用。还建议用于对延迟敏感或元数据并发性高的工作负载,例如 KV 缓存分流、同步检查点和用于强化学习的高速权重传播。 |
按应用场景推荐的存储服务
| 使用场景 | 存储服务建议 | 建议原因 |
|---|---|---|
| 训练和准备数据集 | 主要建议:Cloud Storage Rapid Bucket | Cloud Storage 存储分区可提供大量训练和推理数据集通常所需的容量、吞吐量规模、成本效益和持久性。当您使用 Rapid Bucket 创建可用区级存储桶时,可用区级存储桶可以以最佳成本获得极高的吞吐量(最高可达 15 TB/秒)和亚毫秒级延迟(针对打开的文件)。 |
| 次要建议: Managed Lustre | Managed Lustre 提供亚毫秒级延迟。 它可作为专用超快速工作区,用于处理最密集的训练和数据集准备任务,在这些任务中,低延迟和元数据并发性能是首要考虑因素。 | |
| 移动或保存模型权重以进行检查点设置或权重转移 | 主要建议: Managed Lustre | Managed Lustre 提供低于 1 毫秒的延迟和并行数据访问,可让数千个推出工作器同时拉取同一权重文件,而不会减慢速度。 |
| 次要建议:Cloud Storage Rapid Bucket | 如果通过 fsspec 或具有客户端性能调优功能的 Cloud Storage FUSE 将 Rapid Bucket 与 GCSFS 搭配使用,则非常适合异步多层或分布式检查点设置。 |
|
| 存储和下载模型以进行推理 | 主要建议: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 提供毫秒以下的延迟和并行数据访问,可提升对性能敏感的模型的性能,并支持同时下载同一模型的并发 GPU 的伸缩。 | |
| KV 缓存分流 | 主要建议: Managed Lustre | Managed Lustre 提供亚毫秒级延迟和并行数据访问,使不同的节点能够“拉取”KV 缓存并恢复对话,而无需重新处理整个对话历史记录。 |
后续步骤
详细了解 Cloud Storage Rapid,这是 Cloud Storage 中的一系列产品,专为 AI、ML 和数据密集型分析而设计。
了解如何在使用 Cloud Storage FUSE 或 Cloud Storage FUSE CSI 驱动程序下载数据集时优化性能。