Questa pagina ti aiuta a scegliere la strategia di bilanciamento del carico appropriata per i workload di inferenza dei modelli di AI/ML su Google Kubernetes Engine (GKE).
Questa pagina è rivolta alle seguenti figure:
- 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 diGoogle Cloud , consulta Ruoli utente e attività comuni di GKE.
Prima di leggere questa pagina, assicurati di avere familiarità con quanto segue:
Quando esegui il deployment dei workload di inferenza del modello AI/ML su GKE, scegli la strategia di bilanciamento del carico giusta per ottimizzare le prestazioni, la scalabilità e il rapporto costi-efficacia:
- Scegli GKE Inference Gateway per un routing e un bilanciamento del carico ottimizzati per la gestione dei workload AI/ML.
- Scegli GKE Gateway con metriche personalizzate, che utilizza i bilanciatori del carico delle applicazioni. Questa opzione fornisce un controllo generico e consente di configurare la distribuzione del traffico in base alle metriche specifiche per i requisiti dell'applicazione o dell'infrastruttura.
Panoramica di GKE Inference Gateway
GKE Inference Gateway ottimizza e gestisce carichi di lavoro di inferenza di AI generativa (GenAI) e di modelli linguistici di grandi dimensioni (LLM) complessi. Estende l'API GKE Gateway, offrendo diversi vantaggi chiave:
Routing intelligente basato sull'AI:GKE Inference Gateway monitora metriche critiche specifiche dell'AI, tra cui:
- Utilizzo della cache KV del server dei modelli
- Lunghezza della coda delle richieste in attesa
- Utilizzo complessivo di GPU/TPU
- Disponibilità dell'adattatore LoRA
- Il costo di calcolo delle singole richieste In base a queste metriche, il gateway distribuisce in modo intelligente il traffico alla replica del server del modello più adatta e meno caricata.
Prioritizzazione delle richieste:il gateway fornisce meccanismi per dare la priorità alle richieste.
Scalabilità automatica ottimizzata:il gateway offre meccanismi di scalabilità automatica ottimizzati per i server dei modelli.
Panoramica di GKE Gateway con metriche personalizzate
Google Cloud offre risorse del bilanciatore del carico delle applicazioni che supportano ambiti come esterno globale ed esterno regionale. Questi bilanciatori del carico per uso generico distribuiscono il traffico in base alle metriche personalizzate riportate dai tuoi servizi di backend. Questo approccio fornisce un controllo granulare sulla distribuzione del carico, consentendoti di basarlo su indicatori di rendimento specifici dell'applicazione.
Confronta GKE Inference Gateway e GKE Gateway con metriche personalizzate
Utilizza la seguente tabella per confrontare le funzionalità di GKE Inference Gateway e GKE Gateway con metriche personalizzate e scegliere la soluzione di bilanciamento del carico giusta per i tuoi carichi di lavoro di inferenza AI/ML su GKE.
| Funzionalità | GKE Inference Gateway | GKE Gateway con metriche personalizzate (tramite bilanciatori del carico delle applicazioni) |
|---|---|---|
| Caso d'uso primario | Ottimizza i carichi di lavoro di inferenza di AI generativa e machine learning su Kubernetes, inclusa la gestione di modelli linguistici di grandi dimensioni (LLM). Garantisce un accesso equo alle risorse del modello e ottimizza i workload LLM sensibili alla latenza basati su GPU o TPU. | Fornisce il bilanciamento del carico HTTP(S) generico, distribuendo il traffico in base a metriche personalizzate segnalate dall'applicazione. Questo bilanciamento del carico è ideale per servizi sensibili alla latenza, come server di giochi in tempo reale o piattaforme di trading ad alta frequenza, che segnalano dati di utilizzo personalizzati. |
| Routing di base | Supporta il routing HTTP(S) standard basato su host e percorso, estendendo l'API GKE Gateway. | Supporta il routing HTTP(S) standard basato su host e percorso. Configura questa impostazione utilizzando le risorse standard dell'API GKE Gateway. |
| Logica di routing avanzata | Fornisce funzionalità avanzate come il routing basato sul modello, la suddivisione e il mirroring del traffico e l'applicazione di livelli di priorità e criticità alle richieste. | Bilancia il traffico in base alle metriche personalizzate riportate dall'applicazione
tramite lo standard Open Request Cost Aggregation (ORCA). Ciò consente
policy come WEIGHTED_ROUND_ROBIN per la ponderazione degli endpoint
all'interno di una località. |
| Metriche supportate | Utilizza una suite di metriche native specifiche per l'AI, come l'utilizzo di GPU o TPU, gli hit della cache KV e la lunghezza della coda di richieste. Può anche essere configurato per utilizzare le metriche segnalate dall'applicazione utilizzando un meccanismo di intestazione HTTP standardizzato. | Si basa su metriche segnalate dalle applicazioni che utilizzano un meccanismo di intestazione HTTP standardizzato, in particolare il report sul carico Open Request Cost Aggregation (ORCA). Questo meccanismo supporta metriche standard come CPU e memoria, nonché metriche con nome personalizzato per risorse con vincoli specifici dell'applicazione. |
| Gestione delle richieste | Progettati per gestire carichi di lavoro con costi delle richieste non uniformi, che sono comuni negli LLM a causa della diversa complessità dei prompt. Supporta i livelli di criticità delle richieste, consentendo di dare la priorità a diversi tipi di richieste di inferenza. | Ideale per i workload in cui le singole richieste hanno costi di elaborazione relativamente uniformi. Questa soluzione non include funzionalità di assegnazione delle priorità alle richieste native. |
| Supporto dell'adattatore LoRA | Offre il routing nativo basato sull'affinità ai backend dotati di adattatori LoRa specifici, garantendo che le richieste vengano indirizzate alle risorse appropriate. | Non fornisce supporto nativo per gli adattatori LoRa o il routing basato sull'affinità in base alle configurazioni LoRa. |
| Integrazione della scalabilità automatica | Ottimizza la scalabilità automatica per i server dei modelli sfruttando metriche specifiche dell'AI, come l'utilizzo della cache KV, per prendere decisioni di scalabilità più informate. | Si integra con Horizontal Pod Autoscaler (HPA) utilizzando metriche personalizzate. Queste metriche vengono segnalate al bilanciatore del carico delle applicazioni e vengono utilizzate in modo generico per lo scaling, in base agli indicatori di carico segnalati. |
| Installazione e configurazione | Configuralo con l'API GKE Gateway. Estende l'API standard con definizioni di risorse personalizzate (CRD) specializzate InferencePool e InferenceModel per abilitare le funzionalità basate sull'AI. |
Configura questa soluzione utilizzando le risorse standard dell'API GKE Gateway. L'applicazione deve implementare un meccanismo basato su intestazioni HTTP, come l'aggregazione dei costi delle richieste aperte (ORCA), per segnalare metriche personalizzate per il bilanciamento del carico. |
| Sicurezza | Questa soluzione include il filtro dei contenuti AI utilizzando Model Armor a livello di gateway. Sfrutta anche le funzionalità di sicurezza di base di GKE, come TLS, Identity and Access Management (IAM), controllo dell'accesso basato sui ruoli (RBAC) e spazi dei nomi. | Questa soluzione utilizza lo stack di sicurezza standard di Application Load Balancer, che include Google Cloud Armor, la terminazione TLS e IAM. Per attivare il filtro dei contenuti AI, puoi integrare Google Cloud Armor come estensione del servizio. |
| Osservabilità | Offre osservabilità integrata nelle metriche specifiche dell'AI, tra cui l'utilizzo di GPU o TPU, gli hit della cache KV, la lunghezza della coda delle richieste 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 consente un algoritmo di selezione degli endpoint gestito dall'utente. Estende l'API GKE Gateway con [definizioni di risorse personalizzate (CRD)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway) specializzate, come InferencePool e InferenceModel, per semplificare i casi d'uso comuni dell'AI. |
Progettato per la flessibilità, in modo da consentirti di estendere il bilanciamento del carico utilizzando qualsiasi [metrica personalizzata (indicatore di carico)](/load-balancing/docs/https/applb-custom-metrics) che l'applicazione segnala utilizzando lo standard ORCA. |
| Fase di lancio | GA | GA |
Quando utilizzare GKE Inference Gateway
Scegli GKE Inference Gateway per ottimizzare i workload di inferenza sofisticati di AI e machine learning su GKE, in particolare per i modelli linguistici di grandi dimensioni (LLM). Consigliamo questa soluzione nelle seguenti situazioni:
- Servizio di LLM:quando utilizzi server di modelli come vLLM, devi prendere decisioni di routing in base a stati specifici degli LLM, ad esempio l'utilizzo della cache KV o la lunghezza della coda di richieste.
- Deployment di modelli con adattatori LoRA:è necessario un routing intelligente basato sull'affinità ai backend dotati degli adattatori LoRA corretti e disponibili.
- Gestione delle richieste di inferenza con costi di elaborazione molto variabili: ad esempio, le dimensioni o la complessità dei prompt dinamici richiedono un bilanciamento del carico sensibile ai costi.
- Implementazione della prioritizzazione delle richieste:devi dare la priorità a diverse classi di traffico di inferenza, ad esempio richieste critiche, standard o eliminabili.
- Ottimizzazione della scalabilità automatica:vuoi un meccanismo di scalabilità automatica strettamente accoppiato a metriche di rendimento specifiche dei server del modello di AI generativa (GenAI), come l'utilizzo della cache KV, per decisioni di scalabilità più informate.
- Utilizzo dell'integrazione di Model Armor:devi utilizzare Model Armor per i controlli di sicurezza dell'AI a livello di gateway.
- Ottenere l'osservabilità predefinita:hai bisogno dell'osservabilità integrata per le metriche critiche specifiche dell'AI, tra cui l'utilizzo di GPU o TPU, gli hit della cache KV e la lunghezza della coda delle richieste.
- Semplificazione dei deployment dell'AI generativa:preferisci una soluzione appositamente creata che semplifichi i pattern di deployment dell'AI generativa comuni su GKE, mantenendo le opzioni per la personalizzazione futura grazie alla sua base estensibile dell'API GKE Gateway.
Quando utilizzare GKE Gateway con metriche personalizzate
Per ottenere un bilanciamento del carico flessibile e generico basato sugli indicatori di rendimento unici della tua applicazione, utilizza GKE Gateway con metriche personalizzate. Questo approccio consente la distribuzione del carico in base a indicatori di rendimento unici e definiti dall'applicazione, inclusi scenari di inferenza specifici. Consigliamo questa procedura nei seguenti scenari:
- Il carico di lavoro ha un volume di traffico elevato con costi di elaborazione per richiesta relativamente uniformi.
- La distribuzione del carico può essere gestita in modo efficace da una o due metriche personalizzate specifiche segnalate dall'applicazione, in genere tramite le intestazioni di risposta HTTP utilizzando lo standard di report sul carico Open Request Cost Aggregation (ORCA).
- I requisiti di bilanciamento del carico non dipendono da funzionalità specifiche di GenAI o LLM.
- Il tuo modello operativo non richiede l'intelligence specializzata specifica per l'AI fornita da GKE Inference Gateway, evitando inutili complessità architetturali.
- Mantenere la coerenza con le implementazioni esistenti del bilanciatore del carico delle applicazioni è una priorità e queste implementazioni soddisfano i requisiti di bilanciamento del carico del servizio di inferenza.
Passaggi successivi
- Scopri di più su GKE Inference Gateway.
- Scopri di più sul bilanciatore del carico delle applicazioni.
- Esplora gli esempi sperimentali per sfruttare GKE per accelerare le tue iniziative di AI/ML in GKE AI Labs.