Perché utilizzare GKE per l'inferenza AI/ML

Questo documento è la prima parte di una serie destinata ai machine learning engineer che non hanno mai utilizzato GKE e vogliono iniziare a eseguire carichi di lavoro di inferenza su GKE il più rapidamente possibile.

In questa serie, non cercheremo di insegnarti tutte le opzioni GKE disponibili. Ti forniamo invece le informazioni di base che devi conoscere per eseguire i tuoi workload su GKE. Questa serie include i seguenti documenti:

In qualità di professionista dell'AI/ML, puoi utilizzare Google Kubernetes Engine (GKE) ( GKE) per gestire i deployment dei modelli. GKE è un servizio che ti consente di automatizzare il deployment, lo scaling e il monitoraggio dei tuoi carichi di lavoro di inferenza basati su Kubernetes e dell'infrastruttura di computing su cui vengono eseguiti i tuoi carichi di lavoro. Questo documento illustra alcuni dei principali vantaggi dell'utilizzo di GKE per l'inferenza dei modelli, tra cui:

Prima di iniziare

Prima di leggere questo documento, devi avere familiarità con quanto segue:

Pacchettizzare i modelli per prestazioni coerenti

L'inferenza del modello coerente e affidabile è fondamentale per la tua applicazione AI e GKE può ridurre la complessità operativa della gestione dell'inferenza su larga scala. Se pacchettizzi il modello addestrato, il server di inferenza e tutte le dipendenze in un container, crei un artefatto standardizzato e portabile che viene eseguito in modo coerente su GKE. La containerizzazione contribuisce a ridurre gli errori causati da dipendenze non corrispondenti o ambienti incoerenti. GKE esegue automaticamente il deployment e la gestione di questi container. Gestisce attività come il riavvio dei workload che vanno in arresto anomalo o il riprovisioning delle risorse per contribuire a stabilizzare le prestazioni dei tuoi workload di AI/ML.

Utilizzare GPU e TPU per ridurre la latenza di pubblicazione

La latenza è un problema per i carichi di lavoro di inferenza e alcuni modelli complessi si basano su acceleratori hardware come GPU e TPU per accelerare la gestione dell'inferenza. GKE semplifica il processo di utilizzo di GPU o TPU per i carichi di lavoro di inferenza sensibili alla latenza. Scegli le configurazioni hardware specifiche più adatte ai tuoi requisiti di prestazioni e costi e GKE esegue automaticamente il provisioning e la gestione dell'hardware che scegli. Ad esempio, GKE automatizza l'installazione dei driver NVIDIA, un passaggio che in genere richiede la configurazione manuale in Kubernetes.

GKE offre anche funzionalità di gestione delle risorse per consentirti di utilizzare in modo più efficiente le risorse TPU e GPU per la pubblicazione di inferenze. Ad esempio, puoi utilizzare GKE per pianificare o condividere pool di GPU o TPU in più modelli oppure puoi utilizzare acceleratori con VM spot per aumentare l'efficienza dei costi per i workload di inferenza a tolleranza di errore. Queste funzionalità ti aiutano a massimizzare l'utilizzo delle risorse dell'acceleratore ottimizzando al contempo la latenza di pubblicazione e i costi.

Gestire automaticamente i pattern di traffico fluttuanti

Il traffico e il carico sui carichi di lavoro di inferenza in tempo reale possono essere imprevedibili e dinamici. Un picco di domanda potrebbe comportare un aumento della latenza e una riduzione delle prestazioni. GKE offre un approccio multilivello alla scalabilità automatica in modo da poter aggiungere o rimuovere automaticamente le risorse per soddisfare la domanda variabile di inferenza. Ad esempio, puoi utilizzare Horizontal Pod Autoscaler (HPA) per regolare automaticamente il numero di pod in un deployment oppure il gestore della scalabilità automatica dei cluster per regolare automaticamente il numero di nodi in un node pool esistente. Utilizzando le funzionalità di scalabilità automatica di GKE, puoi abbinare in modo efficiente la quantità di risorse necessarie al tuo carico di lavoro di inferenza alla quantità di domanda dell'applicazione.

Monitora l'integrità e le prestazioni del tuo workload di inferenza

GKE è integrato con la Google Cloud suite di osservabilità (Cloud Logging e Cloud Monitoring) e puoi utilizzare le funzionalità di osservabilità integrate per monitorare l'integrità e le prestazioni dei carichi di lavoro di inferenza. Queste funzionalità di osservabilità ti offrono informazioni e visibilità sul rendimento del tuo workload dopo il deployment. Ad esempio, potresti chiederti se il modello funziona come previsto o se il carico di lavoro soddisfa i requisiti di latenza e accuratezza.

GKE segnala automaticamente le metriche dell'infrastruttura come l'utilizzo di CPU, memoria e acceleratore. Per rispondere a domande sulle prestazioni specifiche del modello, puoi utilizzare Google Cloud Managed Service per Prometheus o inviare metriche personalizzate dalla tua applicazione di inferenza a Cloud Monitoring. Ad esempio, puoi configurare il monitoraggio automatico delle applicazioni e monitorare le metriche di inferenza chiave, come le richieste al secondo (RPS); monitorare il concept drift analizzando le metriche specifiche del modello, come la distribuzione dei dati di input; e risolvere i problemi eseguendo l'analisi dei log storici.

Utilizzare GKE per la portabilità e la flessibilità

Utilizzando standard aperti come i container e tecnologie open source come Kubernetes, GKE ti offre la libertà di spostare i carichi di lavoro di servizio di inferenza in posizioni diverse e utilizzare risorse e strumenti diversi man mano che i tuoi requisiti cambiano. Ad esempio, puoi sviluppare e testare l'applicazione di inferenza su GKE e poi eseguire il deployment della stessa applicazione containerizzata nell'ambiente on-premise per la produzione.

In conclusione, puoi utilizzare GKE per semplificare il modo in cui sposti i tuoi modelli AI/ML dallo sviluppo alla produzione. GKE gestisce molte complessità coinvolte nella gestione dell'infrastruttura, il che significa che puoi concentrarti sull'esecuzione dei tuoi carichi di lavoro di inferenza in un ambiente performante, scalabile e osservabile. Nel corso di questa serie, imparerai a utilizzare GKE per trasformare i tuoi modelli di AI/ML in applicazioni potenti e pronte per la produzione.

Passaggi successivi