Informazioni sull'inferenza del modello AI/ML su GKE

Questa pagina descrive i concetti chiave, i vantaggi e i passaggi per eseguire i workload di inferenza dei modelli di AI/ML generativa su Google Kubernetes Engine (GKE), utilizzando le funzionalità di GKE Gen AI.

L'inferenza è fondamentale per distribuire i modelli di AI generativa in applicazioni reali. GKE fornisce una piattaforma solida e scalabile per la gestione dei workload containerizzati, il che lo rende una scelta convincente per la distribuzione dei modelli in fase di sviluppo o produzione. Con GKE, puoi utilizzare le funzionalità di Kubernetes per orchestrazione, scalabilità e alta disponibilità per eseguire il deployment e gestire in modo efficiente i tuoi servizi di inferenza.

Riconoscendo le esigenze specifiche dell'inferenza AI/ML, Google Cloud ha introdotto le funzionalità di GKE Gen AI, una suite di funzionalità progettate specificamente per migliorare e ottimizzare la pubblicazione dell'inferenza su GKE. Per maggiori informazioni su funzionalità specifiche, consulta Funzionalità di AI generativa di GKE.

Inizia a utilizzare l'inferenza del modello AI/ML su GKE

Puoi iniziare a esplorare l'inferenza del modello AI/ML su GKE in pochi minuti. Puoi utilizzare il livello gratuito di GKE, che ti consente di iniziare a utilizzare Kubernetes senza sostenere costi per la gestione del cluster.

  1. Vai alla pagina GKE AI/ML nella Google Cloud console

  2. Prova i passaggi della sezione Esegui il deployment dei modelli per eseguire il deployment di un modello containerizzato e di un server di modelli.
  3. Leggi Panoramica delle best practice per l'inferenza su GKE, che contiene indicazioni e risorse per pianificare ed eseguire i workload di inferenza su GKE.

Terminologia

Questa pagina utilizza la seguente terminologia relativa all'inferenza su GKE:

  • Inferenza: il processo di esecuzione di un modello di AI generativa, come un modello linguistico di grandi dimensioni o un modello di diffusione, all'interno di un cluster GKE per generare testo, incorporamenti o altri output dai dati di input. L'inferenza del modello su GKE utilizza gli acceleratori per gestire in modo efficiente i calcoli complessi per l'elaborazione batch o in tempo reale.
  • Modello: un modello di AI generativa che ha appreso pattern dai dati e viene utilizzato per l'inferenza. I modelli variano per dimensioni e architettura, dai modelli più piccoli specifici per il dominio alle enormi reti neurali con miliardi di parametri ottimizzate per diverse attività linguistiche.
  • Server di modelli: un servizio in container responsabile della ricezione delle richieste di inferenza e della restituzione delle inferenze. Questo servizio potrebbe essere un'app Python o una soluzione più solida come vLLM, JetStream, TensorFlow Serving o Triton Inference Server. Il server dei modelli gestisce il caricamento dei modelli in memoria ed esegue i calcoli sugli acceleratori per restituire le inferenze in modo efficiente.
  • Acceleratore: hardware specializzato, come le unità di elaborazione grafica (GPU) di NVIDIA e le Tensor Processing Unit (TPU) di Google, che possono essere collegate ai nodi GKE per velocizzare i calcoli, in particolare per le attività di addestramento e inferenza.
  • Quantizzazione: una tecnica utilizzata per ridurre le dimensioni dei modelli di AI/ML e migliorare la velocità di inferenza convertendo i pesi e le attivazioni del modello da tipi di dati a maggiore precisione a tipi di dati a precisione inferiore.

Vantaggi di GKE per l'inferenza

L'inferenza su GKE offre diversi vantaggi:

  • Rapporto prezzo/prestazioni efficiente: ottieni valore e velocità per le tue esigenze di pubblicazione dell'inferenza. GKE ti consente di scegliere tra una gamma di potenti acceleratori (GPU e TPU), in modo da pagare solo per le prestazioni di cui hai bisogno.
  • Deployment più rapido: accelera il time to market con best practice, qualifiche e best practice personalizzate fornite dalle funzionalità di GKE Gen AI.
  • Prestazioni scalabili: aumenta le prestazioni con il monitoraggio predefinito utilizzando GKE Inference Gateway, la scalabilità automatica orizzontale dei pod (HPA) e le metriche personalizzate. Puoi eseguire una serie di modelli preaddestrati o personalizzati, da 8 miliardi di parametri fino a 671 miliardi di parametri.
  • Portabilità completa: usufruisci della portabilità completa con standard aperti. Google contribuisce alle API Kubernetes chiave, tra cui Gateway e LeaderWorkerSet, e tutte le API sono portabili con le distribuzioni Kubernetes.
  • Supporto dell'ecosistema: crea sull'ecosistema robusto di GKE che supporta strumenti come Kueue per la gestione e la coda avanzate delle risorse e Ray per il computing distribuito, per facilitare l'inferenza e l'addestramento di modelli scalabili ed efficienti.

Come funziona l'inferenza su GKE

Questa sezione descrive, a livello generale, i passaggi per utilizzare GKE per l'inferenza:

  1. Containerizza il modello: containerizzare un'applicazione significa creare un'immagine container, ovvero un pacchetto eseguibile che include tutto il necessario per eseguire l'applicazione: codice, runtime, strumenti di sistema, librerie di sistema e impostazioni. Un'applicazione semplice può essere containerizzata come singola unità, mentre un'applicazione più complessa può essere suddivisa in più componenti containerizzati. Esegui il deployment di un modello inserendo il server del modello (ad esempio vLLM) in un container e caricando i pesi del modello da Cloud Storage o da un repository come Hugging Face. Quando utilizzi GKE Inference Quickstart, l'immagine containerizzata viene gestita automaticamente nel manifest.

  2. Crea un cluster GKE: crea un cluster GKE per ospitare la tua implementazione. Scegli Autopilot per un'esperienza gestita o Standard per la personalizzazione. Configura le dimensioni del cluster, i tipi di nodi e gli acceleratori. Per una configurazione ottimizzata, utilizza la guida rapida all'inferenza.

  3. Esegui il deployment del modello come deployment Kubernetes: crea un deployment Kubernetes per gestire il servizio di inferenza. Un deployment è un oggetto API Kubernetes che ti consente di eseguire più repliche di pod distribuite tra i nodi di un cluster. Specifica l'immagine Docker, le repliche e le impostazioni. Kubernetes estrae l'immagine ed esegue i container sui nodi del cluster GKE. Configura i pod con il server e il modello, inclusi gli adattatori LoRA, se necessario.

  4. Esporre il servizio di inferenza: rendi accessibile il servizio di inferenza creando un servizio Kubernetes per fornire un endpoint di rete per il deployment. Utilizza Inference Gateway per il bilanciamento del carico e il routing intelligenti, specificamente pensati per i carichi di lavoro di inferenza dell'AI generativa. Utilizza Inference Gateway per il bilanciamento del carico intelligente personalizzato per i workload di AI generativa oppure consulta il confronto tra le strategie di bilanciamento del carico per scegliere l'opzione migliore per le tue esigenze.

  5. Gestisci le richieste di inferenza: invia i dati dai client dell'applicazione all'endpoint del servizio nel formato previsto (JSON, gRPC). Se utilizzi un bilanciatore del carico, questo distribuisce le richieste alle repliche del modello. Il server del modello elabora la richiesta, esegue il modello e restituisce l'inferenza.

  6. Scalabilità e monitoraggio del deployment dell'inferenza: esegui lo scale up e lo scale down dell'inferenza con HPA per regolare automaticamente le repliche in base alla CPU o alla latenza. Horizontal Pod Autoscaler (HPA) è un controller Kubernetes che aumenta o diminuisce automaticamente il numero di pod in un workload (ad esempio un deployment) in base a metriche osservate come l'utilizzo della CPU o metriche personalizzate. Utilizza Guida rapida all'inferenza per ricevere consigli di scalabilità generati automaticamente. Per monitorare le prestazioni, utilizza Cloud Monitoring e Cloud Logging con l'osservabilità predefinita, incluse le dashboard per i server di modelli più diffusi come vLLM.

Per esempi dettagliati che utilizzano modelli, server di modelli e acceleratori specifici, consulta Esempi di inferenza.

Funzionalità di GKE Gen AI

Puoi utilizzare queste funzionalità insieme o separatamente per risolvere le sfide principali nella gestione dei modelli di AI generativa e migliorare l'utilizzo delle risorse nel tuo ambiente GKE, senza costi aggiuntivi.

Nome Descrizione Vantaggi
GKE Inference Quickstart

Analizza le prestazioni e l'efficienza dei costi dei tuoi workload di inferenza. Specifica le esigenze della tua attività e ricevi best practice personalizzate per la combinazione di configurazioni di acceleratori, scalabilità e spazio di archiviazione e server modello che soddisfa al meglio le tue esigenze. Puoi accedere a questo servizio con gcloud CLI e la console Google Cloud .

Per maggiori informazioni, consulta Analizzare le prestazioni e i costi del servizio di modelli con GKE Inference Quickstart.

  • Risparmia tempo automatizzando i passaggi iniziali di scelta e configurazione dell'infrastruttura.
  • Ti consente di mantenere il controllo completo della configurazione di Kubernetes per un'ulteriore ottimizzazione.
GKE Inference Gateway

Ottieni il routing in base alle metriche, come l'utilizzo della cache KV, per una latenza migliore.

Per maggiori informazioni, consulta Informazioni su GKE Inference Gateway.

  • Condividi modelli ottimizzati che utilizzano file LoRA, con selezione degli endpoint basata sull'affinità per l'efficienza dei costi.
  • Ottieni un'alta disponibilità accedendo dinamicamente alla capacità di GPU e TPU in più regioni.
  • Migliora la sicurezza dei tuoi modelli con le policy del componente aggiuntivo Model Armor.
Acceleratori di caricamento dei pesi del modello

Accedi rapidamente ai dati in Cloud Storage utilizzando Cloud Storage FUSE con download paralleli e memorizzazione nella cache. Per ulteriori informazioni sull'utilizzo di Cloud Storage FUSE per i carichi di lavoro AI/ML, consulta l'architettura di riferimento.

Google Cloud Managed Lustre è un file system parallelo ad alte prestazioni completamente gestito ottimizzato per l'AI che può essere collegato a 10.000 o più pod. Per saperne di più sull'utilizzo di Managed Lustre per i carichi di lavoro AI/ML, consulta l'architettura di riferimento.

Google Cloud Hyperdisk ML è un disco collegato alla rete che può essere collegato a un massimo di 2500 pod.

  • Ottimizza il tempo di avvio dell'inferenza riducendo al minimo la latenza del modello di caricamento dei pesi su GKE.
  • Per i deployment con scalabilità dei nodi limitata, valuta la possibilità di utilizzare Cloud Storage FUSE per montare i pesi del modello.
  • Per i workload di inferenza che richiedono prestazioni di scalabilità orizzontale coerenti, Google Cloud Managed Lustre supporta l'accesso ai file a basso throughput e bassa latenza da più pod contemporaneamente.
  • Per scenari su larga scala che richiedono un accesso coerente e a bassa latenza a pesi di modelli di grandi dimensioni, Google Cloud Hyperdisk ML offre una soluzione di archiviazione a blocchi dedicata.

Metriche di rendimento dell'inferenza

Per ottimizzare i carichi di lavoro di inferenza, è importante capire come misurarne il rendimento. La tabella seguente descrive le metriche chiave per il benchmarking delle prestazioni di inferenza su GKE.

Indicatori di benchmark Metrica (unità) Descrizione
Latenza Tempo al primo token (TTFT) (ms) Il tempo necessario per generare il primo token per una richiesta.
Tempo normalizzato per token di output (NTPOT) (ms) Latenza della richiesta normalizzata per il numero di token di output, misurata come request_latency / total_output_tokens.
Tempo per token di output (TPOT) (ms) Tempo necessario per generare un token di output, misurato come (request_latency - time_to_first_token) / (total_output_tokens - 1).
Latenza inter-token (ITL) (ms) Misura la latenza tra due generazioni di token di output. A differenza del TPOT, che misura la latenza dell'intera richiesta, l'ITL misura il tempo necessario per generare ogni singolo token di output. Queste singole misurazioni vengono poi aggregate per produrre valori medi, mediani e percentili come p90.
Latenza della richiesta (ms) Tempo end-to-end per completare una richiesta.
Throughput Richieste al secondo Il numero totale di richieste che gestisci al secondo. Tieni presente che questa metrica potrebbe non essere un modo affidabile per misurare la velocità effettiva del modello linguistico di grandi dimensioni, in quanto può variare notevolmente per diverse lunghezze del contesto.
Token di output al secondo Una metrica comune misurata come total_output_tokens_generated_by_server / elapsed_time_in_seconds.
Token di input al secondo Misurato come total_input_tokens_generated_by_server / elapsed_time_in_seconds.
Token al secondo Misurato come total_tokens_generated_by_server / elapsed_time_in_seconds. Questa metrica conteggia i token di input e output, aiutandoti a confrontare i carichi di lavoro con tempi di precompilazione elevati rispetto a quelli con tempi di decodifica elevati.

Pianificazione dell'inferenza

Un deployment di inferenza riuscito richiede un'attenta pianificazione in diverse aree chiave, tra cui efficienza dei costi, prestazioni e disponibilità delle risorse. Per suggerimenti dettagliati su come creare una piattaforma di inferenza scalabile, efficiente ed economica, consulta la Panoramica delle best practice per l'inferenza su GKE.

Prova gli esempi di inferenza

Trova esempi di deployment GKE per modelli di AI generativa, acceleratori e server di modelli. Se hai appena iniziato, ti consigliamo di esplorare l'esercitazione Gestisci modelli aperti Gemma utilizzando GPU su GKE con vLLM.

In alternativa, cerca un tutorial per parola chiave:

Acceleratore Model Server Tutorial
GPU vLLM Servi LLM come DeepSeek-R1 671B o Llama 3.1 405B su GKE
GPU vLLM Gestisci i modelli open Gemma utilizzando le GPU su GKE con vLLM
GPU vLLM Servire un LLM con GKE Inference Gateway
GPU vLLM Gestisci LLM aperti su GKE con un'architettura preconfigurata
GPU Ray Serve Gestisci un LLM su GPU L4 con Ray
GPU TGI Gestisci un LLM con più GPU in GKE
GPU TorchServe Servire T5 su GKE con TorchServe
TPU vLLM Gestisci un LLM utilizzando TPU Trillium su GKE con vLLM
TPU vLLM Gestisci un LLM utilizzando le TPU su GKE con KubeRay
TPU MaxDiffusion Gestisci Stable Diffusion XL (SDXL) utilizzando le TPU su GKE con MaxDiffusion
TPU vLLM Gestisci LLM utilizzando TPU multi-host
TPU vLLM Eroga LLM aperti su TPU con un'architettura preconfigurata

Passaggi successivi

  • Visita il portale di orchestrazione AI/ML su GKE per esplorare le nostre guide, i nostri tutorial e i nostri casi d'uso ufficiali per l'esecuzione di workload AI/ML su GKE.
  • Esplora gli esempi sperimentali per sfruttare GKE per accelerare le tue iniziative di AI/ML in GKE AI Labs.