コンテンツに移動
Containers & Kubernetes

AI / ML ワークロード向けの Cloud Storage FUSE と GKE CSI ドライバに関するお知らせ

2023年5月10日
https://storage.googleapis.com/gweb-cloudblog-publish/images/cloudmigration_2022.max-2500x2500.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 5 月 2 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Kubernetes Engine(GKE)でデータ アプリケーションを実行する組織が増えています。これは、GKE でステートフル アプリケーションを実行する Kubernetes クラスタの数が 2019 年以降、飛躍的に伸び、平均して 1 年ごとに倍増していることからわかります。Kubernetes で AI / ML のワークロードとデータがいずれも増加する中、お客様はコンピューティングとストレージにわたり、より緊密に連携するソリューションを求めるようになっています。具体的には、Google Cloud Storage(GCS)に保存されている AI / ML データに、GKE 上のコンテナからファイル セマンティクスを使用して容易にアクセスできることを望んでいます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_clusters_running_stateful_workloads.max-1200x1200.png

ML に適した Cloud Storage FUSE

Cloud Storage は、トレーニング用のデータやモデル、チェックポイントの保存とアクセスを必要とする AI / ML のワークロードでよく使用されています。Cloud Storage FUSE を使用すると、Cloud Storage バケット内のオブジェクトに、ローカル ファイル システムとしてマウントされたファイルとしてアクセスできるため、ファイル システム セマンティクスを必要とするアプリケーションにスムーズなエクスペリエンスが実現します。Cloud Storage FUSE は現在、公開プレビュー版が利用可能で、正式な Google サポートの対象です。Cloud Storage FUSE は、通常の Linux パッケージとして、Vertex AI とのインテグレーションの一環として、また現時点では GKE のマネージド ターンキー サービスの一環としてデプロイできます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Cloud_Storage_Fuse.max-600x600.png
図 1:Cloud Storage FUSE により GCS バケットへのファイル セマンティクス アクセスが可能

GKE における Cloud Storage FUSE の CSI サポート

公開プレビュー版が提供されている GKE 上の新しい Cloud Storage FUSE の Container Storage Interface(CSI)ドライバを使用すると、Kubernetes アプリケーションで Cloud Storage バケットをローカル ファイル システムとしてマウントできます。これには次の利点があります。

  • ポータビリティ: 標準のファイル システム セマンティクスで Cloud Storage バケットのマウントやアクセスが可能であるため、ML ワークロードのポータビリティを確保でき、アプリケーションのリファクタリング費用がかかりません。CSI ドライバを使用して、使い慣れた Kubernetes API で操作が可能です。

  • 大規模: トレーニングから推論、チェックポインティングまで、Cloud Storage のパフォーマンスを生かして ML ワークロードを大規模に実行できます。

  • ストリーミング データのサポート: コンピューティング リソースに、Cloud Storage 内のデータへの直接アクセスを提供することで、トレーニング ジョブを迅速に開始できます。データをローカル ファイル システムのインスタンスにコピーするロジックを管理する必要はありません。このため、データのダウンロードを待たずに有意義な作業ができます。

  • GKE Standard と Autopilot の組み込みサポート: Cloud Storage FUSE は CSI ドライバによってバックグラウンドでデプロイされるため、ユーザーがインストールや管理を行う必要はありません。クラスタ上の Cloud Storage FUSE の CSI ドライバにより、自動デプロイとドライバ管理がオンになります。ドライバは、Standard と Autopilot の両方のクラスタで機能します。

  • 非特権アクセス: これまで、Cloud Storage FUSE を GKE で実行するには、独自のソリューションを作成する必要があり、そのためには特権アクセスが必要でした。Cloud Storage FUSE の CSI ドライバには特権アクセスが必要ないため、セキュリティ対策を改善できます。

  • 認証の標準装備: Workload Identity を使用して容易に認証を管理しながら、Pod から Cloud Storage のオブジェクトへのアクセスをきめ細かく制御できます。

  • アクセラレータの幅広いサポート: Cloud Storage FUSE の CSI は、GPU と TPU を含め、GKE で利用可能なすべてのアクセラレータでサポートされています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_GKE_Pods.max-600x600.png
図 2:GCS CSI を使用した GKE の Pod から Cloud Storage バケットへのアクセス

ユースケース

ファイル システム セマンティクスを必要とするワークロードでは、Cloud Storage FUSE の CSI サポートにより、次のことが可能です。

  • Cloud Storage を信頼できる情報源として使用したデータの読み取りや保存済みモデルのチェックポインティングを含む、GKE での ML トレーニング(Pytorch と Tensorflow を使用)

  • Cloud Storage に保存されているファイルから結果を推論する ML 推論モデル

  • チェックポイントや保存済みモデルの Cloud Storage への書き込みや Cloud Storage からの読み取り

  • データの動的ストリーミングによる、データ アプリケーションや AI / ML アプリケーションの起動時間の短縮

  • ソースコードがお客様の管理下にない Python ベースのサードパーティ データ アプリ

使用に際しての考慮事項

Cloud Storage FUSE を評価するときは、次の点に留意してください。

  • Cloud Storage FUSE とその CSI ドライバは、Filestore などのフルマネージド ファイル システムの代わりにはなりません。たとえば、同じファイルへの複数の書き込みの同時実行制御はなく、POSIX に完全に準拠せず、NFS / CIFS / SMB をサポートしていません。複数のライターが同じファイルに書き込む必要がある場合や、POSIX の完全なサポートが必要な場合は、Filestore Multishares を使用してください。Cloud Storage FUSE のその他の使用パターンについて詳しくは、こちらをご覧ください。

  • CSI ドライバは GKE バージョン 1.26 以降でのみサポートされます。

  • Terraform は公開プレビュー版ではサポートされませんが、一般提供時にはサポートされる予定です。

  • 公式サポートの対象は PyTorch と Tensorflow の ML フレームワークです。その他のワークロードはベスト エフォート型のサポートとなります。

使ってみる

GKE の利用を開始するには、GKE で Cloud Storage FUSE の CSI ドライバを有効にし、Pod 仕様で情報としてマウントする Cloud Storage バケットに対して認証を行います(Workload Identity 経由)。詳しくはこちらをご覧ください。

Cloud Storage FUSE を VM で使用するには、Linux パッケージをダウンロードしてください。詳しくはこちらをご覧ください。


- シニア プロダクト マネージャー Akshay Ram
- プロダクト マネージャー Marco Abela
投稿先