ストレージ サービスは、AI Hypercomputer で高性能のモデル トレーニング、推論、ファインチューニングを実現するのに役立つ、不可欠なデータ アーキテクチャを提供します。
これらの推奨事項は、 クラスタ化された GPU に固有のものです。
このドキュメントは、AI Hypercomputer 上のワークロードに適したストレージ サービスを評価して選択する際に、アーキテクト、ストレージ エンジニア、デベロッパーを支援することを目的としています。
ストレージ サービスの概要
Google Cloud には、AI と ML のユースケースに最適化された複数のストレージ ソリューションが用意されています。
Cloud Storage は、トレーニングや一括推論に必要な大規模なデータセットの処理と保存用に設計されたオブジェクト ストレージ システムです。Cloud Storage には、AI / ML タスク用にデータ ストレージを最適化するのに役立つ機能がいくつか用意されています。
Google Cloud Managed Lustre は、トレーニング ワークロードと推論ワークロードに必要な、特殊な低レイテンシと高並行性のメタデータ パフォーマンス向けに設計された、フルマネージドの POSIX 準拠の並列ファイル システムです。
以降のセクションでは、各ストレージ サービスについて詳しく説明します。
Cloud Storage
Cloud Storage は、グローバルなスケーラビリティ、耐久性、費用対効果を提供するように設計された基盤となるオブジェクト ストアです。Cloud Storage を使用すると、データはバケットと呼ばれるコンテナにオブジェクトとして保存されます。Cloud Storage には、AI / ML ワークロードのパフォーマンスを最適化するうえで役立つバケットの機能が複数用意されています。
Cloud Storage Rapid ファミリーのプロダクトは、データをコンピューティング リソースの近くに配置することで、AI ワークロードと ML ワークロードのデータ ボトルネックを解消するように設計されています。これらのプロダクトを使用すると、コンピューティング ワークロードと同じゾーンにデータを配置し、GPU クラスタまたは TPU クラスタの高性能で費用対効果の高いデータ ストレージ スケーリングを実現できます。Cloud Storage Rapid プロダクトには、次のものがあります。
Rapid バケットは、Cloud Storage でゾーンバケットに対して最速の読み取り / 書き込みパフォーマンスを提供します。ゾーンバケット内のオブジェクトは、I/O 集約型ワークロード用に最適化された高性能ストレージ クラスである Rapid Storageに保存されます。Rapid Bucket は、レイテンシの短縮に加えて、Cloud Storage の他のプロダクトやバケットのロケーションと比較して、スループットが大幅に向上します(最大 15 TB/秒)。
Rapid Cache は、コードを変更することなく、既存のバケットへのデータ読み取りを高速化します。Rapid Cache は、Cloud Storage バケット用の SSD ベースのゾーン読み取りキャッシュです。これは、データ読み取りリクエストのデータを処理するために使用されます。このプロダクトは、キャッシュのないバケットよりも高いスループット(最大 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 は、AI アプリケーションと ML アプリケーション向けに最適化された、高パフォーマンスの POSIX 準拠のフルマネージド並列ファイル システムです。Managed Lustre アーキテクチャは、チェックポイント処理、強化学習における高速の重み伝播、Key-Value(KV)キャッシュ保存など、高スループット、低レイテンシ、高メタデータ同時実行の AI/ML ワークロードに最適です。
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 はミリ秒未満のレイテンシと並列データ アクセスを提供するため、数千のロールアウト ワーカーが同じ重みファイルを同時にプルしても、速度が低下することはありません。 |
| セカンダリ推奨事項: Cloud Storage Rapid Bucket | Rapid Bucket は、fsspec またはクライアントサイドのパフォーマンス チューニングを備えた Cloud Storage FUSE を介して GCSFS と組み合わせて使用する場合、非同期のマルチティアまたは分散チェックポイント処理に適しています。 |
|
| 推論用のモデルの保存とダウンロード | 主な推奨事項: Cloud Storage Rapid Cache または Rapid Bucket | Rapid Cache は、推論のコールド スタートを減らすのに役立つブースターとして機能します。Rapid Cache を使用すると、モデルの重みを推論ノードと同じゾーンで事前にウォームアップできるため、新しい推論インスタンスはモデルの重みをすばやくダウンロードして最初のリクエストを処理できます。 Rapid Bucket は、高性能で高速なゾーン ストレージ エンジンとして機能し、推論フリートと同じゾーンにモデルの重みを配置できます。 モデル提供には、ダウンロード パフォーマンスを最大化するために vLLM 用 Run:ai Model Streamer を使用することをおすすめします。他の推論スタックでは、Cloud Storage FUSE の並列ダウンロード パラメータを最適化すると、モデルの重みダウンロード中のコールド スタートのレイテンシを大幅に短縮できます。 |
| セカンダリの推奨事項: Managed Lustre | Managed Lustre は、ミリ秒未満のレイテンシと並列データアクセスを提供します。これにより、パフォーマンスに敏感なモデルと、同じモデルを同時にダウンロードする同時 GPU のスケーリングにメリットがあります。 | |
| KV キャッシュのオフロード | 主な推奨事項: Managed Lustre | Managed Lustre は、ミリ秒未満のレイテンシと並列データ アクセスを提供します。これにより、さまざまなノードが KV キャッシュを「プル」し、チャットの履歴全体を再処理することなくチャットを再開できます。 |
次のステップ
AI、ML、データ集約型分析用に設計された Cloud Storage のプロダクト ファミリーである Cloud Storage Rapid の詳細を確認する。
Cloud Storage FUSE または Cloud Storage FUSE CSI ドライバを使用してデータセットをダウンロードする際のパフォーマンスを最適化する方法について学習する。