Speicheroptionen für Cloud TPU-Daten
In diesem Dokument werden Datenspeicheroptionen beschrieben, die beim Trainieren von Modellen in Cloud TPU verwendet werden können.
Einführung
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:
- Das Bootlaufwerk für eine TPU-VM
- Ein nichtflüchtiger Speicher, der an eine TPU-VM angehängt ist
- Cloud Storage-Buckets
- Filestore-Dateifreigabe auf einer Compute Engine-VM
Weitere Informationen zu Speicherkosten und Leistungsdetails finden Sie unter Speicheroptionen.
Das Bootlaufwerk für eine TPU-VM
Standardmäßig hat jede Cloud TPU-VM einen einzelnen nichtflüchtigen Speicher mit 100 GB, in dem das Betriebssystem enthalten ist. Das Bootlaufwerk kann auch zum Speichern heruntergeladener Datasets für die Vorverarbeitung sowie von Modelleingabe- und Modellausgabedaten verwendet werden, sofern die Gesamtmenge nicht den verfügbaren Speicherplatz auf dem Bootlaufwerk überschreitet.
Wenn Ihre Trainingsanwendung zusätzlichen Speicherplatz erfordert, der über die Standardmenge für das Bootlaufwerk hinausgeht, können Sie der VM oder der TPU-VM-Instanz einen oder mehrere nichtflüchtige Speicher hinzufügen. Es gibt verschiedene Verfahren, um einer Compute Engine-VM oder einer TPU-VM einen nichtflüchtigen Speicher hinzuzufügen.
Ein nichtflüchtiger Speicher, der an eine TPU-VM angehängt ist
Nichtflüchtige Speicher sind robuste Netzwerkspeichergeräte, auf die VM-Instanzen wie auf physische Laufwerke auf einem Desktop-Computer oder einem 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 damit automatisch 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 beibehalten können. 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 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 auch bei Wartungsarbeiten im Rechenzentrum sicherzustellen. Für alle Vorgänge der nichtflüchtigen Speicher 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 verhindern. Snapshots werden inkrementell angelegt. Ihre Erstellung dauert nur wenige Minuten, selbst bei Snapshots von Laufwerken, 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 der Trainingsjob die geringere Latenz für nichtflüchtige Speicher nicht benötigt, können Sie Ihr Dataset in einem Cloud Storage-Bucket speichern.
Die Leistung der Cloud Storage-Buckets hängt von der gewählten Speicherklasse und der Zone des Buckets im Verhältnis zur Instanz ab.
Wenn Sie den Cloud Storage-Bucket in derselben Zone wie Ihre TPU-VM erstellen, ist die Leistung mit 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 aufrechtzuerhalten. 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 die 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. So können Anwendungen Objekte in Ihrem Bucket mit der Standardsemantik des Dateisystems lesen und schreiben.
In der Dokumentation zu Cloud Storage FUSE finden Sie weitere Informationen zur Funktionsweise von Cloud Storage FUSE und eine Beschreibung der Zuordnung von Cloud Storage FUSE-Vorgängen zu Cloud Storage-Vorgängen. Weitere Informationen zur Verwendung von Cloud Storage FUSE, z. B. zur Installation der Cloud Storage FUSE-Befehlszeile und zum Bereitstellen von Buckets, finden Sie auf GitHub.
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 beliebige NFSv3-kompatible Clients.
Filestore bietet eine niedrige Latenz bei Dateivorgängen. Für latenzempfindliche Arbeitslasten unterstützt Filestore Kapazitäten bis zu 100 TB, einen Durchsatz von 25 GB/s sowie 720.000 IOPS bei minimalen Leistungsschwankungen.
Mit Filestore können Sie Dateifreigaben auf TPU-VMs bereitstellen.
Nächste Schritte
- Nichtflüchtigen Speicher zu einer Instanz hinzufügen
- Instanz mit einem Cloud Storage-Bucket verbinden