4. Promozione e pipeline solide - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

4. Promozione e pipeline solide

Le pipeline offrono molte opzioni per l'ottimizzazione degli iperparametri, l'AutoML e le routine di elaborazione. Le pipeline vengono registrate da un capo all'altro. Le solide pipeline possono eseguire il training in parallelo su più istanze e framework, scalando le dimensioni del carico in base alle esigenze. Le pipeline robuste possono promuovere i modelli in produzione, implementandoli in tempo reale, in streaming e in batch. Queste implementazioni possono supportare l'inferenza a modello singolo o multimodello.

4.1 Formazione distribuita e su larga scala

Un sistema di machine learning maturo supporta la capacità di eseguire il training su istanze di grandi dimensioni ottimizzate per il calcolo in parallelo. Dispone degli strumenti necessari per garantire che queste risorse vengano utilizzate appieno e che la formazione si adatti in modo uniforme all'interno del cluster di elaborazione.

4.2 Support per più framework

Gli sviluppatori possono eseguire il porting di diversi framework di piattaforme, come PyTorch o Flax, per eseguire lavori di formazione e inferenza. Allo stesso modo, sono supportate e utilizzabili diverse lingue e versioni. Il passaggio a un altro framework non danneggerà il sistema.

4.3 Ottimizzazione degli iperparametri

Una fase di regolazione degli iperparametri fa parte della pipeline di formazione. I modelli implementati hanno i loro iperparametri ottimizzati. Sono disponibili diverse opzioni per ottimizzare gli iperparametri. Per migliorare la precisione, almeno una delle opzioni di regolazione deve avere un'inferenza o un approccio bayesiano.

4.4 Opzione AutoML

Per ridurre la sperimentazione e il confronto manuali, un sistema ML maturo supporta l'esecuzione di AutoML, che seleziona automaticamente la pipeline di funzionalità, gli iperparametri e il modello migliori. Nota che AutoML è una funzionalità da usare in modo pragmatico, ma non è una panacea.

4.5 Supporto all'inferenza: in tempo reale

Questo è comunemente chiamato Model as a Service (MaaS). Il sistema supporta l'inferenza in tempo reale con le operazioni dell'API REST, per richieste di inferenza su richiesta. È in grado di fornire un'infrastruttura MaaS su cui il modello può scalare sia orizzontalmente che verticalmente come API autonoma o come endpoint associato ad altre applicazioni. In alternativa, è possibile eseguire l'implementazione utilizzando la tecnologia serverless.

4.6 Supporto per l'inferenza: streaming

I modelli possono essere promossi a un formato di inferenza in tempo reale come Amazon Kinesis o Amazon Managed Streaming for Apache Kafka, in base al quale l'inferenza viene eseguita in modalità streaming sul modello. Ciò richiede che almeno il 90% della lista di controllo sia completa, poiché i guardrail, l'osservabilità e il monitoraggio sono essenziali per l'inferenza in tempo reale.

4.7 Supporto per l'inferenza: batch

Il sistema supporta la distribuzione in batch di modelli come processi pianificati o avviati. Il sistema può eseguire modelli come parte di un processo di estrazione, trasformazione e caricamento (ETL) o in modo isolato. I processi Batch registrano lo stato di ogni passaggio e vengono eseguiti secondo uno schema ordinato, ad esempio un grafo aciclico diretto. In alternativa, i job possono scrivere su un database, che funge da server per l'inferenza dei modelli.

4.8 Routine di preelaborazione e post-elaborazione

Quando necessario, i dati vengono visualizzati come parte del processo di acquisizione del modello o dei processi in batch. Se sono in gioco più modelli o più fasi, le routine di post-elaborazione si occupano della caratterizzazione dei dati.

4.9 Capacità di richiamare modelli gerarchici o simultanei

Il sistema ML può implementare più modelli insieme o eseguirli in modo sequenziale. Il primo significa l'hosting su un unico modello di endpoint su una flotta di risorse. Quest'ultimo implica che più modelli devono funzionare in modo concatenato uno dopo l'altro. Il sistema è in grado di gestire entrambi questi tipi di complessità in modo resiliente.

4.10 Strategie di scalabilità orizzontale e verticale

Una pipeline dovrebbe avere la capacità di supportare entrambi i tipi di strategie di scalabilità per la formazione e l'inferenza. Il sistema ML può aumentare le proprie dimensioni e distribuire il traffico su più macchine quando la latenza o il throughput aumentano. Le politiche per questo tipo di comportamento sono stabilite e tengono conto dell'allocazione ottimale delle risorse.

4.11 registrazione End-to-end

Il team di sviluppo dovrebbe avere la registrazione impostata all'interno di tutto il codice della pipeline in modo che la registrazione possa acquisire input, output e fasi intermedie del sistema. La registrazione dovrebbe supportare il tracciamento delle esecuzioni nella pipeline e il debug degli errori.