ストレージ サービスは、AI Hypercomputer エコシステムで高性能のモデル トレーニング、推論、ファインチューニングを実現するのに役立つ、不可欠なデータ アーキテクチャを提供します。 Google Cloudでは複数のストレージ サービスを利用できますが、最適な選択肢は、人工知能(AI)と機械学習(ML)のライフサイクル内のユースケースの I/O、スループット、スケール、レイテンシの要件によって異なります。
このドキュメントでは、GPU または TPU のパフォーマンスを最適化するのに最適な Google Cloud のストレージ サービスを紹介して比較します。また、特定の AI と ML のユースケースに最適なサービスに関する推奨事項も示します。
ストレージ サービスの概要
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 でバケットをマウントする際に、アトミックなフォルダ名の変更や高速なファイル検索など、効率的なデータ管理機能を利用できます。階層型名前空間では、階層型名前空間を使用しないバケットと比較して、オブジェクトの読み取りと書き込みの 1 秒あたりのクエリ数(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 ドライバを使用してデータセットをダウンロードする際のパフォーマンスを最適化する方法について学習する。