Cloud TPU データのストレージ オプション

このドキュメントでは、Cloud TPU でモデルをトレーニングする際に使用できるデータ ストレージ オプションについて説明します。

はじめに

Cloud TPU には、次のデータ ストレージが必要です。

  • データセットのダウンロードと前処理
  • ホスト入力パイプライン処理
  • モデル トレーニングの入力
  • モデル トレーニングの出力

Cloud TPU アプリケーション データとトレーニング データセットには、5 つのストレージ オプションがあります。

ストレージの費用とパフォーマンスの詳細については、ストレージ オプションをご覧ください。

TPU VM または TPU ノードのブートディスク

デフォルトでは、各 Cloud TPU VM にはオペレーティング システムを含む 100 GB の単一ブート永続ディスクがあります。また、合計容量がブートディスクで利用可能な容量を超えない限り、ダウンロードしたデータセットを前処理とモデルの入力データと出力データ用に保存することもできます。

トレーニング アプリケーションで、ブートディスクのデフォルト以外のストレージ容量が必要な場合は、VM または TPU VM インスタンスに 1 つ以上の永続ディスクを追加できます。永続ディスクを TPU ノード(Compute Engine VM)または TPU VM に追加する手順はいくつかあります。

TPU VM または TPU ノードにアタッチされた永続ディスク

永続ディスクは耐久性の高いネットワーク ストレージ デバイスであり、パソコンやサーバーの物理ディスクと同じように VM インスタンスからアクセスできます。各永続ディスク上のデータは、複数の物理ディスクに分散されます。Compute Engine は物理ディスクとデータ分散を管理して、冗長性と最適なパフォーマンスを確保します。

永続ディスクは仮想マシン(VM)インスタンスとは独立して作成されるため、VM インスタンスを削除した後もデータを保持できます。永続ディスクのパフォーマンスはサイズに合わせて自動的に向上するので、既存の永続ディスクのサイズを変更するか、またはインスタンスに永続ディスクを追加して、パフォーマンスとストレージ容量の要件を満たすことができます。

永続ディスクには冗長性が組み込まれており、機器の故障からデータを保護し、データセンターのメンテナンス中でもデータの可用性を確保します。永続ディスクのすべてのオペレーションでチェックサムが計算されるため、読み取ったデータは書き込んだデータと必ず一致します。

さらに、永続ディスクのスナップショットを作成して、ユーザーエラーによりデータが失われるのを防ぐことができます。スナップショットは増分なので、実行中のインスタンスに接続されているディスクのスナップショットを作成する場合であっても数分しかかかりません。

TPU VM で永続ディスクを使用する方法について詳しくは、TPU VM に永続ディスクを追加するをご覧ください。

Cloud Storage バケット

Cloud Storage バケットは、VM インスタンスで利用できる最も柔軟性、スケーラビリティ、耐久性の高いストレージオプションです。トレーニング ジョブで永続ディスクの低レイテンシが必要ない場合は、Cloud Storage バケットにデータセットを保存できます。

Cloud Storage バケットのパフォーマンスは、ストレージ クラスの選択と、インスタンスに対する相対的なバケットのロケーションに依存します。

VM インスタンス(TPU ノード用)または TPU VM と同じゾーンに Cloud Storage バケットを作成すると、永続ディスクと同等のパフォーマンスが得られますが、レイテンシが高く、スループット特性は安定していません。

すべての Cloud Storage バケットには冗長性が組み込まれており、機器の障害からデータが保護され、データセンターのメンテナンス中でもデータの可用性が保証されます。すべての Cloud Storage オペレーションに対してチェックサムが計算され、読み込まれた内容が確実に書き込まれます。

永続ディスクとは異なり、Cloud Storage バケットはインスタンスが存在するゾーンに制限されません。また、バケットのデータを複数のインスタンスで同時に読み書きできます。たとえば、複数のゾーンのインスタンスを、データをそれぞれのゾーンの永続ディスクに複製するのではなく、同じバケット内のデータを読み書きするように構成できます。

Cloud Storage FUSE

Cloud Storage FUSE により、Cloud Storage バケットをマウントし、ローカル ファイル システムとしてアクセスできるようになります。これにより、標準のファイル システムのセマンティクスを使用して、バケット内のオブジェクトの読み取りと書き込みができます。

Cloud Storage FUSE の仕組みと、Cloud Storage FUSE オペレーションの Cloud Storage オペレーションへのマッピング方法について詳しくは、Cloud Storage FUSE のドキュメントをご覧ください。Cloud Storage FUSE CLI をインストールして GitHub のバケットをマウントする方法など、Cloud Storage FUSE の使用方法の詳細を確認できます。

Filestore ファイル共有

Filestore ファイル共有は、Compute Engine 向けのフルマネージド ネットワーク接続ストレージ(NAS)です。Filestore では既存のエンタープライズ アプリケーションに対応し、NFSv3 互換のクライアントがサポートされています。

Filestore は、低レイテンシのファイル操作を実現します。レイテンシの影響を受けやすいワークロードの場合、Filestore はパフォーマンスのばらつきを最小限に抑えつつ、最大 100 TB の容量と 25 GB/秒、720K IOPS のスループットをサポートします。

Filestore を使用すると、TPU VM にファイル共有をマウントできます。

次のステップ