Informazioni sull'architettura
L'architettura prevede una soluzione multicloud con Google Cloud e OCI in cui GKE orchestra il processo generale di formazione e inferenza mentre scarica la parte a uso intensivo di calcolo nell'infrastruttura AI OCI su richiesta. I dati vengono trasferiti tra i due cloud e i risultati vengono restituiti a GKE per un'ulteriore elaborazione.
Il seguente diagramma illustra l'architettura di riferimento:
Componenti dell'architettura
Questa architettura contiene i seguenti componenti:
- Cluster GKE (Google Kubernetes Engine)
Il cluster GKE gestisce i job di addestramento dei modelli in container e invia i job di addestramento al cluster Kubernetes.
- Definizione job formazione modello
La definizione del job di addestramento modello specifica lo script di addestramento, la posizione dei dati (storage cloud), i parametri del modello e il numero desiderato di nodi di lavoro.
- Script addestramento containerizzato
Uno script di formazione containerizzato viene eseguito sui nodi di lavoro, eseguendo l'addestramento del modello effettivo utilizzando il modello in esecuzione nell'infrastruttura AI OCI.
- Operatore Kubernetes (facoltativo)
L'operatore Kubernetes è un parametro facoltativo che automatizza la distribuzione e la gestione dei job di formazione su GKE.
- Storage cloud
Cloud Storage memorizza i dati di addestramento e gli artifact del modello.
- Monitoraggio cloud (facoltativo)
Cloud Monitoring è un componente facoltativo che monitora lo stato dei job, l'utilizzo delle risorse e le metriche di formazione.
- Risultati del modello
I risultati del modello vengono inviati a GKE per la valutazione, lo storage o la distribuzione.
- Dominio di disponibilità
I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio alimentazione o raffreddamento, o la rete interna del dominio di disponibilità. Pertanto, un errore in un dominio di disponibilità non dovrebbe influire sugli altri domini di disponibilità nell'area.
- FastConnect
Oracle Cloud Infrastructure FastConnect consente di creare facilmente una connessione dedicata e privata tra il data center e Oracle Cloud Infrastructure. FastConnect fornisce opzioni per una maggiore larghezza di banda e un'esperienza di rete più affidabile se confrontata con le connessioni basate su Internet.
- Area
Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).
- Rete cloud virtuale (VCN) e subnet
Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, le reti VCN consentono di controllare l'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Calcolo
Il servizio Oracle Cloud Infrastructure Compute ti consente di eseguire il provisioning e gestire gli host di computazione nel cloud. Puoi avviare istanze di computazione con forme che soddisfano i requisiti delle risorse per CPU, memoria, larghezza di banda di rete e storage. Dopo aver creato un'istanza di computazione, è possibile accedervi in modo sicuro, riavviarla, collegare e scollegare volumi e arrestarla quando non è più necessaria.
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) è un servizio completamente gestito, scalabile e ad alta disponibilità che puoi utilizzare per distribuire le tue applicazioni containerizzate nel cloud. Puoi specificare le risorse di computazione richieste dalle tue applicazioni e Container Engine for Kubernetes le esegue sul provisioning di Oracle Cloud Infrastructure in una tenancy esistente. Container Engine for Kubernetes utilizza Kubernetes per automatizzare l'implementazione, la scalabilità e la gestione di applicazioni containerizzate tra cluster di host.
- Oracle Interconnect for Google Cloud
Oracle Interconnect for Google Cloud è un servizio di interconnessione privato e dedicato che combina le connessioni dei partner OCI FastConnect e le interconnessioni dei partner Google Cloud che aiuta i clienti multicloud a innovare su due cloud e ad applicare strumenti esistenti e familiari per supportare i carichi di lavoro.
Flusso comunicazione
In questa architettura, il traffico dei dati scorre così:
- I clienti inviano una definizione di job di addestramento modello tramite GKE.
- La definizione del job specifica lo script di formazione containerizzato, la posizione dei dati e i nodi di lavoro desiderati.
- I nodi di lavoro estraggono lo script e i dati di formazione da Cloud Storage. Lo script di formazione utilizza le GPU in esecuzione nell'infrastruttura AI OCI per addestrare il modello.
- I risultati della formazione vengono caricati in Cloud Storage o inviati a GKE per ulteriore elaborazione.
- Il servizio di monitoraggio cloud facoltativo raccoglie le metriche dal job di formazione per l'analisi delle prestazioni.
Casi d'uso inferenza aggiuntivi
Oltre al caso d'uso sopra descritto, questa architettura supporta anche due casi d'uso di inferenza:
- Inferenza in tempo reale con requisiti di bassa latenza.
- Inferenza batch per set di dati di grandi dimensioni.
Inferenza in tempo reale con requisiti di bassa latenza
In questo caso d'uso, i clienti richiedono risposte immediate dal modello LLM per applicazioni come chatbot, assistenti virtuali o traduzione in tempo reale. La soluzione progetta il seguente flusso di dati:
- L'input utente viene inviato all'ambiente GKE in esecuzione su GCP.
- GKE orchestra la richiesta all'infrastruttura AI OCI.
- L'infrastruttura AI OCI elabora l'input utilizzando il modello LLM distribuito.
- I risultati delle inferenze vengono restituiti a GKE.
- Formatta GKE e invia la risposta all'utente.
- Fornisce inferenza a bassa latenza a causa di Oracle Interconnect for Google Cloud, che riduce la prossimità dell'infrastruttura di inferenza all'applicazione.
- Ha una scalabilità sufficiente per gestire carichi di inferenza variabili tramite le funzionalità elastiche dell'infrastruttura AI OCI.
- Offre potenziali risparmi sui costi ottimizzando hardware e software di inferenza.
Riferimento batch per set di dati di grandi dimensioni
In questo caso, i clienti devono elaborare grandi volumi di dati tramite il modello LLM in modalità batch, ad esempio l'analisi delle opinioni su un set di dati di grandi dimensioni o la generazione di riepiloghi per un ampio corpus di documenti. È possibile risolvere questo caso implementando questo flusso di dati:
- I dati vengono preparati e memorizzati in un bucket di storage di Google Cloud.
- Un job batch viene avviato in GKE, attivato da Cloud Scheduler o dalle funzioni cloud.
- GKE orchestra il trasferimento dei dati all'infrastruttura AI OCI.
- OCI AI Infrastructure elabora i dati in batch utilizzando il modello LLM.
- I risultati delle inferenze vengono memorizzati in un bucket di storage di Google Cloud.
- La post-elaborazione, se necessario, viene eseguita in GKE.
- Offre un'elaborazione a costi contenuti di set di dati di grandi dimensioni sfruttando la potenza di calcolo dell'infrastruttura AI OCI.
- Offre prestazioni migliori rispetto all'esecuzione di inferenze solo su GKE.
- Ha la capacità di gestire diversi formati e dimensioni dei dati.