GUIDA TECNICA

Kubernetes per carichi di lavoro ML

Kubernetes è un sistema open source che pianifica, ridimensiona e riavvia automaticamente i programmi containerizzati su un cluster di macchine.

2 minuti di letturaUltimo aggiornamento

Panoramica

Per il machine learning, permette ai team di impacchettare di allenamento che richiedono molta GPU e server modello sensibili alla latenza su hardware condiviso senza dover fare babysitting sui singoli server.

Immersione profonda

Creato originariamente presso Google per eseguire servizi Web, Kubernetes tratta il tuo cluster come un grande pool di CPU, memoria e GPU, quindi decide quale macchina esegue ciascun contenitore. I team di ML si affidano a questo perché i carichi di lavoro sono elevati e costosi: un corso di formazione potrebbe richiedere otto GPU per sei ore, quindi niente. Kubernetes pianifica quel pod su un nodo con GPU libere e al termine del lavoro libera l'hardware. Mantiene inoltre attivi i server di inferenza, riavviando i contenitori danneggiati e diffondendo le repliche tra le macchine per garantire resilienza. Gli strumenti integrati, come Kubeflow, Ray e KServe, aggiungono elementi specifici del ML come operatori di training distribuito, ottimizzazione degli iperparametri ed endpoint del modello con scalabilità automatica, in modo che i data scientist lavorino con astrazioni di livello superiore anziché YAML non elaborato.

Approfondimento tecnico

Kubernetes assegna le GPU tramite plug-in del dispositivo che pubblicizzano risorse come nvidia.com/gpu, che lo scheduler confronta con le richieste di un pod. Le incompatibilità e le tolleranze mantengono i lavori CPU a basso costo lontani dai costosi nodi GPU, mentre i selettori dei nodi e le regole di affinità fissano l'addestramento a hardware specifico. Per l'addestramento multi-GPU, gli operatori creano un gruppo di pod che si scoprono a vicenda ed eseguono framework come PyTorch DDP o Horovod, scambiando gradienti sulla rete del cluster utilizzando NCCL.

Impatto strategico

Costo e budget

Le decisioni relative all'architettura determinano prestazioni e costi operativi per anni.

Decisioni più chiare

La formazione tecnica aiuta i team a scegliere lo stack giusto, non solo quello più nuovo.

Controllo di qualità

Migliori scelte ingegneristiche riducono gli incidenti legati all’affidabilità nella produzione.

Il futuro di Kubernetes per i carichi di lavoro ML

Aspettatevi un'integrazione ML più stretta: pianificazione di gruppo che avvii tutti i pod di formazione distribuiti contemporaneamente o nessuno, condivisione GPU frazionata e suddivisa in intervalli temporali in modo che diversi lavori leggeri condividano una scheda e posizionamento sensibile alla topologia che rispetti le interconnessioni NVLink veloci. L'inferenza serverless su Kubernetes, scalando gli endpoint a zero tra le richieste, sta maturando. Man mano che i modelli crescono, gli scheduler si coordinano sempre più tra più cluster e cloud e i sistemi di condivisione equa basati su code come Kueue e Volcano stanno diventando standard per la gestione della scarsa capacità della GPU.

Implementazione nel mondo reale

Un laboratorio di ricerca utilizza Kubeflow Training Operator per avviare un lavoro di training distribuito PyTorch da 32 GPU su quattro nodi, quindi libera automaticamente le GPU quando converge.

Una società di e-commerce fornisce il suo modello di raccomandazione con Kserve, che ridimensiona automaticamente le repliche durante una vendita flash e le riduce durante la notte.

Una banca esegue lavori notturni di batch scoring come Kubernetes CronJobs, mettendoli in coda su nodi CPU di riserva in modo che non competano con il traffico diurno.

Una startup utilizza Ray su Kubernetes per eseguire scansioni parallele di iperparametri, avviando dozzine di pod di prova di breve durata su istanze spot per ridurre i costi.

Rischi e guardrail

L'ottimizzazione di un benchmark può nascondere debolezze di sistema più ampie.

I costi delle infrastrutture e della manutenzione sono spesso sottostimati.

Le lacune in termini di sicurezza e osservabilità possono aumentare man mano che i sistemi diventano più complessi.

Tabella di marcia per l'implementazione

1

Definire obiettivi di latenza, qualità e costi prima dell'implementazione.

2

Benchmark in condizioni di carico e dati realistiche.

3

Monitoraggio dello strumento per errori, deriva e impatto sull'utente.

4

Preparare percorsi di rollback e risposta agli incidenti prima della scalabilità.

Continua a esplorare

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubernetes for ML Workloads quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Inizia il quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Prossima guida

Test A/B per modelli ML

Domande frequenti

Cos'è Kubernetes per i carichi di lavoro ML?

Kubernetes è un sistema open source che pianifica, ridimensiona e riavvia automaticamente i programmi containerizzati su un cluster di macchine. Per quanto riguarda l'apprendimento automatico, consente ai team di comprimere lavori di formazione ad alto consumo di GPU e server modello sensibili alla latenza su hardware condiviso senza fare da babysitter ai singoli server.

Qual è il compito principale dello scheduler Kubernetes per i carichi di lavoro ML?

Lo scheduler abbina le richieste di risorse di un pod (CPU, memoria, GPU) ai nodi disponibili e posiziona il pod dove si adatta. Non tocca il codice o i dati del modello.

In che modo Kubernetes in genere rende le GPU disponibili per un pod?

I plugin del dispositivo espongono le GPU come una risorsa programmabile (ad esempio, nvidia.com/gpu), consentendo ai pod di richiederle e allo scheduler di monitorare la disponibilità.

Per cosa sono comunemente utilizzate le incompatibilità e le tolleranze in un cluster ML?

Una contaminazione respinge i baccelli da un nodo; solo i pod con una tolleranza corrispondente possono atterrare lì. Ciò riserva scarsi nodi GPU per lavori che effettivamente necessitano di GPU.

Quale strumento aggiunge funzionalità specifiche del machine learning come gli operatori di formazione distribuita su Kubernetes?

Kubeflow sovrappone i flussi di lavoro ML su Kubernetes, inclusi la formazione degli operatori, le pipeline e l'ottimizzazione, in modo che i team evitino di scrivere a mano la configurazione del cluster di basso livello.

Perché Kubernetes è adatto ai carichi di lavoro ML a raffica?

L'addestramento è impegnativo: molte GPU per un breve periodo, poi nessuna. Kubernetes colloca il lavoro quando le risorse sono libere e le rilascia al completamento, migliorando l'utilizzo.