Trainingscluster der Gemini Enterprise Agent Platform ist ein Dienst von Google Cloud der die größten und komplexesten KI-/ML-Arbeitslasten vereinfachen und beschleunigen soll. Er wurde speziell entwickelt, um Herausforderungen beim Training in großem Maßstab zu bewältigen, z. B. komplexe Clusterkonfiguration, Framework-Optimierung, Umgang mit Hardwarefehlern und Integration unterschiedlicher Toolsets.
Wichtigste Wertversprechen und Funktionen
Trainingscluster der Gemini Enterprise Agent Platform bietet mehrere wichtige Vorteile:
Open-Source-Slurm-UX und Clustertransparenz: Trainingscluster der Gemini Enterprise Agent Platform bietet vertraute, flexible Tools zum Starten und Verwalten von Jobs über eine Open-Source-Slurm-Benutzeroberfläche. Slurm ist ein Branchenstandard, der für optimierte GPU-Planung, automatische Fehlertoleranz und vereinfachten Start paralleler Jobs bekannt ist.
Automatisierte Cluster-Einrichtung und -Konfiguration: Trainingscluster der Gemini Enterprise Agent Platform automatisiert die Einrichtung und Konfiguration von Clustern, um den Übergang von der Reservierung zum Produktionstraining innerhalb von Stunden zu ermöglichen. Nutzer können Cluster über die Google Cloud Konsole (mit Referenzarchitekturen oder Schritt-für-Schritt-Konfiguration) oder über API Aufrufe mit JSON-Dateien erstellen.
Vorkonfigurierte Data-Science-Rezepte und -Workflows: Trainingscluster der Gemini Enterprise Agent Platform umfasst speziell entwickelte Tools und optimierte Trainingsrezepte, um das Training für beliebte Anwendungsfälle wie Llama- und Gemma-Modelle zu beschleunigen. Dabei werden Vortraining, überwachte Feinabstimmung (SFT) und Reinforcement Learning (RL) abgedeckt. Diese Rezepte sind für eine optimale Leistung (State-of-the-Art, SOTA) auf der Google Cloud Infrastruktur vorkonfiguriert und bieten erhebliche Leistungssteigerungen.
Hardware-Resilienz und hohe Verfügbarkeit: Trainingscluster der Gemini Enterprise Agent Platform wurde mit Hardware-Resilienz entwickelt, um die Clusterverfügbarkeit zu erhöhen. Hardwareprobleme werden automatisch behoben. Verschiedene Fehlermodi werden erkannt und priorisiert (z. B. Korrektheitsprüfungen, Geschwindigkeitsprüfungen, ECC-Fehler (Error-Correcting Code), NVIDIA Data Center GPU Manager (DCGM)-Prüfungen, Festplattenspeicherkapazität). Außerdem werden Maßnahmen zur Fehlerbehebung ausgelöst, z. B. Neustart, Neuinstallation oder Austausch fehlerhafter Knoten und Fortsetzung ab Prüfpunkten. So lassen sich die erheblichen Kostensteigerungen und Verzögerungen vermeiden, die durch Jobunterbrechungen und Hardwarefehler beim Training in großem Maßstab entstehen.
Architektur und Komponenten: Trainingscluster der Gemini Enterprise Agent Platform wird auf der Compute Engine Infrastruktur ausgeführt, die GPUs und CPUs unterstützt. Dabei wird ein verwalteter Slurm-Orchestrator zum Bereitstellen und Verwalten von Compute-Knoten verwendet, einschließlich Anmelde- und Worker-Knoten. Der Dienst ist in andere Google Cloud Dienste wie Netzwerk und Speicher eingebunden.
MLOps und Beobachtbarkeit: Integration mit Vertex ML Ops-Tools wie der Gemini Enterprise Agent Platform Model Registry für die automatische Registrierung, Nachverfolgung und Versionsverwaltung trainierter Workflows sowie mit Vertex AI Inference für die Bereitstellung mit Autoscaling und automatisierten Messwerten. Trainingscluster bietet auch eine automatische Beobachtbarkeitsintegration mit Vertex AI TensorBoard, um Trainingsprozesse zu visualisieren, Messwerte zu verfolgen und Probleme frühzeitig zu erkennen.
Trainingscluster können mit der Gemini Enterprise Agent Platform-API für Trainingscluster erstellt, abgerufen, aufgelistet, aktualisiert und gelöscht werden. Nach der Clustererstellung können Nutzer die Funktionalität überprüfen, indem sie sich in Knoten anmelden, grundlegende Slurm-Befehle ausführen (z. B. sinfo, sbatch) und GPU-bezogene Arbeitslasten ausführen (z. B. nvidia-smi).
Trainingscluster der Gemini Enterprise Agent Platform bietet eine API zum Starten vordefinierter LLM-Jobs mit optimierten Rezepten für Modelle wie Llama und Gemma, die Vortraining und kontinuierliches Vortraining ab Prüfpunkten unterstützen. Die Jobüberwachung ist möglich, indem Sie sich am Anmeldeknoten anmelden und Ausgabedateien und Slurm-Befehle wie squeue untersuchen.
Terminologie
In diesem Abschnitt finden Sie Definitionen für wichtige Begriffe und Konzepte, die für das Verständnis und die effektive Nutzung von Trainingsclustern der Gemini Enterprise Agent Platform unerlässlich sind. Diese Begriffe umfassen wichtige Dienstkomponenten, architektonische Überlegungen, integrierte Speichertechnologien und grundlegende Konzepte für maschinelles Lernen (ML) und MLOps, die Ihre Trainingsumgebung unterstützen.
Wichtige Dienstkonzepte
Knoten
- Eine einzelne virtuelle Maschine (Compute Engine-Instanz) in einem Cluster. Im Zusammenhang mit verwaltetem Training auf reservierten Clustern bezieht sich ein Knoten auf eine einzelne virtuelle Maschine (VM), die als einzelne Recheneinheit in Ihrem Cluster dient. Stellen Sie sich einen der dedizierten Worker-Computer vor, auf dem ein Teil Ihres gesamten Trainingsjobs ausgeführt wird. Jeder Knoten ist mit bestimmten Ressourcen wie CPU, Arbeitsspeicher und Beschleunigern (z. B. A3- oder A4-GPUs) ausgestattet. Sie arbeiten koordiniert zusammen, um umfangreiche, verteilte Trainingsaufgaben zu bewältigen.
Anmeldeknoten
- Ein Anmeldeknoten ist der Haupteinstiegspunkt für einen Nutzer, um auf den Cluster zuzugreifen, Jobs zu senden und Dateien zu verwalten. Weitere Informationen finden Sie unter Was ist Hochleistungs-Computing?.
Partition
- In Slurm eine logische Gruppierung von Knoten, die häufig verwendet wird, um Knoten mit unterschiedlichen Hardwarekonfigurationen zu trennen.
Rezept
- Im Zusammenhang mit verwaltetem Training ist ein Rezept ein umfassendes und wiederverwendbares Paket, das alles enthält, was zum Ausführen einer bestimmten umfangreichen Trainingsarbeitslast erforderlich ist.
Slurm-Cluster
- Eine Sammlung von Compute Engine-Instanzen, die von Slurm verwaltet werden und einen Anmeldeknoten und mehrere Worker-Knoten enthalten, die für die Ausführung von Trainingsjobs konfiguriert sind. Weitere Informationen finden Sie unter Slurm Workload Manager.
Worker-Knoten
- Ein Worker-Knoten bezieht sich auf eine einzelne Maschine oder Compute-Instanz in einem Cluster, die für die Ausführung von Aufgaben oder die Erledigung von Arbeiten verantwortlich ist. In Systemen wie Kubernetes- oder Ray-Clustern sind Knoten die grundlegenden Recheneinheiten. Weitere Informationen finden Sie unter Was ist Hochleistungs-Computing (HPC)?.
Architektur und Netzwerk
VPC-Netzwerk des Nutzers
- Ein VPC-Netzwerk des Nutzers ist eine Virtual Private Cloud (VPC) von Google Cloud, die privat auf einen Dienst zugreift, der in einer anderen VPC gehostet wird (der VPC des Erstellers). Weitere Informationen finden Sie unter Private Service Connect.
Maximale Übertragungseinheit (Maximum Transmission Unit, MTU)
- Die maximale Größe eines Datenpakets, das ein mit dem Netzwerk verbundenes Gerät übertragen kann. Größere MTU-Größen (Jumbo-Frames) können die Netzwerkleistung für bestimmte Arbeitslasten verbessern. Weitere Informationen finden Sie unter Maximale Übertragungseinheit.
Zugriff auf private Dienste
- Der Zugriff auf private Dienste ist eine private Verbindung zwischen Ihrem VPC-Netzwerk (Virtual Private Cloud) und Netzwerken von Google oder Drittanbietern. So können VM-Instanzen (Virtual Machine) in Ihrem VPC-Netzwerk über interne IP-Adressen mit diesen Diensten kommunizieren, ohne dem öffentlichen Internet ausgesetzt zu sein. Weitere Informationen finden Sie unter Zugriff auf private Dienste.
VPC-Netzwerk-Peering
- Eine Netzwerkverbindung, die es zwei VPC-Netzwerken ermöglicht, privat zu kommunizieren. Im Zusammenhang mit verwaltetem Training auf reservierten Clustern ist das VPC-Netzwerk-Peering eine wichtige Komponente für die Einbindung wichtiger Dienste. Es ist beispielsweise die erforderliche Methode, um die VPC Ihres Clusters mit einer Filestore-Instanz zu verbinden, die das erforderliche freigegebene `/home`-Verzeichnis für alle Knoten in Ihrem Cluster bereitstellt.
Zone
- Ein bestimmter Bereitstellungsbereich in einer Google Cloud-Region. Im Zusammenhang mit verwaltetem Training auf reservierten Clustern sollten alle Komponenten des Dienstes (Cluster, Filestore- und Managed Lustre-Instanzen) in derselben Zone erstellt werden, um eine optimale Leistung zu erzielen.
Integrierte Speichertechnologien
Cloud Storage FUSE
- Ein Open-Source-FUSE-Adapter, mit dem Sie Cloud Storage-Buckets als Dateisystem auf Linux- oder macOS-Systemen bereitstellen können. Weitere Informationen finden Sie unter Cloud Storage FUSE.
Filestore
- Ein vollständig verwalteter, hochleistungsfähiger Dateispeicherdienst von Google Cloud, der häufig für Anwendungen verwendet wird, die ein freigegebenes Dateisystem benötigen. Weitere Informationen finden Sie unter Filestore – Übersicht.
Managed Lustre
- Ein paralleles, verteiltes Dateisystem für High Performance Computing. Managed Lustre von Google Cloud bietet ein Dateisystem mit hohem Durchsatz für anspruchsvolle Arbeitslasten. Weitere Informationen finden Sie unter Managed Lustre – Übersicht.
Leistungsstufe
- Eine Konfigurationseinstellung für eine Managed Lustre-Instanz, die die Durchsatzgeschwindigkeit (in MB/s pro TiB) definiert und die Mindest- und Höchstkapazität beeinflusst.
Wichtige ML- und MLOps-Konzepte
Prüfpunkt
- Daten, die den Status der Parameter eines Modells entweder während des Trainings oder nach Abschluss des Trainings erfassen. Während des Trainings haben Sie beispielsweise folgende Möglichkeiten: 1. Training beenden, möglicherweise absichtlich oder aufgrund bestimmter Fehler. 2. Prüfpunkt erfassen. 3. Später den Prüfpunkt neu laden, möglicherweise auf anderer Hardware. 4. Training neu starten. In Gemini bezieht sich ein Prüfpunkt auf eine bestimmte Version eines Gemini-Modells, das mit einem bestimmten Dataset trainiert wurde.
Überwachte Feinabstimmung (SFT)
- Eine ML-Technik, bei der ein vortrainiertes Modell mit einem kleineren, gelabelten Dataset weiter trainiert wird, um es an eine bestimmte Aufgabe anzupassen.
Vertex AI Inference
- Ein Vertex AI-Dienst, mit dem Sie ein trainiertes ML-Modell verwenden können, um Inferenzen aus neuen, unbekannten Daten zu ziehen. Vertex AI bietet Dienste zum Bereitstellen von Modellen für Inferenzen. Weitere Informationen finden Sie unter Inferenzen aus einem benutzerdefiniert trainierten Modell abrufen.
Vertex AI Model Registry
- Vertex AI Model Registry ist ein zentrales Repository, in dem Sie den Lebenszyklus Ihrer ML-Modelle verwalten können. Vertex AI Model Registry bietet eine Übersicht über Ihre Modelle, sodass Sie neue Versionen besser organisieren, verfolgen und trainieren können. Wenn Sie eine Modellversion haben, die Sie bereitstellen möchten, können Sie sie einem Endpunkt direkt aus der Registry zuweisen oder Modelle mithilfe von Aliassen auf einem Endpunkt bereitstellen. Weitere Informationen finden Sie unter Einführung in Vertex AI Model Registry.
Vertex AI TensorBoard
- Vertex AI TensorBoard ist ein verwalteter, skalierbarer Dienst in Google Cloud, mit dem Data Scientists und ML-Entwickler ihre ML-Tests visualisieren, das Modelltraining debuggen und Leistungsmesswerte mit der vertrauten Open-Source-TensorBoard-Oberfläche verfolgen können. Der Dienst lässt sich nahtlos in Vertex AI Training und andere Dienste einbinden. Er bietet nichtflüchtigen Speicher für Testdaten und ermöglicht die gemeinsame Analyse der Modellentwicklung. Weitere Informationen finden Sie unter Einführung in Vertex AI TensorBoard.