Questa pagina ti aiuta a scegliere la strategia di bilanciamento del carico appropriata per i carichi di lavoro di inferenza del modello AI/ML su Google Kubernetes Engine (GKE).
Questa pagina è rivolta ai seguenti utenti tipo:
- Ingegneri del machine learning (ML), amministratori e operatori della piattaforma e specialisti di dati e AI interessati a utilizzare le funzionalità di orchestrazione dei container Kubernetes per la gestione dei carichi di lavoro di AI/ML.
- Architetti cloud e specialisti di networking che interagiscono con il networking Kubernetes.
Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud , consulta Ruoli e attività comuni degli utenti GKE.
Prima di leggere questa pagina, assicurati di avere familiarità con quanto segue:
Quando esegui il deployment di carichi di lavoro di inferenza del modello AI/ML su Google Kubernetes Engine (GKE), scegli la strategia di bilanciamento del carico giusta per ottimizzare prestazioni, scalabilità ed efficienza dei costi. Google Cloud fornisce le seguenti soluzioni distinte:
- GKE Inference Gateway: una soluzione creata per il routing avanzato di AI/ML. Per saperne di più, consulta la documentazione di GKE Inference Gateway.
- Gateway GKE con metriche personalizzate: una soluzione che utilizza i bilanciatori del carico delle applicazioni, offrendo un controllo generico, che può essere combinato con un bilanciatore del carico delle applicazioni.
Combinare soluzioni di bilanciamento del carico
Puoi utilizzare sia GKE Inference Gateway che GKE Gateway con metriche personalizzate insieme in alcune architetture. In queste architetture, il bilanciatore del carico delle applicazioni viene utilizzato con il gateway GKE con metriche personalizzate. Ad esempio, un bilanciatore del carico delle applicazioni esterno globale indirizza il traffico alla regione appropriata in base a fattori quali la posizione geografica e i controlli di integrità. Per ulteriori informazioni, consulta la sezione Bilanciatori del carico delle applicazioni. Dopo che il traffico raggiunge una regione specifica, GKE Inference Gateway esegue un bilanciamento del carico basato sull'AI e granulare per indirizzare le richieste al server del modello ottimale. Per maggiori informazioni, consulta la documentazione di GKE Inference Gateway.
Per scegliere la soluzione di bilanciamento del carico più adatta alle tue applicazioni di inferenza su GKE, considera le caratteristiche del tuo workload, i requisiti di rendimento e il modello operativo. Google Cloud
Per indirizzare il traffico alla replica del server del modello più adatta e meno caricata, l'estensione Endpoint Picker di GKE Inference Gateway monitora le metriche critiche specifiche per l'AI. Queste metriche includono l'utilizzo della cache KV del server del modello, la lunghezza della coda delle richieste in attesa, il caricamento complessivo di GPU o TPU, la disponibilità dell'adattatore LoRA e il costo di calcolo delle singole richieste. Oltre al routing sofisticato, GKE Inference Gateway fornisce la prioritizzazione delle richieste e la scalabilità automatica ottimizzata per i server dei modelli.
Panoramica di GKE Gateway con metriche personalizzate
I bilanciatori del carico delle applicazioni, come il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico delle applicazioni esterno regionale, sono bilanciatori del carico per uso generico che distribuiscono il traffico in base alle metriche personalizzate segnalate dai servizi di backend. Questa funzionalità offre un controllo granulare sulla distribuzione del carico in base a indicatori di rendimento specifici dell'applicazione.
Il gateway GKE funge da interfaccia nativa di Kubernetes per il provisioning e la gestione dei bilanciatori del carico delle applicazioni. In sostanza, quando definisci una risorsa Gateway nel cluster GKE, il controller GKE Gateway configura automaticamente il bilanciatore del carico delle applicazioni sottostante, fornendo un modo semplificato per gestire il traffico HTTP/HTTPS esterno ai servizi GKE direttamente da Kubernetes, utilizzando l'infrastruttura di bilanciamento del carico di Google Cloud.
Confrontare le soluzioni di bilanciamento del carico
La seguente tabella mette a confronto le funzionalità di GKE Inference Gateway e GKE Gateway con metriche personalizzate.
Funzionalità | Gateway di inferenza | GKE Gateway con metriche personalizzate (utilizzando i bilanciatori del carico delle applicazioni) |
---|---|---|
Caso d'uso primario | Ottimizza i carichi di lavoro di inferenza di AI/ML generativa su Kubernetes, ad esempio la gestione di modelli linguistici di grandi dimensioni (LLM). Funziona bene per gestire più casi d'uso su un singolo modello, garantendo un accesso equo alle risorse del modello e ottimizzando i carichi di lavoro LLM basati su GPU/TPU sensibili alla latenza. | Fornisce il bilanciamento del carico HTTP(S) per scopi generici per i workload che richiedono una distribuzione accurata del traffico in base a metriche personalizzate segnalate dall'applicazione (indicatori di carico). Funziona bene per i servizi sensibili alla latenza, come i server di giochi in tempo reale o le piattaforme di trading ad alta frequenza, che segnalano dati di utilizzo personalizzati. |
Routing di base | Supporta il routing HTTP(S) standard per host e percorso, estendendo l'API Gateway di GKE. | Supporta il routing HTTP(S) standard per host e percorso, configurato utilizzando le risorse standard dell'API GKE Gateway. |
Logica di routing avanzata | Esegue il routing basato sul modello (ad esempio, il nome del modello basato sul corpo), la suddivisione del traffico, il mirroring e applica i livelli di priorità e criticità. | Bilancia il traffico in base alle metriche personalizzate segnalate dall'applicazione utilizzando lo standard Open Request Cost Aggregation (ORCA). Ciò consente di attivare criteri come WEIGHTED_ROUND_ROBIN per la ponderazione degli endpoint all'interno di una località. |
Metriche supportate | Utilizza una suite di indicatori integrati e specifici per l'AI pronti all'uso, come l'utilizzo di GPU/TPU, gli hit della cache KV e la lunghezza della coda delle richieste. Puoi anche configurarlo per utilizzare le metriche segnalate dall'applicazione inviate utilizzando un meccanismo di intestazione HTTP standardizzato. | Si basa sulle metriche segnalate dall'applicazione utilizzando un meccanismo di intestazione HTTP standardizzato (questo meccanismo è noto come _report sul carico ORCA_). Questo formato consente di generare report sulle metriche standard, come CPU e memoria, o sulle metriche con nome personalizzato per le risorse vincolate specifiche dell'applicazione. |
Gestione delle richieste | Riduce i costi delle richieste non uniformi, comuni nei LLM. Supporta i livelli di [criticità delle richieste](/kubernetes-engine/docs/concepts/about-gke-inference-gateway#traffic-distribution). | Ottimizzato per costi delle richieste relativamente uniformi. Non include la definizione delle priorità delle richieste integrate. |
Supporto dell'adattatore LoRA | Fornisce il routing nativo basato sull'affinità ai backend appropriati dotati di LoRa. | Non fornisce supporto nativo. |
Integrazione della scalabilità automatica | Ottimizza lo scaling per i server dei modelli in base a metriche specifiche dell'AI, come `KV cache hits`. | Horizontal Pod Autoscaler (HPA) può utilizzare metriche personalizzate, ma la configurazione è generica e basata sulle metriche riportate per il bilanciatore del carico delle applicazioni. |
Installazione e configurazione | Configuralo con l'API GKE Gateway. Estende l'API standard con InferencePool e InferenceModel Custom Resource Definitions (CRD) specializzate per abilitare le funzionalità basate sull'AI. |
Configuralo con le risorse standard dell'API GKE Gateway. L'applicazione deve implementare il meccanismo basato su intestazioni HTTP per segnalare le metriche personalizzate. |
Sicurezza | Fornisce il filtro dei contenuti AI con Model Armor al gateway. Sfrutta le funzionalità di sicurezza di base di GKE come TLS, IAM, controllo dell'accesso basato sui ruoli (RBAC) e spazi dei nomi. | Utilizza lo stack di sicurezza standard del bilanciatore del carico delle applicazioni, tra cui Model Armor, terminazione TLS e IAM. Model Armor è supportato anche tramite l'integrazione come estensione di servizio. |
Osservabilità | Offre l'osservabilità integrata delle metriche specifiche dell'AI, tra cui l'utilizzo di GPU o TPU, `KV cache hits`, `request queue length` e la latenza del modello. | L'osservabilità si basa su tutte le metriche personalizzate che l'applicazione è configurata per segnalare. Puoi visualizzarli in Cloud Monitoring. Questi possono includere metriche standard o con nome personalizzato. |
Estensibilità | Basato su una base open source estensibile che supporta un algoritmo di selezione degli endpoint gestito dall'utente. Estende l'API GKE Gateway con definizioni di risorse personalizzate (InferencePool , InferenceModel ) specializzate per semplificare i casi d'uso comuni di AI/ML. |
Progettato per la flessibilità, consentendo di estendere il bilanciamento del carico con qualsiasi metrica personalizzata (indicatore di carico) che l'applicazione può segnalare utilizzando lo standard ORCA. |
Fase di avvio | Anteprima | GA |
Quando utilizzare GKE Inference Gateway
Utilizza GKE Inference Gateway per ottimizzare i sofisticati workload di inferenza AI/ML su GKE, in particolare per gli LLM.
Scegli GKE Inference Gateway quando devi:
- Routing basato sul modello: indirizza il traffico in base a stati specifici di LLM, come hit della cache KV o lunghezza della coda di richieste, oppure ad adattatori LoRA specifici.
- Bilanciamento del carico in base ai costi: gestisci in modo efficiente le richieste di inferenza con costi di elaborazione variabili e assegna loro la priorità in base ai livelli di criticità (critico, standard o eliminabile).
- Scalabilità automatica specifica per l'AI: esegui lo scale up e lo scale down dinamico dei server dei modelli in base alle metriche di AI pertinenti per un utilizzo ottimale delle risorse.
- Sicurezza e osservabilità dell'AI integrate: utilizza l'integrazione nativa di Model Armor per i controlli di sicurezza dell'AI e ottieni informazioni pronte all'uso sull'utilizzo di GPU/TPU, sugli hit della cache KV e sulla lunghezza della coda delle richieste.
- Deployment dell'AI generativa semplificato: usufruisci di una soluzione estensibile e appositamente creata che semplifica i pattern di deployment dell'AI generativa comuni su GKE, offrendo al contempo la personalizzazione tramite la base dell'API GKE Gateway.
Quando utilizzare GKE Gateway con metriche personalizzate
Utilizza GKE Gateway con metriche personalizzate per un bilanciamento del carico flessibile e generico che si adatta agli indicatori di rendimento unici della tua applicazione, inclusi alcuni scenari di inferenza.
Scegli GKE Gateway con metriche personalizzate quando devi eseguire le seguenti operazioni:
- Gestisci volumi di traffico elevati con costi delle richieste relativamente uniformi.
- Distribuire il carico in base alle metriche personalizzate segnalate dall'applicazione utilizzando la segnalazione del carico ORCA.
- Evita l'intelligence di routing specifica per AI/LLM offerta da GKE Inference Gateway.
- Dai la priorità alla coerenza con le implementazioni del bilanciatore del carico delle applicazioni esistenti che soddisfano le esigenze del tuo servizio di inferenza.
Passaggi successivi
- Per istruzioni dettagliate sul deployment e sulla configurazione, vedi Informazioni su GKE Inference Gateway.
- Scopri di più sui bilanciatori del carico delle applicazioni.
- Esplora esempi sperimentali per sfruttare GKE per accelerare le tue iniziative di AI/ML in GKE AI Labs.