Aumenta le prestazioni dei modelli ML e riduci i tempi di addestramento utilizzando gli algoritmi integrati di Amazon SageMaker con modelli preaddestrati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Aumenta le prestazioni del modello ML e riduci i tempi di addestramento utilizzando gli algoritmi integrati di Amazon SageMaker con modelli pre-addestrati

L'addestramento del modello costituisce il fulcro di qualsiasi progetto di machine learning (ML) e disporre di un modello ML addestrato è essenziale per aggiungere intelligenza a un'applicazione moderna. Un modello performante è il risultato di una metodologia di data science rigorosa e diligente. La mancata implementazione di un adeguato processo di formazione del modello può portare a costi elevati per infrastrutture e personale perché sottolinea la fase sperimentale del processo di ML e per sua natura tende ad essere altamente iterativo.

In generale, l'addestramento di un modello da zero richiede molto tempo e molte risorse di calcolo. Quando i dati di addestramento sono piccoli, non possiamo aspettarci di addestrare un modello molto performante. Un'alternativa migliore è mettere a punto un modello pre-addestrato sul set di dati di destinazione. Per alcuni casi d'uso, Amazon Sage Maker fornisce modelli pre-addestrati di alta qualità che sono stati addestrati su set di dati molto grandi. La messa a punto di questi modelli richiede una frazione del tempo di addestramento rispetto all'addestramento di un modello da zero.

Per convalidare questa affermazione, abbiamo condotto uno studio utilizzando algoritmi integrati con modelli pre-addestrati. Abbiamo anche confrontato due tipi di modelli pre-addestrati all'interno Amazon Sage Maker Studio, Tipo 1 (legacy) e Tipo 2 (più recente), rispetto a un modello addestrato da zero utilizzando Rete di rilevamento dei difetti (DDN) per quanto riguarda i tempi di formazione e il costo dell'infrastruttura. Per dimostrare il processo di addestramento, abbiamo utilizzato il set di dati di rilevamento predefinito del post Automazione dell'ispezione visiva tramite Amazon SageMaker JumpStart. Questo post mostra i risultati dello studio. Forniamo anche un notebook Studio, che puoi modificare per eseguire gli esperimenti utilizzando il tuo set di dati e un algoritmo o modello di tua scelta.

Formazione modello in Studio

SageMaker è un servizio ML completamente gestito. Con SageMaker, data scientist e sviluppatori possono creare e addestrare in modo rapido e semplice modelli ML, quindi distribuirli direttamente in un ambiente ospitato pronto per la produzione.

Esistono molti modi per addestrare modelli ML utilizzando SageMaker, ad esempio utilizzando Debugger di Amazon SageMaker, SparkMLLibo utilizzando codice Python personalizzato con TensorFlow, PyTorch, o Rete Apache MX. Puoi anche portare il tuo algoritmo personalizzato o scegli un algoritmo da AWS Marketplace.

Inoltre, SageMaker fornisce un suite di algoritmi integrati, modelli pre-addestratie modelli di soluzioni predefiniti per aiutare i data scientist e i professionisti del machine learning a iniziare ad addestrare e distribuire rapidamente i modelli di machine learning.

È possibile utilizzare algoritmi integrati per problemi di classificazione o regressione o per una varietà di attività di apprendimento non supervisionate. Altri algoritmi integrati includono l'analisi del testo e l'elaborazione delle immagini. Puoi addestrare un modello da zero utilizzando un algoritmo integrato per un caso d'uso specifico. Per un elenco completo degli algoritmi integrati disponibili, vedere Informazioni comuni sugli algoritmi integrati.

Alcuni algoritmi integrati includono anche modelli pre-addestrati per i tipi di problemi più diffusi che utilizzano SageMaker SDK e Studio. Questi modelli pre-addestrati possono ridurre notevolmente i tempi di addestramento e i costi di infrastruttura per casi d'uso comuni come la segmentazione semantica, il rilevamento di oggetti, il riepilogo del testo e la risposta alle domande. Per un elenco completo dei modelli pre-addestrati, vedere Modelli.

Per aver scelto il modello migliore, SageMaker messa a punto automatica del modello, noto anche come ottimizzazione degli iperparametri o ottimizzazione degli iperparametri (HPO), può essere molto utile perché trova la versione migliore di un modello eseguendo una serie di processi di addestramento sul set di dati utilizzando l'algoritmo e gli iperparametri specificati. A seconda del numero di iperparametri e delle dimensioni dello spazio di ricerca, trovare il modello migliore può richiedere migliaia o addirittura decine di migliaia di esecuzioni di addestramento. La messa a punto automatica del modello fornisce a algoritmo HPO integrato che rimuove il sollevamento pesante indifferenziato richiesto per costruire il proprio algoritmo HPO. L'ottimizzazione automatica del modello offre la possibilità di parallelizzare le esecuzioni del modello al fine di ridurre i tempi e i costi per trovare l'adattamento migliore.

Dopo che l'ottimizzazione automatica del modello ha completato più esecuzioni per un set di iperparametri, sceglie i valori dell'iperparametro che danno come risultato il modello con le migliori prestazioni, come misurato dalla funzione di perdita specifica del modello.

La perdita di formazione e convalida è solo una delle metriche necessarie per scegliere il modello migliore per il caso d'uso. Con così tante opzioni, non è sempre facile fare la scelta giusta e la scelta del modello migliore si riduce, tra gli altri fattori, al tempo di formazione, al costo dell'infrastruttura, alla complessità e alla qualità del modello risultante. Ci sono altri costi estranei come i costi della piattaforma e del personale che non prendiamo in considerazione per questo studio.

Nelle sezioni successive, discutiamo il disegno dello studio e i risultati.

dataset

Utilizziamo il set di dati NEU-CLS e un rilevatore sul set di dati NEU-DET. Questo set di dati contiene 1,800 immagini e 4,189 riquadri di delimitazione in totale. I tipi di difetti nel nostro set di dati sono i seguenti:

  • Folle (classe: Cr, etichetta: 0)
  • Inclusione (classe: In, etichetta: 1)
  • Superficie bucherellata (classe: PS, etichetta: 2)
  • Patch (classe: Pa, etichetta: 3)
  • Bilancia arrotolata (classe: RS, etichetta: 4)
  • Graffi (classe: Sc, etichetta: 5)

Per maggiori dettagli sul set di dati, fare riferimento a Automazione dell'ispezione visiva tramite Amazon SageMaker JumpStart.

Modelli

Abbiamo introdotto la rete di rilevamento dei difetti nel post Automazione dell'ispezione visiva tramite Amazon SageMaker JumpStart. Abbiamo addestrato questo modello da zero con gli iperparametri predefiniti, in modo da poter avere un benchmark per valutare il resto dei modelli.

Per i casi d'uso del rilevamento di oggetti, SageMaker fornisce il seguente set di modelli di oggetti integrati:

Oltre all'addestramento di un modello da zero, abbiamo utilizzato questi modelli per valutare quattro approcci che in genere riflettono un processo di addestramento del modello ML. L'output di ogni approccio è un modello ML addestrato. Nei casi 1 e 3, viene fornito un insieme di iperparametri fissi per addestrare un singolo modello, mentre nei casi 2 e 4, SageMaker produce il modello migliore e l'insieme di iperparametri che hanno portato al miglior adattamento.

  1. Modello di tipo 1 (legacy). – Usiamo il modello con una dorsale ResNet, che è pre-addestrata su ImageNet con iperparametri predefiniti e nessun ottimizzatore.
  2. Ottimizza il tipo 1 (legacy) con HPO – Ora eseguiamo HPO per trovare iperparametri migliori che portino a un modello migliore. Per un elenco di tutti i parametri che è possibile regolare con precisione, fare riferimento a Ottimizza un modello di rilevamento oggetti. In questo quaderno, mettiamo a punto solo la velocità di apprendimento, lo slancio e il decadimento del peso. Usiamo l'ottimizzazione automatica del modello per eseguire HPO. Dobbiamo fornire intervalli di iperparametri per la velocità di apprendimento, la quantità di moto e il decadimento del peso. L'ottimizzazione automatica del modello monitorerà il registro e analizzerà le metriche dell'obiettivo. Per il rilevamento degli oggetti, utilizziamo la precisione media media (mAP) sul set di dati di convalida come metrica.
  3. Perfeziona il modello di tipo 2 (ultimo). – Per il modello di rilevamento di oggetti di tipo 2 (più recente), seguiamo le istruzioni in Perfeziona un modello e distribuiscilo a un SageMaker Endpoint e usa le API SageMaker standard. Puoi trovare tutti i modelli di rilevamento di oggetti di tipo 2 (più recenti) regolabili in Algoritmi incorporati con modello pre-addestrato tavola e apparecchiato FineTunable?=True. Attualmente, ci sono nove modelli di rilevamento degli oggetti a regolazione fine. Usiamo quello con il backend VGG e preaddestrato sul set di dati VOC. Perfezioniamo utilizzando una serie di iperparametri statici.
  4. Ottimizza il modello di tipo 2 (ultimo) con HPO – Forniamo una gamma per il Tasso di apprendimento dell'ADAM; il resto degli iperparametri rimane predefinito. Inoltre, si noti che i rapporti sull'addestramento del modello di tipo 2 (più recenti). Val_CrossEntropy perdita e Val_SmoothL1 perdita invece di mAP sul set di dati di convalida. Poiché possiamo specificare solo una metrica di valutazione per l'ottimizzazione automatica del modello, scegliamo di ridurre al minimo Val_CrossEntropy.

Per i dettagli sugli iperparametri, puoi scorrere il file Quaderno da studio.

Metrica

Successivamente, confrontiamo i risultati degli approcci basati su parametri importanti e il costo dell'infrastruttura:

  • Differenza della funzione di perdita tra i modelli – Tutti i diversi algoritmi definiscono la stessa funzione di perdita per l'attività di rilevamento degli oggetti: entropia incrociata e perdita regolare di L1. Tuttavia, li usiamo in modo diverso:
    • L'algoritmo di rilevamento degli oggetti di tipo 1 (legacy) ha definito mAP sui dati di convalida e lo usiamo come metrica per trovare un lavoro di addestramento che massimizza il mAP.
    • L'algoritmo di rilevamento degli oggetti di tipo 2 (più recente), tuttavia, non definisce mAP. Invece, definisce Val_SmoothL1 perdita e Val_CrossEntropy perdita sui dati di convalida. Durante l'addestramento del modello con HPO, è necessario specificare una metrica per l'ottimizzazione automatica del modello da monitorare e analizzare. Pertanto, usiamo Val_CrossEntropy perdita come metrica e trova il lavoro di formazione che la riduca al minimo.
  • Metrica di convalida (mAP) – Usiamo la mappa sul set di dati di convalida come nostra metrica, dove la precisione media è la media di precisione e richiamo. mAP è la metrica di valutazione standard utilizzata nel Sfida COCO per le attività di rilevamento degli oggetti. Per ulteriori informazioni sull'applicabilità di mAP per il rilevamento di oggetti, fare riferimento a mAP (mean Average Precision) per il rilevamento di oggetti. Poiché esiste una differenza nella funzione di perdita tra i modelli di tipo 1 e di tipo 2, calcoliamo manualmente la mappa per ciascun tipo di modello sul set di dati di test. A tal fine, distribuiamo i modelli dietro un endpoint SageMaker e chiamando l'endpoint del modello per assegnare un punteggio al sottoinsieme del set di dati. I risultati vengono quindi confrontati con la verità di base per calcolare la mappa per ciascun tipo di modello.
  • Istanze di formazione Costo di runtime – Per semplicità riportiamo solo il costo infrastrutturale sostenuto per ciascuno dei quattro approcci evidenziati nella sezione precedente. Il costo è riportato in dollari e calcolato in base al runtime del sottostante Cloud di calcolo elastico di Amazon (Amazon EC2).

Taccuino

Il taccuino Studio è disponibile su GitHub.

Risultati

Il set di dati sulla superficie dell'acciaio ha un totale di 1,800 immagini in sei categorie. Come discusso nella sezione precedente, poiché esiste una differenza nella funzione di perdita che i modelli di tipo 1 (legacy) e di tipo 2 (più recenti) massimizzano per trovare il modello migliore, eseguiamo prima una suddivisione treno/test sul set di dati. Nella fase finale dello studio, eseguiamo l'inferenza sul set di dati del test, in modo da poter confrontare i quattro approcci utilizzando la stessa metrica (mAP).

Il set di test contiene il 20% del set di dati originale, che allochiamo casualmente dal set di dati completo. Il restante 80% viene utilizzato per la fase di addestramento del modello, che richiede la definizione dell'addestramento e del set di dati di convalida. Pertanto, per la fase di addestramento, eseguiamo un'ulteriore suddivisione 80/20 sui dati, in cui l'80% dei dati di addestramento viene utilizzato per l'addestramento e il 20% per la convalida. Vedere la tabella seguente.

Dati Numero di campioni Percentuale del set di dati originale
Lunga 1,800 100
Treni 1,152 64
Convalida 288 16
Test 360 20

L'output di ciascuno dei quattro approcci era un modello ML addestrato. Tracciamo i risultati di ciascuno dei quattro approcci insieme ai riquadri di delimitazione da ground truth e al modello DDN. Il grafico seguente mostra anche il punteggio di confidenza per la previsione della classe.

A punteggio di confidenza viene fornito come standard di valutazione. Questo punteggio di affidabilità mostra la probabilità che l'oggetto di interesse venga rilevato correttamente dall'algoritmo ed è espresso in percentuale. I punteggi sono presi sulla mappa a diverse soglie IoU (Intersection over Union).

Allo scopo di generare il punteggio mAP rispetto al set di dati di test, abbiamo distribuito ciascun modello dietro il proprio Endpoint in tempo reale di SageMaker. Ogni test di inferenza ha prodotto un punteggio mAP.

Un punteggio mAP maggiore implica una maggiore accuratezza dei risultati del test del modello. Chiaramente, i modelli di tipo 2 (più recenti) superano i modelli di tipo 1 (legacy) in termini di precisione, con o senza l'utilizzo di HPO. Il tipo 2 con HPO ha un margine più leggero (mAP 0.375) rispetto a uno senza HPO (mAP 0.371).

Abbiamo anche misurato il costo della formazione per ciascuno dei quattro approcci. Abbiamo usato il Tipi di istanza P3, in particolare le istanze ml.p3.2xlarge per ciascuno degli approcci. Ogni istanza ml.p3.2xlarge costa $ 3.06/ora. Sia il punteggio mAP del test di inferenza che il costo della formazione sono riepilogati nella tabella seguente per il confronto.

Aumenta le prestazioni dei modelli ML e riduci i tempi di addestramento utilizzando gli algoritmi integrati di Amazon SageMaker con modelli preaddestrati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai. Aumenta le prestazioni dei modelli ML e riduci i tempi di addestramento utilizzando gli algoritmi integrati di Amazon SageMaker con modelli preaddestrati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Per semplicità, abbiamo eseguito un confronto dei costi solo sul runtime delle istanze di addestramento.

Per una stima più dettagliata del costo totale sostenuto, incluso il costo dei notebook Studio e degli endpoint in tempo reale utilizzati per l'inferenza, fare riferimento a Calcolatore prezzi AWS per SageMaker.

I risultati indicano notevoli guadagni di precisione quando si passa dal modello di tipo 1 (legacy) a quello di tipo 2 (più recente). Il punteggio della mappa è salito da 0.067 a 0.371 senza utilizzare HPO e da 0.226 a 0.375 con HPO rispettivamente. Il modello di tipo 2 ha anche impiegato più tempo per l'addestramento con lo stesso tipo di istanza, il che implica che i guadagni di precisione significavano anche costi di infrastruttura più elevati. Tuttavia, tutti gli approcci citati hanno superato il modello DDN (introdotto in Automazione dell'ispezione visiva tramite Amazon SageMaker JumpStart) su tutte le metriche. L'addestramento del modello di tipo 1 (legacy) ha richiesto 34 minuti, il modello di tipo 2 (ultimo) ha impiegato 1 ora e il modello DDN ha impiegato più di 8 ore. Ciò indica che la messa a punto di un modello pre-addestrato è molto più efficiente dell'addestramento di un modello da zero.

Abbiamo anche scoperto che l'HPO (SageMaker automatic model tuning) è estremamente efficace, soprattutto per i modelli con ampi spazi di ricerca di iperparametri con un miglioramento di 4 volte nel punteggio mAP per il modello di tipo 1 (legacy). Abbiamo notato che abbiamo ottenuto risultati di accuratezza del modello molto migliori durante la messa a punto di tre iperparametri (velocità di apprendimento, quantità di moto e decadimento del peso) per i modelli di tipo 1 (legacy) rispetto a un solo iperparametro (Tasso di apprendimento dell'ADAM) per il modello Tipo 2 (ultimo). Ciò è dovuto al fatto che esiste uno spazio di ricerca relativamente più ampio e quindi più margini di miglioramento per il modello di tipo 1 (legacy). Tuttavia, durante l'esecuzione di HPO è necessario bilanciare le prestazioni del modello con i costi dell'infrastruttura e i tempi di formazione.

Conclusione

In questo post, abbiamo esaminato le numerose opzioni di addestramento del modello ML disponibili con SageMaker e ci siamo concentrati specificamente sugli algoritmi integrati di SageMaker e sui modelli pre-addestrati. Abbiamo introdotto i modelli di tipo 1 (legacy) e di tipo 2 (più recenti). I modelli di rilevamento degli oggetti Sagemaker integrati discussi in questo post sono stati pre-addestrati su set di dati su larga scala: il set di dati ImageNet include 14,197,122 immagini per 21,841 categorie e il set di dati PASCAL VOC include 11,530 immagini per 20 categorie. I modelli pre-addestrati hanno appreso funzionalità di basso livello ricche e diversificate e possono trasferire in modo efficiente la conoscenza a modelli perfezionati e concentrarsi sull'apprendimento di funzionalità semantiche di alto livello per il set di dati di destinazione. Puoi trovare tutti gli algoritmi integrati e i modelli pre-addestrati per la regolazione fine su Algoritmi incorporati con tabella modello pre-addestrata e scegline uno per il tuo caso d'uso. I casi d'uso spaziano dalla sintesi del testo e dalla risposta alle domande alla visione artificiale e alla regressione o classificazione.

All'inizio, abbiamo affermato che la messa a punto di un modello pre-addestrato SageMaker richiederà una frazione del tempo di addestramento rispetto all'addestramento di un modello da zero. Abbiamo addestrato un modello DNN da zero e introdotto due tipi di algoritmi integrati di SageMaker con modelli preaddestrati: Tipo (legacy) e Tipo 2 (più recente). Abbiamo inoltre mostrato quattro approcci, due dei quali utilizzavano l'ottimizzazione automatica del modello SageMaker, e alla fine siamo arrivati ​​al modello più performante. Considerando sia il tempo di addestramento che il costo del runtime, tutti gli algoritmi integrati di SageMaker hanno superato il modello DDN, convalidando così la nostra affermazione.

Sebbene sia il tipo 1 (legacy) che il tipo 2 (più recente) abbiano superato la formazione del modello DDN da zero, il confronto visivo e numerico ha confermato che il modello di tipo 2 (più recente) e il modello di tipo 2 (più recente) con HPO superano i modelli di tipo 1 (eredità) . HPO ha avuto un grande impatto sulla precisione per i modelli di tipo 1; tuttavia, ha registrato modesti guadagni utilizzando HPO per i modelli di tipo 2, a causa di uno spazio iperparametrico ristretto.

In sintesi, per alcuni casi d'uso, la messa a punto di un modello preaddestrato è sia più efficiente che più performante. Suggeriamo di sfruttare i modelli pre-addestrati incorporati di Sagemaker e di perfezionare i set di dati di destinazione. Per iniziare, è necessario un ambiente Studio. Per ulteriori informazioni, fare riferimento al Guida allo sviluppo dello studio e assicurati di abilitare i progetti SageMaker e JumpStart. Quando la configurazione di Studio è completa, vai a Studio Launcher per trovare l'elenco completo delle soluzioni e dei modelli JumpStart. Per ricreare o modificare l'esperimento in questo post, scegli la soluzione "Product Defect Detection", che viene fornita preconfezionata con il notebook utilizzato per sperimentare, come mostrato nel video seguente. Dopo aver avviato la soluzione, puoi accedere al lavoro menzionato nel taccuino intitolato visual_object_detection.ipynb.


Circa gli autori

Aumenta le prestazioni dei modelli ML e riduci i tempi di addestramento utilizzando gli algoritmi integrati di Amazon SageMaker con modelli preaddestrati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Giainista Vedante è un Senior AI/ML Specialist Solutions Architect, che aiuta i clienti a trarre valore dall'ecosistema di Machine Learning in AWS. Prima di entrare in AWS, Vedant ha ricoperto posizioni di ML/Data Science Specialty in varie aziende come Databricks, Hortonworks (ora Cloudera) e JP Morgan Chase. Al di fuori del suo lavoro, Vedant è appassionato di fare musica, usare la scienza per condurre una vita significativa ed esplorare la deliziosa cucina vegetariana di tutto il mondo.

Aumenta le prestazioni dei modelli ML e riduci i tempi di addestramento utilizzando gli algoritmi integrati di Amazon SageMaker con modelli preaddestrati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Tao Sole è uno scienziato applicato in Amazon Search. Ha conseguito il dottorato di ricerca. in Informatica presso l'Università del Massachusetts, Amherst. I suoi interessi di ricerca risiedono nell'apprendimento per rinforzo profondo e nella modellazione probabilistica. In passato, Tao ha lavorato per il team AWS Sagemaker Reinforcement Learning e ha contribuito alla ricerca e alle applicazioni RL. Tao sta ora lavorando all'ottimizzazione dei modelli di pagina su Amazon Search.

Timestamp:

Di più da Apprendimento automatico di AWS