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 oder für einen TPU-Knoten

Standardmäßig hat jede Cloud TPU-VM einen nichtflüchtigen Speicher mit 100 GB Bootlaufwerk, auf dem sich das Betriebssystem befindet. Das Bootlaufwerk kann auch zum Speichern heruntergeladener Datasets zur Vorverarbeitung sowie zum Speichern von Eingabe- und Ausgabedaten für Modelle verwendet werden, sofern die Gesamtgröße den verfügbaren Speicherplatz auf dem Bootlaufwerk nicht überschreitet.

Wenn Ihre Trainingsanwendung zusätzlichen Speicherplatz über den Standard des Bootlaufwerks hinaus erfordert, können Sie Ihrer VM oder TPU-VM-Instanz einen oder mehrere nichtflüchtige Speicher hinzufügen. Es gibt verschiedene Verfahren zum Hinzufügen eines nichtflüchtigen Speichers zu einem TPU-Knoten (einer Compute Engine-VM) oder einer TPU-VM.

Ein nichtflüchtiger Speicher, der an eine TPU-VM oder an einen TPU-Knoten angehängt ist

Nichtflüchtige Speicher sind langlebige Netzwerkspeichergeräte, auf die Ihre VM-Instanzen wie auf 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, sodass Sie Ihre Daten auch nach dem Löschen der VM-Instanzen behalten können. Die Leistung nichtflüchtiger Speicher hängt von der Größe ab. Sie können diese jederzeit ändern oder einer Instanz weitere nichtflüchtige Speicher hinzufügen, um die aktuellen Leistungs- und Speicherplatzanforderungen zu erfüllen.

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

Darüber hinaus können Sie Snapshots von nichtflüchtigen Speichern erstellen, um Datenverluste aufgrund von Nutzerfehlern zu verhindern. Snapshots sind inkrementell und ihre Erstellung dauert nur wenige Minuten, selbst wenn Sie von Laufwerken einen Snapshot erstellen, 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 nicht die niedrigere Latenz von nichtflüchtigen Speichern erfordert, 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 Standort des Buckets im Verhältnis zur Instanz ab.

Wenn Sie den Cloud Storage-Bucket in derselben Zone wie Ihre VM-Instanz (für TPU-Knoten) oder Ihre TPU-VM erstellen, ist eine Leistung, die mit nichtflüchtigen Speichern vergleichbar, aber mit höherer Latenz und weniger konsistenten Durchsatzmerkmalen vergleichbar.

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 mit der standardmäßigen Dateisystemsemantik Objekte in Ihrem Bucket lesen und schreiben.

Details 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 FUSE-Dokumentation zu Cloud Storage. Weitere Informationen zur Verwendung von Cloud Storage FUSE finden Sie auf GitHub, z. B. zum Installieren der Cloud Storage FUSE-Befehlszeile und zum Bereitstellen von Buckets.

Filestore-Dateifreigabe

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

Filestore bietet niedrige Latenz für Dateivorgänge. Bei latenzempfindlichen Arbeitslasten unterstützt Filestore Kapazitäten bis zu 100 TB und einen Durchsatz von 25 GB pro Sekunde sowie 720.000 IOPS bei minimaler Leistungsabweichung.

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

Nächste Schritte