Procedure consigliate per le operazioni di Machine Learning (MLOps) in servizio Azure Kubernetes (AKS)

Si applica a: ✔️ Servizio Azure Kubernetes Standard automatico ✔️ Servizio Azure Kubernetes standard

Questo articolo descrive le procedure consigliate e le considerazioni da tenere presenti quando si usa MLOps nel servizio Azure Kubernetes. Per altre informazioni su MLOps, vedere Operazioni di Machine Learning (MLOps) per i flussi di lavoro di Intelligenza artificiale e Machine Learning.

Scegli la modalità AKS per MLOps

AKS supporta due modalità del cluster: AKS Automatico e AKS Standard. Scegliere AKS Automatic quando si vuole una configurazione di base pronta per la produzione con meno attività di gestione della piattaforma successive alla distribuzione. Scegliere AKS Standard quando è necessario un controllo più approfondito sull'infrastruttura del cluster e sulla configurazione della piattaforma.

Le procedure MLOps descritte in questo articolo si applicano a entrambe le modalità. Tuttavia, la responsabilità dell'implementazione varia in base alla modalità: Il servizio Azure Kubernetes automatico fornisce impostazioni predefinite più preconfigurate, mentre il servizio Azure Kubernetes Standard richiede in genere una configurazione della piattaforma e una proprietà del ciclo di vita più espliciti.

Area AKS Automatico Servizio Azure Kubernetes Standard
Configurazione del cluster di base Più impostazioni predefinite Opzioni di configurazione più esplicite
Operazioni del pool di nodi di sistema Altro comportamento gestito dal servizio Altro comportamento gestito dall'operatore
Controlli di sicurezza di base Diversi controlli sono preconfigurati in scenari comuni I controlli sono comunemente abilitati e gestiti dagli operatori
Baseline di rete Impostazioni predefinite con opinioni per i modelli comuni Flessibilità di configurazione di rete più ampia
Operazioni e aggiornamenti Comportamento operativo più gestito Altro comportamento indirizzato all'operatore
Focus sull'implementazione di MLOps Convalidare, gestire e ottimizzare le impostazioni predefinite Progettare e configurare i controlli della piattaforma

Infrastruttura come codice (IaC)

IaC consente il provisioning e la gestione coerenti e riproducibili dell'infrastruttura per una gamma di tipi di applicazioni. Con le distribuzioni di applicazioni intelligenti, l'implementazione di IaC potrebbe cambiare in tutta la pipeline di intelligenza artificiale, perché la potenza di calcolo e le risorse necessarie per l'inferenza, la gestione, il training e l'ottimizzazione dei modelli possono variare. La definizione e il controllo delle versioni dei modelli IaC per i team di sviluppo di intelligenza artificiale possono contribuire a garantire coerenza e efficienza tra i tipi di processi, riducendo al contempo i requisiti hardware individuali e accelerando il processo di distribuzione.

In AKS Automatic, IaC può concentrarsi maggiormente sulle definizioni dei carichi di lavoro, sui vincoli di protezione dei criteri e sulla coerenza dell'ambiente, più che sui valori predefiniti della piattaforma. In AKS Standard, IaC include comunemente impostazioni della piattaforma del cluster più specifiche, come la rete, la scalabilità e le scelte di configurazione operativa.

Containerizzazione

La gestione dei pesi, dei metadati e delle configurazioni del modello nelle immagini container consente una maggiore portabilità, una gestione delle versioni semplificata e costi di archiviazione inferiori nel tempo. Con la containerizzazione, è possibile:

  • Sfrutta le immagini di container esistenti, in particolare per i modelli linguistici di grandi dimensioni (LLM), che vanno da milioni a miliardi di parametri, e per i modelli di diffusione stabile, archiviate in registri di container sicuri.
  • Evitare un singolo punto di errore (SPOF) nella pipeline con l'uso di più contenitori leggeri contenenti le dipendenze univoche per ogni attività anziché mantenere un'immagine di grandi dimensioni.
  • Archiviare set di dati di testo/immagine di grandi dimensioni all'esterno dell'immagine del contenitore di base e farvi riferimento quando necessario in fase di esecuzione.

Introduzione a Kubernetes AI Toolchain Operator per distribuire un LLM ad alte prestazioni su AKS in pochi minuti.

I controlli della supply chain dei contenitori rimangono essenziali in entrambe le modalità. Anche con le configurazioni predefinite della piattaforma in AKS Automatic, la provenienza delle immagini, la scansione e la protezione avanzata in fase di esecuzione restano responsabilità fondamentali dell’MLOps.

Gestione e controllo delle versioni dei modelli

La gestione e il controllo delle versioni dei modelli sono essenziali per tenere traccia delle modifiche apportate ai modelli nel tempo. Versionando i modelli, è possibile:

  • Mantenere la coerenza tra i contenitori del modello per semplificare la distribuzione in ambienti diversi.
  • Impiegare metodi PEFT (Parameter-Efficient Fine-Tuning) per iterare più rapidamente su un sottoinsieme dei pesi del modello e mantenere nuove versioni in contenitori leggeri.

In AKS Automatic, le baseline della piattaforma preconfigurate possono semplificare l'uniformità tra ambienti. In AKS Standard, i team spesso devono applicare la parità in modo più esplicito tramite la configurazione della piattaforma e della distribuzione.

Automazione

L'automazione è fondamentale per ridurre gli errori manuali, aumentare l'efficienza e garantire la coerenza nel ciclo di vita di Machine Learning. Automatizzando le attività, è possibile:

  • Integrare gli strumenti di avviso per attivare automaticamente un flusso di inserimento vettoriale durante i nuovi flussi di dati nell'applicazione.
  • Impostare le soglie di prestazione del modello per monitorare i degradi delle prestazioni e attivare le pipeline di riaddestramento.

In entrambe le modalità AKS, includere l'automazione per la convalida dei criteri, il rilevamento della deriva della configurazione e la governance delle versioni, oltre ai trigger relativi alla qualità del modello.

Scalabilità e gestione delle risorse

La scalabilità e la gestione delle risorse sono fondamentali per garantire che la pipeline di intelligenza artificiale possa gestire le esigenze dell'applicazione. Ottimizzando l'utilizzo delle risorse, è possibile:

  • Integrare gli strumenti che usano in modo efficiente le risorse di CPU, GPU e memoria allocate tramite il calcolo distribuito e più livelli di parallelismo , ad esempio dati, modello e parallelismo della pipeline.
  • Abilitare la scalabilità automatica nelle risorse di calcolo per supportare volumi di richieste di modelli elevati nei momenti di picco e ridurre le ore di minore attività.
  • Come per le applicazioni tradizionali, pianifica il ripristino di emergenza seguendo le procedure consigliate per la resilienza e l'affidabilità di AKS.

AKS Automatic può ridurre il sovraccarico di configurazione per scenari comuni di scalabilità e operatività, mentre AKS Standard offre un controllo più granulare per architetture di scalabilità personalizzate.

Sicurezza e conformità

La sicurezza e la conformità sono fondamentali per proteggere i dati e garantire che la pipeline di intelligenza artificiale soddisfi i requisiti normativi. Implementando le procedure consigliate per la sicurezza e la conformità, è possibile:

  • Integrare l'analisi delle vulnerabilità comuni e delle esposizioni (CVE) per rilevare le vulnerabilità comuni nelle immagini dei contenitori di modelli open source.
  • Mantenere un audit trail dei dati inseriti, delle modifiche del modello e delle metriche per rimanere conformi ai criteri dell'organizzazione.

In AKS Automatic, le impostazioni predefinite di sicurezza preconfigurate migliorano il livello di protezione di base, ma i controlli di sicurezza a livello di modello, di dati e di pipeline restano comunque necessari.

Scopri le procedure consigliate per altre aree della distribuzione e delle operazioni dell'applicazione in AKS: