Questa pagina spiega i concetti e le funzionalità chiave di Google Kubernetes Engine (GKE) Inference Gateway, un'estensione di GKE Gateway per la pubblicazione ottimizzata di applicazioni di AI generativa.
Questa pagina presuppone che tu conosca quanto segue:
- Orchestrazione di AI/ML su GKE
- Terminologia dell'AI generativa
- Concetti di networking GKE, tra cui Servizi e l'API GKE Gateway
- Bilanciamento del carico in Google Cloud, in particolare come i bilanciatori del carico interagiscono con 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.
Panoramica
GKE Inference Gateway è un'estensione di GKE Gateway che fornisce routing e bilanciamento del carico ottimizzati per la gestione dei carichi di lavoro di intelligenza artificiale (AI) generativa. Semplifica il deployment, la gestione e l'osservabilità dei carichi di lavoro di inferenza AI.
Per scegliere la strategia di bilanciamento del carico ottimale per i tuoi workload AI/ML, consulta Scegliere una strategia di bilanciamento del carico per l'inferenza AI su GKE.
Funzionalità e vantaggi
GKE Inference Gateway fornisce le seguenti funzionalità chiave per servire in modo efficiente i modelli di AI generativa per le applicazioni di AI generativa su GKE:
- Metriche supportate:
KV cache hits
: il numero di ricerche riuscite nella cache chiave-valore (KV).- Utilizzo di GPU o TPU: la percentuale di tempo in cui la GPU o la TPU è in elaborazione attiva.
- Lunghezza coda richieste: il numero di richieste in attesa di essere elaborate.
- Bilanciamento del carico ottimizzato per l'inferenza: distribuisce le richieste per ottimizzare
le prestazioni di pubblicazione del modello di AI. Utilizza metriche dei server dei modelli, come
KV cache hits
equeue length of pending requests
, per utilizzare gli acceleratori (come GPU e TPU) in modo più efficiente per i carichi di lavoro di AI generativa. Ciò consente il routing con riconoscimento della cache dei prefissi, una funzionalità chiave che invia le richieste con contesto condiviso, identificate analizzando il corpo della richiesta, alla stessa replica del modello massimizzando gli hit della cache. Questo approccio riduce drasticamente i calcoli ridondanti e migliora il tempo al primo token, rendendolo altamente efficace per l'AI conversazionale, la generazione RAG (Retrieval-Augmented Generation) e altri carichi di lavoro di AI generativa basati su modelli. - Distribuzione del modello sottoposto a fine-tuning LoRA dinamico: supporta la distribuzione di modelli sottoposti a fine-tuning LoRA dinamico su un acceleratore comune. In questo modo si riduce il numero di GPU e TPU necessarie per pubblicare i modelli eseguendo il multiplexing di più modelli LoRA sottoposti a fine tuning su un modello base e un acceleratore comuni.
- Scalabilità automatica ottimizzata per l'inferenza: GKE Horizontal Pod Autoscaler (HPA) utilizza le metriche del server del modello per la scalabilità automatica, il che contribuisce a garantire un utilizzo efficiente delle risorse di calcolo e prestazioni di inferenza ottimizzate.
- Routing basato sul modello: esegue il routing delle richieste di inferenza in base ai nomi dei modelli
definiti nelle specifiche
OpenAI API
all'interno del cluster GKE. Puoi definire criteri di routing del gateway, come la suddivisione del traffico e il mirroring delle richieste, per gestire diverse versioni del modello e semplificare i rollout dei modelli. Ad esempio, puoi indirizzare le richieste per un nome di modello specifico a diversi oggettiInferencePool
, ognuno dei quali serve una versione diversa del modello. Per ulteriori informazioni su come configurare questa opzione, consulta Configurare il routing basato sul corpo. - Sicurezza dell'AI e filtro dei contenuti integrati: GKE Inference Gateway si integra con Google Cloud Model Armor per applicare controlli di sicurezza dell'AI e filtri dei contenuti a prompt e risposte nel gateway. Model Armor fornisce log di richieste, risposte ed elaborazione per l'analisi e l'ottimizzazione retrospettive. Le interfacce aperte di GKE Inference Gateway consentono a fornitori e sviluppatori di terze parti di integrare servizi personalizzati nel processo di richiesta di inferenza.
- Pubblicazione specifica per modello
Priority
: consente di specificare la pubblicazionePriority
dei modelli di AI. Dai la priorità alle richieste sensibili alla latenza rispetto ai job di inferenza batch tolleranti alla latenza. Ad esempio, puoi dare la priorità alle richieste delle applicazioni sensibili alla latenza ed eliminare le attività meno sensibili al tempo quando le risorse sono limitate. - Osservabilità dell'inferenza: fornisce metriche di osservabilità per le richieste di inferenza, come tasso di richieste, latenza, errori e saturazione. Monitora le prestazioni e il comportamento dei tuoi servizi di inferenza tramite Cloud Monitoring e Cloud Logging, sfruttando dashboard predefinite specializzate per insight dettagliati. Per maggiori informazioni, consulta Visualizzare la dashboard di GKE Inference Gateway.
- Advanced API Management con Apigee: si integra con Apigee per migliorare il gateway di inferenza con funzionalità come sicurezza API, limitazione di frequenza e quote. Per istruzioni dettagliate, vedi Configurare Apigee per l'autenticazione e la gestione delle API.
- Estensibilità: basato su un'estensione di inferenza dell'API Kubernetes Gateway open source ed estensibile che supporta un algoritmo di selezione degli endpoint gestito dall'utente.
Comprendere i concetti chiave
GKE Inference Gateway migliora l'GKE
Gateway esistente che utilizza
oggetti
GatewayClass
. GKE Inference Gateway introduce le seguenti nuove definizioni di risorse personalizzate (CRD) dell'API Gateway, in linea con l'estensione dell'API Gateway Kubernetes OSS per l'inferenza:
- Oggetto
InferencePool
: rappresenta un gruppo di pod (container) che condividono la stessa configurazione di calcolo, lo stesso tipo di acceleratore, lo stesso modello linguistico di base e lo stesso server di modelli. che raggruppa e gestisce logicamente le risorse di servizio del modello di AI. Un singolo oggettoInferencePool
può estendersi su più pod in diversi nodi GKE e offre scalabilità e alta disponibilità. - Oggetto
InferenceObjective
: specifica il nome del modello di pubblicazione daInferencePool
in base alla specificaOpenAI API
. L'oggettoInferenceObjective
specifica anche le proprietà di pubblicazione del modello, comePriority
del modello di AI. GKE Inference Gateway dà la preferenza ai carichi di lavoro con un valore di priorità più elevato. Ciò consente di multiplexare i workload di AI sensibili alla latenza e tolleranti alla latenza su un cluster GKE. Puoi anche configurare l'oggettoInferenceObjective
per pubblicare modelli ottimizzati LoRA.
Il seguente diagramma illustra GKE Inference Gateway e la sua integrazione con la sicurezza dell'AI, l'osservabilità e la pubblicazione di modelli all'interno di un cluster GKE.

Il seguente diagramma illustra il modello di risorse incentrato su due nuove persona focalizzate sull'inferenza e sulle risorse che gestiscono.

Come funziona GKE Inference Gateway
GKE Inference Gateway utilizza le estensioni dell'API Gateway e la logica di routing specifica del modello per gestire le richieste dei client a un modello di AI. I passaggi seguenti descrivono il flusso della richiesta.
Come funziona il flusso delle richieste
GKE Inference Gateway instrada le richieste client dalla richiesta iniziale a un'istanza del modello. Questa sezione descrive come GKE Inference Gateway gestisce le richieste. Questo flusso di richieste è comune a tutti i client.
- Il client invia una richiesta, formattata come descritto nella specifica dell'API OpenAI, al modello in esecuzione in GKE.
- GKE Inference Gateway elabora la richiesta utilizzando le seguenti
estensioni di inferenza:
- Estensione di routing basata sul corpo: estrae l'identificatore del modello dal corpo della richiesta del client e lo invia a GKE Inference Gateway.
GKE Inference Gateway utilizza quindi questo identificatore per instradare la
richiesta in base alle regole definite nell'oggetto
HTTPRoute
dell'API Gateway. Il routing del corpo della richiesta è simile al routing basato sul percorso URL. La differenza è che il routing del corpo della richiesta utilizza i dati del corpo della richiesta. - Estensione di sicurezza: utilizza Model Armor o soluzioni di terze parti supportate per applicare norme di sicurezza specifiche del modello, che includono filtraggio dei contenuti, rilevamento delle minacce, sanificazione e logging. L'estensione di sicurezza applica queste policy ai percorsi di elaborazione delle richieste e delle risposte.
- Estensione di selezione degli endpoint: monitora le metriche chiave dei server dei modelli
all'interno di
InferencePool
. Monitora l'utilizzo della cache chiave-valore (KV-cache), la lunghezza della coda delle richieste in attesa, gli indici della cache dei prefissi e gli adattatori LoRA attivi su ogni server di modelli. Successivamente, indirizza la richiesta alla replica del modello ottimale in base a queste metriche per ridurre al minimo la latenza e massimizzare la velocità effettiva per l'inferenza dell'AI.
- Estensione di routing basata sul corpo: estrae l'identificatore del modello dal corpo della richiesta del client e lo invia a GKE Inference Gateway.
GKE Inference Gateway utilizza quindi questo identificatore per instradare la
richiesta in base alle regole definite nell'oggetto
- GKE Inference Gateway indirizza la richiesta alla replica del modello restituita dall'estensione di selezione dell'endpoint.
Il seguente diagramma illustra il flusso di richieste da un client a un'istanza del modello tramite GKE Inference Gateway.

Come funziona la distribuzione del traffico
GKE Inference Gateway distribuisce dinamicamente le richieste di inferenza ai server dei modelli all'interno dell'oggetto InferencePool
. Ciò consente di ottimizzare l'utilizzo delle risorse e mantenere le prestazioni in condizioni di carico variabili.
GKE Inference Gateway utilizza i seguenti due meccanismi per gestire la distribuzione del traffico:
Selezione dell'endpoint: seleziona dinamicamente il server di modelli più adatto per gestire una richiesta di inferenza. Monitora il carico e la disponibilità del server, quindi prende decisioni di routing ottimali calcolando un
score
per ogni server combinando una serie di euristiche di ottimizzazione:- Routing basato sulla cache dei prefissi: GKE Inference Gateway monitora gli indici della cache dei prefissi disponibili su ogni server di modelli e assegna un punteggio più alto a un server con una corrispondenza della cache dei prefissi più lunga.
- Routing basato sul carico: GKE Inference Gateway monitora il carico del server (utilizzo della cache KV e profondità della coda in attesa) e assegna un punteggio più alto a un server con carico inferiore.
- Routing basato su LoRA: quando il servizio LoRA dinamico è abilitato, GKE Inference Gateway monitora gli adattatori LoRA attivi per server e assegna un punteggio più alto a un server con l'adattatore LoRA richiesto attivo o spazio aggiuntivo per caricare dinamicamente l'adattatore LoRA richiesto. Viene selezionato un server con il punteggio totale più alto di tutti quelli precedenti.
Accodamento e eliminazione: gestisce il flusso di richieste e impedisce il sovraccarico di traffico. GKE Inference Gateway archivia le richieste in entrata in una coda e assegna la priorità alle richieste in base alla priorità definita.
GKE Inference Gateway utilizza un sistema numerico Priority
, noto anche come
Criticality
, per gestire il flusso delle richieste ed evitare il sovraccarico. Questo Priority
è
un campo numerico intero facoltativo definito dall'utente per ogni InferenceObjective
. Un
valore più alto indica una richiesta più importante. Quando il sistema è sotto
pressione, le richieste con un Priority
inferiore a 0
vengono considerate a priorità
inferiore e vengono eliminate per prime, restituendo un errore 429
per proteggere i workload più
critici. Per impostazione predefinita, il valore di Priority
è 0
. Le richieste vengono
eliminate a causa della priorità solo se il relativo Priority
è impostato esplicitamente su un valore inferiore
a 0
. Questo sistema ti consente di dare la priorità al traffico di inferenza online sensibile alla latenza rispetto ai job batch meno sensibili al tempo.
GKE Inference Gateway supporta l'inferenza di streaming per applicazioni come chatbot e traduzione live, che richiedono aggiornamenti continui o quasi in tempo reale. L'inferenza in streaming fornisce risposte in blocchi o segmenti incrementali, anziché un singolo output completo. Se si verifica un errore durante una risposta in streaming, lo stream termina e il client riceve un messaggio di errore. GKE Inference Gateway non riprova le risposte in streaming.
Esplorare esempi di applicazioni
Questa sezione fornisce esempi di utilizzo di GKE Inference Gateway per affrontare vari scenari di applicazioni di AI generativa.
Esempio 1: pubblicare più modelli di AI generativa su un cluster GKE
Un'azienda vuole eseguire il deployment di più modelli linguistici di grandi dimensioni (LLM) per gestire diversi workload. Ad esempio, potrebbero voler eseguire il deployment di un modello Gemma3
per un'interfaccia chatbot e di un modello Deepseek
per un'applicazione di consigli. L'azienda deve garantire un rendimento di pubblicazione ottimale per questi LLM.
Utilizzando GKE Inference Gateway, puoi eseguire il deployment di questi LLM sul tuo cluster GKE con la configurazione dell'acceleratore che preferisci in un InferencePool
. Puoi quindi indirizzare le richieste in base al nome del modello (ad esempio
<x0A>chatbot
e recommender
) e alla proprietà Priority
.
Il seguente diagramma illustra come GKE Inference Gateway indirizza le richieste
a modelli diversi in base al nome del modello e a Priority
.

Questo diagramma illustra come una richiesta a un servizio GenAI su
example.com/completions
viene gestita da GKE Inference Gateway. La richiesta
raggiunge prima un Gateway
nello spazio dei nomi Infra
. Questo Gateway
inoltra la
richiesta a un HTTPRoute
nello spazio dei nomi GenAI Inference
, che è
configurato per gestire le richieste per i modelli di chatbot e analisi del sentiment. Per il modello
chatbot, HTTPRoute
suddivide il traffico: il 90% viene indirizzato a un InferencePool
che esegue la versione attuale del modello (selezionata da {pool: gemma}
) e il 10% va a
un pool con una versione più recente ({pool: gemma-new}
), in genere per i test canary.
Entrambi i pool sono collegati a un InferenceObjective
che assegna una Priority
di 10
alle richieste per il modello di chatbot, garantendo che queste richieste vengano trattate come priorità
alta.
Esempio 2: pubblicare adattatori LoRA su un acceleratore condiviso
Un'azienda vuole utilizzare LLM per l'analisi dei documenti e si concentra su segmenti di pubblico in
più lingue, come inglese e spagnolo. Hanno modelli ottimizzati per
ogni lingua, ma devono utilizzare in modo efficiente la capacità di GPU e TPU. Puoi
utilizzare GKE Inference Gateway per eseguire il deployment di adattatori LoRA dinamici ottimizzati per
ogni lingua (ad esempio english-bot
e spanish-bot
) su un modello
di base comune (ad esempio llm-base
) e un acceleratore. In questo modo puoi ridurre il numero di acceleratori richiesti raggruppando più modelli su un acceleratore comune.
Il seguente diagramma illustra come GKE Inference Gateway gestisce più adattatori LoRA su un acceleratore condiviso.

Passaggi successivi
- Esegui il deployment di GKE Inference Gateway
- Personalizza la configurazione di GKE Inference Gateway
- Servire un LLM con GKE Inference Gateway