存储服务提供必要的数据架构,有助于在 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 |
|---|---|---|
| 架构 | 对象存储区
|
并行文件系统
|
| 存储空间容量 | 容量可扩缩至 EB 级。 |
容量可扩缩至 80 PB,具体取决于实例的 性能层级。 |
| 性能 | 支持以下功能:
|
支持以下功能:
|
| 价格 |
如需了解详情,请参阅 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 通过 fsspec 与 GCSFS 或通过 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 缓存并 恢复聊天,而无需重新处理整个 聊天记录。 |
后续步骤
详细了解 Cloud Storage Rapid,这是 Cloud Storage 中的一系列产品,专为 AI、机器学习和 数据密集型分析而设计。
了解如何在使用 Cloud Storage FUSE或 Cloud Storage FUSE CSI 驱动程序 下载数据集时优化性能。