Informationen zur Architektur
Die Architektur umfasst eine Multicloud-Lösung mit Google Cloud und OCI, bei der GKE den gesamten Trainings- und Inferenzierungsprozess orchestriert, während der rechenintensive Teil nach Bedarf an OCI AI Infrastructure ausgelagert wird. Die Daten werden zwischen den beiden Clouds übertragen und die Ergebnisse zur weiteren Verarbeitung an GKE zurückgegeben.
Das folgende Diagramm veranschaulicht die Referenzarchitektur:
Architekturkomponenten
Diese Architektur enthält folgende Komponenten:
- GKE-Cluster (Google Kubernetes Engine)
Das GKE-Cluster verwaltet Trainingsjobs für containerisierte Modelle und leitet Trainingsjobs an das Kubernetes-Cluster weiter.
- Modelltraining - Tätigkeitsdefinition
Die Jobdefinition für Modelltraining gibt das Trainingsskript, den Datenspeicherort (Cloud-Speicher), Modellparameter und die gewünschte Anzahl von Worker-Knoten an.
- Containerisiertes Trainingsskript
Ein containerisiertes Trainingsskript wird auf Worker-Knoten ausgeführt und führt das eigentliche Modelltraining mit dem Modell aus, das auf OCI AI Infrastructure ausgeführt wird.
- Kubernetes-Operator (optional)
Der Kubernetes-Operator ist ein optionaler Parameter, der die Bereitstellung und Verwaltung von Schulungsjobs auf GKE automatisiert.
- Cloud-Speicher
Cloud Storage speichert die Trainingsdaten und Modellartefakte.
- Cloud-Überwachung (optional)
Cloud Monitoring ist eine optionale Komponente, die Jobstatus, Ressourcenauslastung und Schulungsmetriken überwacht.
- Modellergebnisse
Modellergebnisse werden zur Auswertung, Speicherung oder Bereitstellung an GKE zurückgesendet.
- Availability-Domain
Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Daher sollte ein Fehler in einer Availability-Domain sich nicht auf die anderen Availability-Domains in der Region auswirken.
- FastConnect
Mit Oracle Cloud Infrastructure FastConnect können Sie ganz einfach eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure herstellen. FastConnect bietet Optionen mit höherer Bandbreite und ein zuverlässigeres Netzwerkerlebnis im Vergleich zu internetbasierten Verbindungen.
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
- Virtuelles Cloud-Netzwerk (VCN) und Subnetz
Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- Compute
Mit dem Oracle Cloud Infrastructure Compute-Service können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihre Ressourcenanforderungen für CPU, Speicher, Netzwerkbandbreite und Speicher erfüllen. Nach dem Erstellen einer Compute-Instanz können Sie sicher darauf zugreifen, die Compute-Instanz neu starten, Volumes zuordnen und trennen und die Compute-Instanz beenden, wenn Sie sie nicht mehr benötigen.
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) ist ein vollständig verwalteter, skalierbarer und hoch verfügbarer Service, mit dem Sie Ihre Containeranwendungen in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Anwendungen benötigen, und Container Engine for Kubernetes stellt sie in Oracle Cloud Infrastructure in einem vorhandenen Mandanten bereit. Container Engine for Kubernetes automatisiert mit Kubernetes das Deployment, die Skalierung und die Verwaltung containerisierter Anwendungen auf mehreren Hostclustern.
- Oracle Interconnect for Google Cloud
Oracle Interconnect for Google Cloud ist ein dedizierter, privater Verbindungsservice, der OCI-FastConnect-Partnerverbindungen und Google Cloud Partner Interconnects kombiniert, mit dem Multicloud-Kunden über zwei Clouds hinweg Innovationen schaffen und vorhandene und vertraute Tools zur Unterstützung von Workloads anwenden können.
Kommunikationsfluss
In dieser Architektur fließt der Datenverkehr so:
- Kunden reichen eine Jobdefinition für die Modellschulung über GKE ein.
- Die Jobdefinition gibt das containerisierte Trainingsskript, den Datenspeicherort und die gewünschten Worker-Knoten an.
- Worker-Knoten rufen das Trainingsskript und die Daten aus Cloud Storage ab. Das Trainingsskript nutzt die GPUs, die auf OCI AI Infrastructure ausgeführt werden, um das Modell zu trainieren.
- Schulungsergebnisse werden in Cloud Storage hochgeladen oder zur weiteren Verarbeitung an GKE zurückgesendet.
- Optionales Cloud Monitoring erfasst Metriken aus dem Schulungsjob zur Performanceanalyse.
Zusätzliche Inferenzanwendungsfälle
Neben dem oben beschriebenen Anwendungsfall unterstützt diese Architektur auch zwei Inferenzanwendungsfälle:
- Inferenz in Echtzeit mit Anforderungen mit geringer Latenz.
- Batchinferenz für große Datasets.
Echtzeitinferenz mit Anforderungen mit geringer Latenz
In diesem Anwendungsfall benötigen Kunden sofortige Antworten aus dem LLM-Modell für Anwendungen wie Chatbots, virtuelle Assistenten oder Echtzeitübersetzungen. Die Lösung entwickelt den folgenden Datenfluss:
- Die Benutzereingabe wird an die GKE-Umgebung gesendet, die auf GCP ausgeführt wird.
- GKE orchestriert die Anforderung an die OCI AI Infrastructure.
- OCI AI Infrastructure verarbeitet die Eingabe mit dem bereitgestellten LLM-Modell.
- Inferenzergebnisse werden an GKE zurückgegeben.
- GKE formatiert und sendet die Antwort an den Benutzer.
- Dank Oracle Interconnect for Google Cloud wird eine geringe Latenz inferenziert, wodurch die Nähe der Inferenzinfrastruktur zur Anwendung reduziert wird.
- Es verfügt über ausreichende Skalierbarkeit, um unterschiedliche Inferenzlasten über die elastischen Funktionen von OCI AI Infrastructure zu bewältigen.
- Es bietet potenzielle Kosteneinsparungen durch die Optimierung von Inferenzhardware und -software.
Batchinferenz für große Datasets
In diesem Fall müssen Kunden große Datenmengen über das LLM-Modell in einem Batch-Modus verarbeiten, wie z. B. Sentimentanalyse auf einem umfangreichen Dataset oder die Generierung von Zusammenfassungen für einen großen Korpus von Dokumenten. Sie können diesen Fall beheben, indem Sie diesen Datenfluss implementieren:
- Die Daten werden in einem Google Cloud-Speicher-Bucket vorbereitet und gespeichert.
- Ein Batchjob wird in GKE initiiert, der von einem Cloud Scheduler oder Cloud Functions ausgelöst wird.
- GKE orchestriert die Übertragung von Daten an die OCI AI Infrastructure.
- OCI AI Infrastructure verarbeitet die Daten in Batches mit dem LLM-Modell.
- Inferenzergebnisse werden in einem Google Cloud-Speicher-Bucket gespeichert.
- Die Nachbearbeitung erfolgt bei Bedarf in GKE.
- Es bietet eine kostengünstige Verarbeitung großer Datasets, indem es die Rechenleistung von OCI AI Infrastructure nutzt.
- Es bietet eine verbesserte Performance im Vergleich zur laufenden Inferenz auf GKE allein.
- Es hat die Möglichkeit, verschiedene Datenformate und -größen zu verarbeiten.