Speicheroptionen für Cloud TPU-Daten

In diesem Dokument werden Datenspeicheroptionen beschrieben, die beim Trainieren von Modellen in Cloud TPU verwendet werden können.

Einleitung

Cloud TPU erfordert Datenspeicherung für Folgendes:

  • Dataset herunterladen und vorverarbeiten
  • Hosteingabe-Pipeline verarbeiten
  • Modelltrainingseingabe
  • Modelltrainingsausgabe

Es gibt fünf Speicheroptionen für die Cloud TPU-Anwendungsdaten und Trainings-Datasets:

Weitere Informationen zu Speicherkosten und Leistungsdetails finden Sie unter Speicheroptionen.

Das Bootlaufwerk für eine TPU-VM

Standardmäßig hat jede Cloud TPU-VM ein nichtflüchtiges Bootlaufwerk mit 100 GB, auf dem sich das Betriebssystem befindet. Das Bootlaufwerk kann auch zum Speichern heruntergeladener Datasets zur Vorverarbeitung und zum Modellieren von Eingabe- und Ausgabedaten verwendet werden, sofern die Gesamtmenge den verfügbaren Speicherplatz auf dem Bootlaufwerk nicht überschreitet.

Wenn Ihre Trainingsanwendung zusätzlichen Speicherplatz benötigt, der über den Standard des Bootlaufwerks hinausgeht, können Sie Ihrer VM oder TPU-VM-Instanz einen oder mehrere nichtflüchtige Speicher hinzufügen. Es gibt verschiedene Verfahren, um einen nichtflüchtigen Speicher zu einer Compute Engine-VM oder einer TPU-VM hinzuzufügen.

Nichtflüchtiger Speicher, der an eine TPU-VM angehängt ist

Nichtflüchtige Speicher sind langlebige Netzwerkspeichergeräte, auf die Ihre VM-Instanzen wie physische Laufwerke auf einem Computer oder Server zugreifen können. Die Daten auf einem nichtflüchtigen Speicher sind auf mehrere physische Laufwerke verteilt. Compute Engine verwaltet die physischen Laufwerke und die Datenverteilung und sorgt so für Redundanz und optimale Leistung.

Nichtflüchtige Speicher werden unabhängig von Ihren VM-Instanzen erstellt. Daher können Sie Ihre Daten auch dann behalten, wenn Sie Ihre VM-Instanzen löschen. Die Leistung nichtflüchtiger Speicher hängt von der Größe ab. Sie können diese jederzeit ändern oder weitere nichtflüchtige Speicher zu einer Instanz hinzufügen, um die Anforderungen an Leistung und Speicherplatz zu erfüllen.

Nichtflüchtige Speicher sind von Haus aus redundant, um Ihre Daten vor Geräteausfällen zu schützen und die Verfügbarkeit der Daten während Wartungsarbeiten im Rechenzentrum sicherzustellen. Für alle Vorgänge des nichtflüchtigen Speichers werden Prüfsummen berechnet, um sicherzustellen, dass die gelesenen Daten mit den geschriebenen übereinstimmen.

Außerdem können Sie Snapshots nichtflüchtiger Speicher erstellen, um Datenverluste aufgrund von Nutzerfehlern zu vermeiden. Snapshots werden inkrementell erstellt. Die Erstellung dauert nur wenige Minuten, selbst wenn von Laufwerken Snapshots erstellt werden, die mit laufenden Instanzen verbunden sind.

Weitere Informationen zur Verwendung von nichtflüchtigen Speichern mit TPU-VMs finden Sie unter Nichtflüchtigen Speicher zu einer TPU-VM hinzufügen.

Cloud Storage-Buckets

Cloud Storage-Buckets sind die flexibelste, skalierbarste und robusteste Speicheroption für VM-Instanzen. Wenn Ihr Trainingsjob die geringere Latenz des nichtflüchtigen Speichers nicht benötigt, können Sie das Dataset in einem Cloud Storage-Bucket speichern.

Die Leistung von Cloud Storage-Buckets hängt von der ausgewählten Speicherklasse und dem Speicherort des Buckets im Verhältnis zu Ihrer Instanz ab.

Wenn Sie den Cloud Storage-Bucket in derselben Zone wie Ihre TPU-VM erstellen, ist die Leistung mit der von nichtflüchtigen Speichern vergleichbar, aber mit einer höheren Latenz und weniger konsistenten Durchsatzmerkmalen.

Alle Cloud Storage-Buckets haben eine integrierte Redundanz, um Ihre Daten vor Geräteausfällen zu schützen und die Verfügbarkeit der Daten während Wartungsarbeiten im Rechenzentrum sicherzustellen. Für alle Cloud Storage-Vorgänge werden Prüfsummen berechnet, um dafür zu sorgen, dass die gelesenen Daten mit den geschriebenen Daten übereinstimmen.

Im Gegensatz zu nichtflüchtigen Speichern sind Cloud Storage-Buckets nicht auf die Zone beschränkt, in der sich Ihre Instanz befindet. Außerdem können Daten von mehreren Instanzen gleichzeitig auf einem Bucket gelesen und geschrieben werden. Konfigurieren Sie zum Beispiel Instanzen in mehreren Zonen so, dass sie Daten im selben Bucket lesen und schreiben, anstatt diese auf nichtflüchtige Speicher in mehreren Zonen zu replizieren.

Cloud Storage FUSE

Mit Cloud Storage FUSE können Sie Cloud Storage-Buckets als lokale Dateisysteme bereitstellen und darauf zugreifen. Dadurch können Anwendungen Objekte in Ihrem Bucket mit der standardmäßigen Dateisystemsemantik lesen und schreiben.

Ausführliche Informationen zur Funktionsweise von Cloud Storage FUSE und eine Beschreibung der Zuordnung von Cloud Storage FUSE-Vorgängen zu Cloud Storage-Vorgängen finden Sie in der Dokumentation zu Cloud Storage FUSE. Weitere Informationen zur Verwendung von Cloud Storage FUSE finden Sie auf GitHub. Dort erfahren Sie beispielsweise, wie Sie die Cloud Storage FUSE-Befehlszeile installieren und Buckets bereitstellen.

Filestore-Dateifreigabe

Die Filestore-Dateifreigabe ist ein vollständig verwalteter NAS-Speicher (Network Attached Storage) für Compute Engine. Filestore ist mit vorhandenen Unternehmensanwendungen kompatibel und unterstützt alle NFSv3-kompatiblen Clients.

Filestore bietet niedrige Latenz für Dateivorgänge. Für latenzempfindliche Arbeitslasten unterstützt Filestore Kapazitäten von bis zu 100 TB und einen Durchsatz von 25 GB pro Sekunde und 720.000 IOPS bei minimalen Leistungsschwankungen.

Mit Filestore können Sie Dateifreigaben auf TPU-VMs bereitstellen.

Nächste Schritte