Speicher für KI- und ML-Arbeitslasten in Google Cloud entwerfen

Last reviewed 2025-04-09 UTC

In diesem Dokument finden Sie Designanleitungen zur Auswahl und Integration vonGoogle Cloud Speicherdiensten für Ihre KI- und ML-Arbeitslasten. Für jede Phase im ML-Lebenszyklus gelten unterschiedliche Speicheranforderungen. Wenn Sie beispielsweise das Trainings-Dataset hochladen, können Sie die Speicherkapazität für das Training und den hohen Durchsatz für große Datasets priorisieren. Auch für die Phasen „Training“, „Optimierung“, „Bereitstellung“ und „Archivierung“ gelten unterschiedliche Anforderungen. Für die meisten KI- und ML-Arbeitslasten empfehlen wir die Verwendung von Google Cloud Managed Lustre als Speicherlösung. Managed Lustre bietet hohe Leistung und Skalierbarkeit und ist daher ideal für Training, Checkpointing und Bereitstellung. Die Phasen für Bereitstellung und Archivierung haben unterschiedliche Anforderungen.

In diesem Dokument erfahren Sie, wie Sie Ihre Anforderungen an Kapazität, Latenz und Durchsatz ermitteln, um fundierte Entscheidungen für die Auswahl der geeigneten Speicherlösung zu treffen. In diesem Dokument wird davon ausgegangen, dass Sie eine Compute-Plattform ausgewählt haben, die den Anforderungen Ihrer Arbeitslast entspricht. Für KI- und ML-Arbeitslasten empfehlen wir die Verwendung von Compute Engine oder Google Kubernetes Engine (GKE). Weitere Informationen zur Auswahl einer Computing-Plattform finden Sie unter Anwendungen auf Google Cloudhosten.

Auf den folgenden Tabs finden Sie eine kurze Zusammenfassung der empfohlenen Speicheroptionen für jede Phase des ML-Workflows. Weitere Informationen finden Sie unter Geeigneten Speicher auswählen.

Vorbereiten

In der Vorbereitungsphase des ML-Workflows gehen Sie so vor:

  1. Daten hochladen und aufnehmen
  2. Wandeln Sie die Daten in das richtige Format um, bevor Sie das Modell trainieren.

Wenn Sie Speicherkosten durch die Verwendung mehrerer Speicherklassen optimieren möchten, empfehlen wir, die Cloud Storage-Funktion Autoclass oder die Verwaltung des Objektlebenszyklus zu verwenden.

Trainieren

In der Trainingsphase des ML-Workflows gehen Sie so vor:

  1. Modellentwicklung: Entwickeln Sie Ihr Modell mit Notebooks und iterativen Versuchen.
  2. Modelltraining:
    • Verwenden Sie eine kleine bis große Anzahl von Hardwarebeschleunigern, um das Trainings-Dataset wiederholt zu lesen.
    • Wenden Sie einen iterativen Prozess für die Modellentwicklung und das Training an.
  3. Checkpointing und Neustart:
    • Speichern Sie den Status während des Modelltrainings regelmäßig, indem Sie einen Prüfpunkt erstellen, damit das Training nach einem Knotenausfall neu gestartet werden kann.
    • Treffen Sie die Checkpointing-Auswahl basierend auf dem I/O-Muster und der Datenmenge, die am Checkpoint gespeichert werden muss.

Für die Trainingsphasen empfehlen wir die folgenden Speicheroptionen:

  • Verwenden Sie Managed Lustre, wenn Ihre Arbeitslast die folgenden Merkmale aufweist:
    • Eine Mindestkapazität von 18 TiB für das Training.
    • Trainingsdaten, die aus kleinen Dateien mit weniger als 50 MB bestehen, um die Vorteile der geringen Latenz zu nutzen.
    • Eine Latenzanforderung von weniger als 1 Millisekunde, um die Speicheranforderungen für zufällige E/A und Metadatenzugriff zu erfüllen.
    • Häufige leistungsstarke Prüfpunkte sind erforderlich.
    • Eine Desktop-ähnliche Umgebung mit vollständiger POSIX-Unterstützung zum Ansehen und Verwalten der Daten Ihrer Nutzer.
  • Verwenden Sie Cloud Storage mit Cloud Storage FUSE und Anywhere Cache, wenn Ihre Arbeitslast die folgenden Merkmale aufweist:
    • Trainingsdaten, die aus großen Dateien mit 50 MB oder mehr bestehen.
    • Toleranz für höhere Speicherlatenz im Bereich von Zehn Millisekunden.
    • Datenlanglebigkeit und Hochverfügbarkeit haben Vorrang vor der Speicherleistung.

Um die Kosten zu optimieren, empfehlen wir, in allen Phasen des Modelltrainings denselben Speicherdienst zu verwenden.

Bereitstellung

In der Bereitstellungsphase des ML-Workflows gehen Sie so vor:

  1. Speichern Sie das Modell.
  2. Laden Sie das Modell in eine Instanz, die beim Start Beschleuniger für maschinelles Lernen ausführt.
  3. Ergebnisse der Modellinferenz speichern, z. B. generierte Bilder.
  4. Optional können Sie das für die Modellinferenz verwendete Dataset speichern und laden.

Für die Bereitstellungsphasen empfehlen wir die folgenden Speicheroptionen:

  • Managed Lustre, wenn Ihre Arbeitslast die folgenden Merkmale aufweist:
    • Ihre Trainings- und Prüfpunkt-Arbeitslast verwendet Managed Lustre.
    • Anforderung für 10 bis 100 Inferenzknoten.
    • Häufige Aktualisierungen Ihres Modells.
  • Cloud Storage mit Cloud Storage FUSE und Anywhere Cache, wenn Ihre Arbeitslast die folgenden Merkmale aufweist:
    • Eine kosteneffiziente Lösung für eine dynamische Umgebung, in der sich die Anzahl der Inferenzknoten ändern kann.
    • Ihr Modell wird nur selten aktualisiert.
    • Hohe Verfügbarkeit und Langlebigkeit Ihrer Modelle, auch bei regionalen Störungen.
  • Google Cloud Hyperdisk ML, wenn Ihre Arbeitslast die folgenden Merkmale aufweist:
    • Sie benötigen mehr als 100 Inferenzknoten.
    • Ihr Modell wird nur selten aktualisiert.
    • Ihre Arbeitslast verwendet einen unterstützten VM-Typ.
    • In Ihrer Pipeline können schreibgeschützte Volumes zum Speichern von Modellen verwaltet werden.

Archivieren

In der Archivierungsphase von ML-Arbeitslasten werden die Trainingsdaten und das Modell über einen längeren Zeitraum aufbewahrt.

Wenn Sie Speicherkosten mit mehreren Speicherklassen optimieren möchten, empfehlen wir, Autoclass oder die Verwaltung des Objektlebenszyklus von Cloud Storage zu verwenden.

Übersicht über den Designprozess

So ermitteln Sie die geeigneten Speicheroptionen für Ihre KI- und ML-Arbeitslast inGoogle Cloud:

  1. Berücksichtigen Sie die Eigenschaften Ihrer Arbeitslast, die Leistungserwartungen und die Kostenziele.
  2. Sehen Sie sich die empfohlenen Speicherdienste und Funktionen in Google Cloudan.
  3. Je nach Ihren Anforderungen und den verfügbaren Optionen wählen Sie die Speicherdienste und ‑funktionen aus, die Sie für die einzelnen Phasen des ML-Workflows benötigen: Vorbereiten, Trainieren, Bereitstellen und Archivieren.

Dieses Dokument konzentriert sich auf die Phasen des ML-Workflows, in denen eine sorgfältige Berücksichtigung der Speicheroptionen am wichtigsten ist. Es deckt jedoch nicht den gesamten ML-Lebenszyklus, die Prozesse und die Funktionen ab.

Im Folgenden finden Sie eine Übersicht über den dreiphasigen Designprozess für die Auswahl von Speicher für Ihre KI- und ML-Arbeitslast:

  1. Anforderungen definieren:
    • Arbeitslasteigenschaften
    • Sicherheitsbeschränkungen
    • Anforderungen an die Ausfallsicherheit
    • Leistungserwartungen
    • Kostenziele
  2. Speicheroptionen ansehen:
    • Managed Lustre
    • Cloud Storage
    • Hyperdisk ML
  3. Geeigneten Speicher auswählen: Wählen Sie Speicherdienste, Funktionen und Designoptionen basierend auf den Merkmalen Ihrer Arbeitslast in jeder Phase des ML-Workflows aus.

Anforderungen definieren

Bevor Sie Speicheroptionen für Ihre KI- und ML-Arbeitslast inGoogle Cloudauswählen, müssen Sie die Speicheranforderungen für die Arbeitslast definieren. Um die Speicheranforderungen zu definieren, sollten Sie Faktoren wie die Compute-Plattform, Kapazität, Durchsatz und Latenzanforderungen berücksichtigen.

Berücksichtigen Sie die folgenden Merkmale Ihrer Arbeitslast, um eine Speicheroption für Ihre KI- und ML-Arbeitslasten auszuwählen:

  • Sind Ihre E/A-Anfragegrößen und Dateigrößen klein (KB), mittel oder groß (MB oder GB)?
  • Weist Ihre Arbeitslast hauptsächlich sequenzielle oder zufällige Dateizugriffsmuster auf?
  • Reagieren Ihre KI- und ML-Arbeitslasten empfindlich auf E/A-Latenz und Zeit bis zum ersten Byte (TTFB)?
  • Benötigen Sie einen hohen Lese- und Schreibdurchsatz für einzelne Clients, aggregierte Clients oder beides?
  • Wie viele Grafikprozessoren (GPUs) oder Tensor Processing Units (TPUs) sind für Ihre größte KI- und ML-Trainingsarbeitslast erforderlich?

Anhand Ihrer Antworten auf diese Fragen können Sie später in diesem Dokument geeigneten Speicher auswählen.

Speicheroptionen prüfen

Google Cloud bietet Speicherdienste für alle primären Speicherformate: Block, Datei, paralleles Dateisystem und Objekt. In der folgenden Tabelle werden Optionen beschrieben, die Sie für Ihre KI- und ML-Arbeitslast aufGoogle Cloudin Betracht ziehen können. Die Tabelle enthält die drei von Google verwalteten Speicheroptionen, auf die sich dieses Dokument für Ihre KI- und ML-Arbeitslasten konzentriert. Wenn Sie jedoch spezielle Anforderungen haben, die durch diese Angebote nicht erfüllt werden, sollten Sie von Partnern verwaltete Speicherlösungen in Betracht ziehen, die im Google Cloud Marketplace verfügbar sind.

Prüfen Sie die Funktionen, Designoptionen und relativen Vorteile der Dienste für jedes Speicherformat und evaluieren Sie sie.

Speicherdienst Speichertyp Features
Managed Lustre Paralleles Dateisystem
Cloud Storage Objekt
Hyperdisk ML Blockieren
  • Hohe Leistung bei geringer Speicherkapazität.
  • Dauerhaft schreibgeschützt.
  • Bis zu 1,2 TB/s aggregierter Durchsatz.

Managed Lustre

Managed Lustre ist ein vollständig verwaltetes Dateisystem in Google Cloud. Managed Lustre bietet persistente, zonale Instanzen, die auf dem DDN EXAScaler-Lustre-Dateisystem basieren. Managed Lustre ist ideal für KI- und ML-Arbeitslasten, die einen Zugriff mit niedriger Latenz von weniger als einer Millisekunde mit hohem Durchsatz und hohen Ein-/Ausgabevorgängen pro Sekunde (IOPS) benötigen. Mit Managed Lustre können Sie einen hohen Durchsatz und hohe IOPS für einige oder Tausende von VMs aufrechterhalten.

Managed Lustre bietet folgende Vorteile:

  • POSIX-Konformität: Unterstützung des POSIX-Standards, der die Kompatibilität mit vielen vorhandenen Anwendungen und Tools gewährleistet.
  • Niedrigere Gesamtbetriebskosten für das Training: Beschleunigen Sie die Trainingszeit, indem Sie Daten effizient an Rechenknoten senden. Diese Beschleunigung trägt dazu bei, die Gesamtbetriebskosten für das Training von KI- und ML-Modellen zu senken.
  • Niedrigere Gesamtbetriebskosten für das Bereitstellen: Ermöglichen Sie im Vergleich zu Cloud Storage ein schnelleres Laden von Modellen und eine optimierte Inferenzbereitstellung. Diese Funktionen tragen dazu bei, die Computing-Kosten zu senken und die Ressourcennutzung zu verbessern.
  • Effiziente Ressourcennutzung: Checkpointing und Training werden in einer einzigen Instanz kombiniert. Diese Ressourcennutzung trägt dazu bei, die effiziente Nutzung des Lese- und Schreibdurchsatzes in einem einzelnen, leistungsstarken Speichersystem zu maximieren.

Cloud Storage

Cloud Storage ist ein vollständig verwalteter Objektspeicherdienst, der sich für KI- und ML-Arbeitslasten jeder Größenordnung eignet. Cloud Storage eignet sich hervorragend für die Verarbeitung unstrukturierter Daten in allen Phasen des KI- und ML-Workflows.

Cloud Storage bietet folgende Vorteile:

  • Massive Skalierbarkeit: Sie erhalten unbegrenzte Speicherkapazität, die global auf Exabyte skaliert werden kann.
  • Hoher Durchsatz: Mit entsprechender Planung kann auf bis zu 1 TB/s skaliert werden.
  • Flexible Standortoptionen: Wählen Sie für KI- und ML-Arbeitslasten zwischen regionalen, multiregionalen und dual-regionalen Speicheroptionen.
  • Kosteneffizienz: Sie profitieren von einer Reihe von Speicherklassen, die darauf ausgelegt sind, die Kosten basierend auf Ihren Datenzugriffsmustern zu optimieren.

Cloud Storage zeichnet sich durch Skalierbarkeit und Kosteneffizienz aus. Es ist jedoch wichtig, die Latenz- und E/A-Eigenschaften zu berücksichtigen. Die Latenz liegt im Bereich von zehn Millisekunden und ist damit höher als bei anderen Speicheroptionen. Um den Durchsatz zu maximieren, müssen Sie Hunderte oder Tausende von Threads, große Dateien und große E/A-Anfragen verwenden. Cloud Storage bietet Clientbibliotheken in verschiedenen Programmiersprachen sowie Cloud Storage FUSE und Anywhere Cache.

Cloud Storage FUSE ist ein Open-Source-FUSE-Adapter, der von Google unterstützt wird. Mit Cloud Storage FUSE können Sie Cloud Storage-Buckets als lokale Laufwerke bereitstellen. Cloud Storage FUSE ist nicht vollständig POSIX-konform. Daher ist es wichtig, dass Sie die Einschränkungen von Cloud Storage FUSE und die Unterschiede zu herkömmlichen Dateisystemen kennen. Mit Cloud Storage FUSE können Sie mit der Skalierbarkeit, Erschwinglichkeit und Leistung von Cloud Storage auf Ihre Trainingsdaten, Modelle und Checkpoints zugreifen.

Das Caching von Cloud Storage FUSE bietet die folgenden Vorteile:

  • Portabilität: Sie können Cloud Storage-Buckets mit der Standardsemantik des Dateisystems bereitstellen und darauf zugreifen, was Ihre Anwendungen portabler macht.
  • Kompatibilität: Sie müssen Anwendungen nicht mehr umgestalten, um cloudspezifische APIs zu verwenden. Das spart Zeit und Ressourcen.
  • Weniger Leerlaufzeit: Starten Sie Trainingsjobs schnell, indem Sie direkt auf Daten in Cloud Storage zugreifen. So wird die Leerlaufzeit für Ihre GPUs und TPUs minimiert.
  • Hoher Durchsatz: Nutzen Sie die integrierte Skalierbarkeit und Leistung von Cloud Storage, das für leseintensive ML-Arbeitslasten mit GPUs oder TPUs optimiert ist.
  • Client-lokaler Datei-Cache: Beschleunigen Sie das Training mit einem client-lokalen Cache, der wiederholte Dateilesevorgänge beschleunigt. Diese Beschleunigung kann weiter gesteigert werden, wenn Sie sie mit der 6 TiB großen lokalen SSD verwenden, die mit A3-Maschinentypen gebündelt ist.

Anywhere Cache ist ein Cloud Storage-Feature, das bis zu 1 PiB zonenbasierten SSD-gestützten Lesecache für Cloud Storage-Buckets bietet. Anywhere Cache wurde entwickelt, um datenintensive Anwendungen zu beschleunigen. Dazu wird eine lokale, schnell zugängliche Ebene für häufig gelesene Daten in einer bestimmten Zone bereitgestellt.

Anywhere Cache bietet folgende Vorteile:

  • Beschleunigter Durchsatz: Die Cachekapazität und Bandbreite werden automatisch skaliert, um einen hohen Durchsatz zu erzielen, der die regionalen Bandbreitenkontingente mit konsistenten und vorhersehbaren Latenzen überschreitet.
  • Geringere Kosten: Vermeiden Sie Gebühren für ausgehenden Datenverkehr oder Gebühren für den Abruf von Speicherklassen für im Cache gespeicherte Daten. Anywhere Cache passt die Größe des Cache und die verfügbare Bandbreite automatisch an die Anforderungen Ihrer Arbeitslast an.

Hyperdisk ML

Hyperdisk ML ist eine leistungsstarke Blockspeicherlösung, die entwickelt wurde, um KI- und ML-Arbeitslasten zu beschleunigen, die schreibgeschützten Zugriff auf große Datasets erfordern. Hyperdisk ML nutzt die Skalierbarkeit und Verfügbarkeit von Colossus, um die Leistung des zugrunde liegenden Dateisystems auszugleichen. Hyperdisk ML eignet sich im Vergleich zu anderen Speicherdiensten auf Google Cloud besonders gut für Serving-Aufgaben, da es gleichzeitig für viele VMs einen außergewöhnlich hohen aggregierten Durchsatz bieten kann.

Hyperdisk ML bietet folgende Vorteile:

  • Schnellere Bereitstellung und Skalierbarkeit von Modellen: Sie können auf Tausende von gleichzeitigen Knoten hochskalieren und einen hohen Gesamtdurchsatz erzielen. Dadurch werden Ladezeiten und Ressourcenauslastung für Inferenzarbeitslasten im Kubernetes-Modus ReadOnlyMany optimiert.
  • Hohe Leistungsdichte: Erreichen Sie den höchsten verfügbaren Durchsatz aufGoogle Cloud und schnelle Lesevorgänge für große freigegebene Datasets.
  • Niedrigere Gesamtbetriebskosten: Durch kürzere GPU-Leerlaufzeiten, Multi-Attach-Funktionen und Performance-Pooling können Sie Kosten senken.
  • Gleichzeitiger schreibgeschützter Zugriff: Sie können Kosten senken, indem Sie Laufwerke zwischen VMs teilen. Das ist kostengünstiger als mehrere Laufwerke mit denselben Daten. Wenn Sie auf statische Daten von mehreren VMs zugreifen möchten, müssen Sie dasselbe Laufwerk im Lesemodus an Hunderte von VMs anhängen. Damit das Volume aktualisiert werden kann, muss das Laufwerk von allen VMs außer einer getrennt werden.

Speicherlösungen von Partnern

Für Arbeitslastanforderungen, die von den oben genannten Speicherdiensten nicht erfüllt werden, können Sie die folgenden Partnerlösungen verwenden, die in Cloud Marketplace verfügbar sind:

Diese Partnerlösungen werden nicht von Google verwaltet. Sie müssen die Bereitstellung und die betrieblichen Aufgaben verwalten, um eine optimale Integration und Leistung in Ihrer Infrastruktur zu gewährleisten.

Vergleichsanalyse

In der folgenden Tabelle sind die wichtigsten Funktionen der Speicherdienste inGoogle Cloudaufgeführt.

Managed Lustre Cloud Storage Hyperdisk ML
Kapazität 18 TiB bis 8 PiB Keine Unter- oder Obergrenze. 4 GiB bis 64 TiB
Skalierung Nicht skalierbar Automatische Skalierung nach Nutzung. Hochskalieren
Freigabe Kann auf mehreren Compute Engine-VMs und in mehreren GKE-Clustern bereitgestellt werden.
  • Von überall aus lesen und schreiben.
  • Kann in Cloud CDN und in CDNs von Drittanbietern eingebunden werden.
Unterstützt
Option für Verschlüsselungsschlüssel Google-owned and Google-managed encryption keys
  • Google-owned and Google-managed encryption keys
  • Vom Kunden verwaltet
  • Vom Kunden bereitgestellt
  • Google-owned and Google-managed encryption keys
  • Vom Kunden verwaltet
  • Vom Kunden bereitgestellt
Persistenz Lebensdauer der Managed Lustre-Instanz. Lebensdauer des Buckets Lebensdauer des Laufwerks
Verfügbarkeit Zonal Zonal
Leistung Lineare Skalierung mit bereitgestellter Kapazität Lese-/Schreibraten automatisch skalieren und dynamische Lastumverteilung Nichtflüchtiger Speicher mit dynamischer Skalierung
Verwaltung Vollständig verwaltet, POSIX-konform Vollständig verwaltet Manuell formatieren und bereitstellen

Tools zur Datenübertragung

In diesem Abschnitt werden die Optionen zum Übertragen von Daten zwischen Speicherdiensten aufGoogle Cloudbeschrieben. Wenn Sie KI- und ML-Aufgaben ausführen, müssen Sie Ihre Daten möglicherweise von einem Ort an einen anderen verschieben. Wenn Ihre Daten beispielsweise in Cloud Storage gespeichert sind, können Sie sie an einen anderen Ort verschieben, um das Modell zu trainieren, und dann die Checkpoint-Snapshots oder das trainierte Modell zurück nach Cloud Storage kopieren.

Sie haben folgende Möglichkeiten, Daten in Google Cloudzu übertragen:

  • Daten online übertragen mit dem Storage Transfer Service: Automatisieren Sie die Übertragung großer Datenmengen zwischen Objekt- und Dateispeichersystemen, einschließlich Cloud Storage, Amazon S3, Azure-Speicherdiensten und lokalen Datenquellen. Mit dem Storage Transfer Service können Sie Ihre Daten sicher vom Quellspeicherort zum Zielspeicherort kopieren und regelmäßige Übertragungen geänderter Daten durchführen. Außerdem bietet er Datenintegritätsprüfung, automatische Wiederholungsversuche und Load-Balancing.
  • Daten offline mit Transfer Appliance übertragen: Google Cloud Große Datenmengen offline übertragen und laden, wenn keine Netzwerkverbindung und Bandbreite verfügbar sind oder wenn sie begrenzt oder teuer sind.
  • Daten in Cloud Storage hochladen: Daten online in Cloud Storage-Buckets hochladen. Dazu können Sie die Google Cloud Console, die gcloud CLI, Cloud Storage APIs oder Clientbibliotheken verwenden.

Berücksichtigen Sie bei der Auswahl einer Datenübertragungsmethode Faktoren wie die Datengröße, Zeitbeschränkungen, verfügbare Bandbreite, Kostenziele sowie Sicherheits- und Compliance-Anforderungen. Informationen zur Planung und Implementierung von Datenübertragungen zu Google Cloudfinden Sie unter Zu Google Cloudmigrieren: Große Datasets übertragen.

Geeigneten Speicher auswählen

KI- und ML-Arbeitslasten umfassen in der Regel vier Hauptphasen: Vorbereiten, Trainieren, Bereitstellen und Archivieren. Jede dieser Phasen hat eigene Speicheranforderungen. Die Wahl der richtigen Lösung kann sich erheblich auf Leistung, Kosten und betriebliche Effizienz auswirken. Mit einem hybriden oder lokal optimierten Ansatz können Sie Ihre Speicheroptionen an die spezifischen Anforderungen jeder Phase Ihrer KI- und ML-Arbeitslast anpassen. Wenn Sie jedoch einheitliche Verwaltung und einfache Bedienung bevorzugen, kann ein global vereinfachter Ansatz, bei dem in allen Phasen eine einheitliche Lösung verwendet wird, für Arbeitslasten jeder Größenordnung von Vorteil sein. Die Effektivität der Speicherauswahl hängt von den Dataset-Eigenschaften, dem Umfang der erforderlichen Rechen- und Speicherressourcen, der Latenz und den von Ihnen definierten Anforderungen an die Arbeitslast ab.

In den folgenden Abschnitten finden Sie Details zu den primären Phasen von KI- und ML-Arbeitslasten und zu den Faktoren, die Ihre Speicherauswahl beeinflussen können.

Vorbereiten

In der Vorbereitungsphase wird die Grundlage für Ihre KI- und ML-Anwendung geschaffen. Dazu gehört das Hochladen von Rohdaten aus verschiedenen Quellen in Ihre Cloud-Umgebung und das Umwandeln der Daten in ein verwendbares Format für das Training Ihres KI- und ML-Modells. Dieser Prozess umfasst Aufgaben wie das Bereinigen, Verarbeiten und Konvertieren von Datentypen, um die Kompatibilität mit dem von Ihnen ausgewählten KI- und ML-Framework zu gewährleisten.

Cloud Storage eignet sich aufgrund seiner Skalierbarkeit, Langlebigkeit und Kosteneffizienz gut für die Vorbereitungsphase, insbesondere für große Datasets, die in der KI üblich sind. Cloud Storage lässt sich nahtlos in andereGoogle Cloud -Dienste einbinden, sodass Sie von potenziellen Optimierungen für datenintensives Training profitieren können.

Während der Datenvorbereitung können Sie Ihre Daten in große Blöcke umorganisieren, um die Zugriffseffizienz zu verbessern und zufällige Leseanfragen zu vermeiden. Zur weiteren Reduzierung der E/A-Leistungsanforderungen auf dem Speichersystem können Sie die Anzahl der E/A-Threads durch Pipelining, Trainingsoptimierung oder beides erhöhen.

Trainieren

Die Trainingsphase ist das Herzstück der Modellentwicklung. Hier lernt Ihr KI- und ML-Modell aus den bereitgestellten Daten. Diese Phase umfasst zwei wichtige Aspekte mit unterschiedlichen Anforderungen: effizientes Laden von Daten für den Zugriff auf Trainingsdaten und zuverlässiges Erstellen von Prüfpunkten zum Speichern des Modellfortschritts. In den folgenden Abschnitten finden Sie Empfehlungen und Faktoren, die Sie bei der Auswahl geeigneter Speicheroptionen für das Laden von Daten und das Erstellen von Checkpoints berücksichtigen sollten.

Laden der Daten

Beim Laden von Daten werden Batches von Daten wiederholt auf GPUs oder TPUs importiert, um das Modell zu trainieren. In dieser Phase können Sie einen Cache verwenden, um das Laden von Daten zu optimieren. Das hängt von der Größe der Batches und der Reihenfolge ab, in der Sie sie anfordern. Ihr Ziel beim Laden von Daten ist es, das Modell mit maximaler Effizienz, aber zu den niedrigsten Kosten zu trainieren.

Wenn die Größe Ihrer Trainingsdaten in Petabyte-Bereiche geht, müssen die Daten möglicherweise mehrmals neu gelesen werden. Für eine solche Skalierung ist eine intensive Verarbeitung durch eine GPU oder einen TPU-Beschleuniger erforderlich. Sie müssen jedoch dafür sorgen, dass Ihre GPUs und TPUs nicht im Leerlauf sind und Ihre Daten aktiv verarbeiten. Andernfalls zahlen Sie für einen teuren, inaktiven Beschleuniger, während Sie die Daten von einem Ort an einen anderen kopieren.

Berücksichtigen Sie die folgenden Faktoren, um Leistung und Kosten für das Laden von Daten zu optimieren:

  • Dataset-Größe: die Größe des gesamten Trainingsdatensatzes und die Größe der einzelnen Trainingsdatensätze.
  • Zugriffsmuster: Welche der folgenden Optionen kategorisiert das E/A-Zugriffsmuster Ihres Trainings-Workloads am besten:
    • Paralleler und sequenzieller Zugriff: Eine Datei wird einem einzelnen Knoten zugewiesen und sequenziell gelesen.
    • Paralleler und zufälliger Zugriff: Eine Datei wird einem einzelnen Knoten zugewiesen und zufällig gelesen, um einen Batch von Stichproben zu erstellen.
    • Vollständig zufälliger Zugriff: Ein Knoten kann einen beliebigen Bereich aus einer beliebigen Datei lesen, um einen Batch zu erstellen.
  • Dateigröße: die typischen Größen von Leseanfragen.
Managed Lustre zum Laden von Daten

Sie sollten Managed Lustre zum Laden Ihrer Daten auswählen, wenn eine der folgenden Bedingungen zutrifft:

  • Sie haben eine Mindesttrainingskapazität von 18 TiB.
  • Ihre Trainingsdaten bestehen aus kleinen Dateien mit weniger als 50 MB, um die Vorteile der geringen Latenz zu nutzen.
  • Sie haben eine Latenzanforderung von weniger als 1 Millisekunde, um die Speicheranforderungen für zufällige E/A und Metadatenzugriff zu erfüllen.
  • Sie benötigen eine desktopähnliche Umgebung mit vollständiger POSIX-Unterstützung, um die Daten Ihrer Nutzer anzusehen und zu verwalten.

Sie können Managed Lustre als leistungsstarken Cache für Cloud Storage verwenden, um KI- und ML-Arbeitslasten zu beschleunigen, die extrem hohen Durchsatz und E/A-Vorgänge mit niedriger Latenz mit einem vollständig verwalteten parallelen Dateisystem erfordern. Um die Latenz während des Trainings zu minimieren, können Sie Daten aus Cloud Storage in Managed Lustre importieren. Wenn Sie GKE als Compute-Plattform verwenden, können Sie die

GKE Managed Lustre-CSI-Treiber, um PersistentVolumeClaims mit Daten aus Cloud Storage vorab zu füllen. Nach Abschluss des Trainings können Sie Ihre langfristigen Speicherkosten minimieren, indem Sie Ihre Daten in eine kostengünstigere Cloud Storage-Klasse exportieren.

Cloud Storage zum Laden von Daten

Sie sollten Cloud Storage zum Laden Ihrer Daten verwenden, wenn eine der folgenden Bedingungen zutrifft:

  • Sie haben einen Bedarf an Trainingskapazität von mindestens 100 TiB.
  • Ihre Trainingsdaten bestehen aus großen Dateien mit 50 MB oder mehr.
  • Sie priorisieren die Langlebigkeit von Daten und die hohe Verfügbarkeit gegenüber der Speicherleistung.

Cloud Storage bietet eine skalierbare und kostengünstige Lösung zum Speichern großer Datasets. Mit Cloud Storage FUSE können Sie auf die Daten als lokales Dateisystem zugreifen. Cloud Storage FUSE beschleunigt den Datenzugriff während des Trainings, da die Trainingsdaten in der Nähe der Maschinenbeschleuniger gespeichert werden, was den Durchsatz erhöht.

Bei Arbeitslasten, die einen Durchsatz von über 1 TB/s erfordern, beschleunigt Anywhere Cache die Lesegeschwindigkeit durch das Caching von Daten und die Skalierung über regionale Bandbreitenkontingente hinaus. Mit dem Anywhere Cache-Recommender können Sie Ihre Datennutzung und Ihren Speicher analysieren, um festzustellen, ob Anywhere Cache für Ihre Arbeitslast geeignet ist.

Checkpointing und Wiederherstellung

Für Prüfpunkte und Wiederherstellung müssen Trainingsjobs ihren Status regelmäßig speichern, damit sie sich schnell von Instanzfehlern erholen können. Wenn der Fehler auftritt, müssen Jobs neu gestartet, der letzte Prüfpunkt aufgenommen und dann das Training fortgesetzt werden. Der genaue Mechanismus, der zum Erstellen und Aufnehmen von Prüfpunkten verwendet wird, ist in der Regel für ein Framework spezifisch. Weitere Informationen zu Prüfpunkten und Optimierungstechniken für TensorFlow Core finden Sie unter Trainingsprüfpunkte. Weitere Informationen zu Prüfpunkten und Optimierungstechniken für PyTorch finden Sie unter Modelle speichern und laden.

Sie müssen jeweils nur wenige Prüfpunkte speichern. Prüfpunkt-Arbeitslasten bestehen vorwiegend aus Schreibvorgängen, mehreren Löschvorgängen und idealerweise seltenen Lesevorgängen, wenn Fehler auftreten.

Berücksichtigen Sie die folgenden Faktoren, um die Leistung von Checkpointing und Wiederherstellung zu optimieren:

  • Modellgröße: Die Anzahl der Parameter in Ihrem KI- und ML-Modell. Die Größe Ihres Modells wirkt sich direkt auf die Größe der Checkpoint-Dateien aus, die zwischen GiB und TiB liegen kann.
  • Häufigkeit von Prüfpunkten: Gibt an, wie oft Ihr Modell Prüfpunkte speichert. Häufige Speichervorgänge sorgen für eine bessere Fehlertoleranz, erhöhen aber die Speicherkosten und können sich auf die Trainingsgeschwindigkeit auswirken.
  • Checkpoint recovery time (Wiederherstellungszeit für Prüfpunkte): die Wiederherstellungszeit, die Sie für das Laden von Prüfpunkten und das Fortsetzen des Trainings wünschen. Um die Wiederherstellungszeit zu minimieren, sollten Sie Faktoren wie die Größe des Prüfpunkts, die Speicherleistung und die Netzwerkbandbreite berücksichtigen.
Managed Lustre für Checkpointing

Sie sollten Managed Lustre für Checkpointing verwenden, wenn eine der folgenden Bedingungen zutrifft:

  • Ihre Trainingsarbeitslast verwendet bereits Managed Lustre zum Laden von Daten.
  • Sie müssen häufige leistungsstarke Prüfpunkte durchführen.

Um die Ressourcennutzung zu maximieren und die Inaktivitätszeit des Beschleunigers zu minimieren, verwenden Sie Managed Lustre für Training und Checkpointing. Mit Managed Lustre lassen sich schnelle Checkpoint-Schreibvorgänge mit einem hohen Durchsatz pro VM erzielen. Sie können Checkpoints in der persistenten Managed Lustre-Instanz beibehalten oder die Kosten optimieren, indem Sie Checkpoints regelmäßig in Cloud Storage exportieren.

Cloud Storage für Checkpointing

Sie sollten Cloud Storage für Checkpointing verwenden, wenn eine der folgenden Bedingungen zutrifft:

  • Für Ihre Trainingsarbeitslast wird Cloud Storage FUSE verwendet.
  • Sie priorisieren die Langlebigkeit von Daten und die hohe Verfügbarkeit gegenüber der Speicherleistung.

Um die Leistung beim Erstellen von Checkpoints zu verbessern, verwenden Sie Cloud Storage FUSE mit hierarchischen Namespaces, um die schnelle atomare Umbenennung zu nutzen und Checkpoints asynchron zu speichern. Damit sensible Informationen aus Ihrem Trainings-Dataset während der Bereitstellung nicht versehentlich offengelegt werden, müssen Sie Checkpoints in einem separaten Cloud Storage-Bucket speichern. Um die Latenz bei Schreibvorgängen am Ende von blockierten Uploads zu reduzieren, versucht Cloud Storage FUSE nach 10 Sekunden einen erneuten Versuch.

Bereitstellung

Wenn Sie Ihr Modell bereitstellen, was auch als Inferenz bezeichnet wird, ist das primäre I/O-Muster schreibgeschützt, um das Modell in den GPU- oder TPU-Arbeitsspeicher zu laden. In der Bereitstellungsphase möchten Sie Ihr Modell in der Produktion ausführen. Das Modell ist viel kleiner als die Trainingsdaten, sodass Sie es auf mehreren Instanzen replizieren und skalieren können. Wenn Sie Daten bereitstellen, ist es wichtig, dass Sie eine hohe Verfügbarkeit und einen hohen Schutz vor zonalen und regionalen Ausfällen haben. Daher müssen Sie dafür sorgen, dass Ihr Modell für eine Vielzahl von Fehlerszenarien verfügbar ist.

Bei vielen Anwendungsfällen für generative KI und ML sind die Eingabedaten für das Modell möglicherweise recht klein und müssen nicht dauerhaft gespeichert werden. In anderen Fällen müssen Sie möglicherweise große Datenmengen über das Modell ausführen, z. B. wissenschaftliche Datasets. Wenn Sie große Datenmengen verarbeiten möchten, wählen Sie eine Speicheroption aus, mit der die GPU- oder TPU-Leerlaufzeit während der Analyse des Datasets minimiert werden kann, und verwenden Sie einen nichtflüchtigen Speicherort zum Speichern der Inferenzergebnisse.

Die Ladezeiten des Modells wirken sich direkt auf die Leerlaufzeit des Beschleunigers aus, was erhebliche Kosten verursacht. Eine längere Modellladezeit pro Knoten kann sich über viele Knoten hinweg verstärken und zu einem erheblichen Kostenanstieg führen. Um die Kosten für die Bereitstellungsinfrastruktur zu senken, ist es daher wichtig, dass Sie die schnelle Modellbereitstellung optimieren.

Berücksichtigen Sie die folgenden Faktoren, um die Leistung und Kosten der Bereitstellung zu optimieren:

  • Modellgröße: Die Größe Ihres Modells in GiB oder TiB. Größere Modelle erfordern mehr Rechenressourcen und Arbeitsspeicher, was die Latenz erhöhen kann.
  • Häufigkeit des Modellladens: wie oft Sie Ihr Modell aktualisieren möchten. Häufiges Laden und Entladen verbraucht Rechenressourcen und erhöht die Latenz.
  • Anzahl der Bereitstellungsknoten: Die Anzahl der Knoten, die Ihr Modell bereitstellen. Mehr Knoten verringern in der Regel die Latenz und erhöhen den Durchsatz, aber sie erhöhen auch die Infrastrukturkosten.

Managed Lustre für die Bereitstellung

Sie sollten Managed Lustre für die Bereitstellung Ihres Modells auswählen, wenn eine der folgenden Bedingungen zutrifft:

  • Für Ihre Trainings- und Checkpointing-Arbeitslast wird Managed Lustre verwendet.
  • Ihre Arbeitslast verwendet 10 bis 100 Inferenzknoten.
  • Sie nehmen häufig Änderungen an Ihrem Modell vor.

Wenn Sie Managed Lustre bereits für das Training und die Erstellung von Checkpoints verwenden, kann es eine kostengünstige und leistungsstarke Option für das Bereitstellen Ihrer Modelle sein. Managed Lustre bietet einen hohen Durchsatz pro VM und einen hohen aggregierten Clusterdurchsatz, wodurch die Ladezeit von Modellen verkürzt wird. Sie können Managed Lustre für eine beliebige Anzahl von Bereitstellungs-VMs verwenden.

Cloud Storage für die Bereitstellung

Sie sollten Cloud Storage zum Bereitstellen Ihres Modells verwenden, wenn eine der folgenden Bedingungen zutrifft:

  • Sie benötigen eine kostengünstige Lösung für eine dynamische Umgebung, in der sich die Anzahl der Inferenzknoten ändern kann.
  • Sie aktualisieren Ihr Modell nur selten.
  • Sie legen Wert auf hohe Verfügbarkeit und Langlebigkeit Ihrer Modelle, auch bei regionalen Störungen.

Mit einer Architektur mit mehreren Regionen oder zwei Regionen bietet Cloud Storage hohe Verfügbarkeit und schützt Ihre Arbeitslast vor zonalen und regionalen Ausfällen. Um das Laden von Modellen zu beschleunigen, können Sie Cloud Storage FUSE mit parallelen Downloads verwenden, sodass Teile des Modells parallel abgerufen werden.

Wenn Sie die Bereitstellung von Modellen mit einem Durchsatz von über 1 TB/s oder Bereitstellungen mit mehr als 100 Bereitstellungsknoten erreichen möchten, verwenden Sie Anywhere Cache mit einem multiregionalen Bucket. Diese Kombination bietet leistungsstarken, redundanten Speicher über Regionen hinweg und Flexibilität. Außerdem fallen für Daten im Anywhere-Cache keine Gebühren für ausgehenden Traffic und das Abrufen von Speicherklassen an.

Hyperdisk ML für die Bereitstellung

Sie sollten Hyperdisk ML für die Bereitstellung Ihres Modells auswählen, wenn eine der folgenden Bedingungen zutrifft:

  • Sie benötigen mehr als 100 Inferenzknoten.
  • Sie aktualisieren Ihr Modell nur selten.
  • Ihre Arbeitslast verwendet einen unterstützten VM-Typ.
  • In Ihrer Pipeline können schreibgeschützte Volumes zum Speichern von Modellen verwaltet werden.

Die Bereitstellungsleistung lässt sich optimieren, indem Sie Hyperdisk ML als Cache für Ihre Cloud Storage-Daten verwenden. Hyperdisk ML verwendet Shared-Performance-Pooling und dynamisch bereitgestellten Durchsatz über mehrere VMs hinweg, um die schreibgeschützte Bereitstellung von Modellen in jeder Größenordnung effizient zu verarbeiten.

Archivieren

Die Archivierungsphase hat ein E/A-Muster von „einmal schreiben, selten lesen“. Ihr Ziel ist es, die verschiedenen Trainingsdatensätze und die verschiedenen Versionen der von Ihnen generierten Modelle zu speichern. Sie können diese inkrementellen Versionen von Daten und Modellen für Sicherungs- und Notfallwiederherstellungszwecke verwenden. Außerdem müssen Sie diese Artikel über einen langen Zeitraum an einem sicheren Ort aufbewahren. Auch wenn Sie nicht sehr oft auf die Daten und Modelle zugreifen müssen, möchten Sie doch, dass diese Elemente verfügbar sind, wenn Sie sie brauchen.

Aufgrund der extremen Langlebigkeit, der enormen Skalierbarkeit und der niedrigen Kosten ist Cloud Storage die besteGoogle Cloud -Option zum Speichern von Objektdaten über einen langen Zeitraum. Je nachdem, wie oft Sie auf das Dataset, das Modell und die Sicherungsdateien zugreifen, bietet Cloud Storage durch verschiedene Speicherklassen die Möglichkeit zur Kostenoptimierung. Sie können eine Speicherklasse danach auswählen, wie oft Sie auf Ihre archivierten Daten zugreifen müssen:

  • Häufiger Datenzugriff: Standard Storage
  • Monatlicher Datenzugriff: Nearline Storage
  • Vierteljährlicher Datenzugriff: Coldline Storage
  • Jährlicher Datenzugriff: Archive Storage

Mit der Verwaltung des Objektlebenszyklus können Sie Richtlinien erstellen, um Daten automatisch in Speicherklassen für die Langzeitarchivierung zu verschieben oder Daten anhand bestimmter Kriterien zu löschen. Wenn Sie sich nicht sicher sind, wie oft Sie auf Ihre Daten zugreifen werden, können Sie mit dem Feature Autoclass Daten basierend auf Ihren Zugriffsmustern automatisch zwischen Speicherklassen verschieben.

Nächste Schritte

Weitere Informationen zu Speicheroptionen und KI- und ML-Arbeitslasten finden Sie in den folgenden Ressourcen:

Beitragende

Autorin: Samantha He | Technische Autorin

Weitere Beitragende: