Condividi tramite


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

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.

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 intelligenti di applicazioni, 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.

Containerizzazione

La gestione dei pesi, dei metadati e delle configurazioni del modello nelle immagini del contenitore consente la portabilità, il controllo delle versioni semplificate e i costi di archiviazione ridotti nel tempo. Con la containerizzazione, è possibile:

  • Sfruttare le immagini dei contenitori esistenti, in particolare per i modelli di linguaggio di grandi dimensioni (LLM) che vanno da milioni a miliardi di parametri in modelli di diffusione stabili e di dimensioni, archiviati in registri contenitori 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 all'operatore toolchain di intelligenza artificiale Kubernetes per distribuire un LLM ad alte prestazioni nel servizio Azure Kubernetes in pochi minuti.

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. Eseguendo il controllo delle versioni dei modelli, è possibile:

  • Mantenere la coerenza tra i contenitori del modello per semplificare la distribuzione in ambienti diversi.
  • Usare metodi PEFT (Parameter-Efficient Fine Tuning) per scorrere più velocemente in un subset di pesi del modello e mantenere nuove versioni in contenitori leggeri.

Automation

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 delle prestazioni del modello per tenere traccia delle riduzioni delle prestazioni e attivare le pipeline di ripetizione del training.

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à.
  • Analogamente alle applicazioni tradizionali, pianificare il ripristino di emergenza seguendo le procedure consigliate per la resilienza e l'affidabilità del servizio Azure Kubernetes.

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 di vulnerabilità ed esposizione comuni (CVE) per rilevare le vulnerabilità comuni nelle immagini del contenitore del modello open source.
  • Mantenere un audit trail dei dati inseriti, delle modifiche del modello e delle metriche per rimanere conformi ai criteri dell'organizzazione.

Passaggi successivi

Informazioni sulle procedure consigliate in altre aree della distribuzione e delle operazioni dell'applicazione nel servizio Azure Kubernetes: