Riduci tempi e costi di formazione sul deep learning con MosaicML Composer su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Riduci tempi e costi di formazione sul deep learning con MosaicML Composer su AWS

Negli ultimi dieci anni, abbiamo visto La scienza del deep learning (DL) adottata a un ritmo straordinario dai clienti AWS. I parametri numerosi e formati congiuntamente dei modelli DL hanno un'ampia capacità rappresentativa che ha apportato miglioramenti in numerosi casi d'uso dei clienti, tra cui l'analisi di immagini e parlato, l'elaborazione del linguaggio naturale (NLP), l'elaborazione di serie temporali e altro ancora. In questo post, evidenziamo le sfide comunemente segnalate specificamente nella formazione DL e il modo in cui la libreria open source Compositore MosaicML aiuta a risolverli.

La sfida con la formazione DL

I modelli DL vengono addestrati in modo iterativo, in un ciclo for annidato. Un ciclo scorre il set di dati di training pezzo per pezzo e, se necessario, questo ciclo viene ripetuto più volte sull'intero set di dati. I professionisti del machine learning che lavorano sulla formazione DL devono affrontare diverse sfide:

  • La durata della formazione aumenta con la dimensione dei dati. Con i set di dati in costante crescita, crescono anche i tempi e i costi di formazione e il ritmo della scoperta scientifica rallenta.
  • Gli script DL spesso richiedono codice boilerplate, in particolare la suddetta struttura double for loop che divide il set di dati in minibatch e l'addestramento in epoche.
  • Il paradosso della scelta: vengono pubblicati diversi documenti e librerie sull'ottimizzazione della formazione, ma non è chiaro quale testare per primo e come combinare i loro effetti.

Negli ultimi anni, diverse librerie open source come Keras, Fulmine PyTorch, Abbracciare i trasformatori del visoe Ray Train hanno tentato di rendere la formazione DL più accessibile, in particolare riducendo la verbosità del codice, semplificando così il modo in cui le reti neurali sono programmate. La maggior parte di queste librerie si è concentrata sull'esperienza degli sviluppatori e sulla compattezza del codice.

In questo post presentiamo una nuova libreria open source che prende una posizione diversa sulla formazione DL: Compositore MosaicML è una libreria incentrata sulla velocità il cui obiettivo principale è rendere più veloci gli script di addestramento della rete neurale tramite l'innovazione algoritmica. Nel mondo del cloud DL, è saggio concentrarsi sulla velocità, perché l'infrastruttura di elaborazione viene spesso pagata in base all'utilizzo, anche al secondo. Formazione su Amazon SageMaker- e i miglioramenti nella velocità possono tradursi in un risparmio di denaro.

Storicamente, l'accelerazione della formazione DL è stata effettuata principalmente aumentando il numero di macchine che elaborano iterazioni del modello in parallelo, una tecnica chiamata parallelismo dei dati. Sebbene il parallelismo dei dati a volte acceleri l'addestramento (non garantito perché disturba la convergenza, come evidenziato in Goyal et al.), non riduce il costo complessivo del lavoro. In pratica, tende ad aumentarlo, a causa del sovraccarico della comunicazione tra macchine e del costo unitario della macchina più elevato, perché le macchine DL distribuite sono dotate di reti di fascia alta e interconnessione GPU interna al server.

Sebbene MosaicML Composer supporti il ​​parallelismo dei dati, la sua filosofia di base è diversa dal movimento del parallelismo dei dati. Il suo obiettivo è accelerare la formazione senza richiedere più macchine, innovando a livello di implementazione della scienza. Pertanto, mira a ottenere un risparmio di tempo che si tradurrebbe in un risparmio sui costi grazie alla struttura tariffaria pay-per-use di AWS.

Presentazione della libreria open source MosaicML Composer

MosaicML Composer è una libreria di formazione DL open source creata appositamente per semplificare l'acquisizione degli algoritmi più recenti e comporli in nuove ricette che accelerano la formazione del modello e aiutano a migliorare la qualità del modello. Al momento in cui scrivo, supporta PyTorch e include 25 tecniche chiamate metodi nel mondo MosaicML, insieme a modelli standard, set di dati e benchmark

Il compositore è disponibile tramite pip:

pip install mosaicml

È possibile accedere alle tecniche di accelerazione implementate in Composer tramite la sua API funzionale. Ad esempio, il seguente frammento applica il file BlurPool tecnica a un ResNet TorchVision:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

Facoltativamente, puoi anche utilizzare a Tutor per comporre la tua combinazione di tecniche:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

Esempi di metodi implementati in Composer

Alcuni dei metodi disponibili in Composer sono specifici della visione artificiale, ad esempio le tecniche di aumento delle immagini ColOut, Ritagliare, o Ridimensionamento progressivo delle immagini. Altri sono specifici della modellazione di sequenze, come ad esempio Riscaldamento della durata della sequenza or Alibi. È interessante notare che molti sono indipendenti dal caso d'uso e possono essere applicati a una varietà di reti neurali PyTorch oltre alla visione artificiale e alla PNL. Questi metodi generici di accelerazione dell'addestramento della rete neurale includono Levigatura etichetta, Backprop selettivo, Media stocastica del peso, Congelamento degli stratie Minimizzazione consapevole della nitidezza (SAM).

Analizziamone alcuni che sono stati ritenuti particolarmente efficaci dal team MosaicML:

  • Minimizzazione consapevole della nitidezza (SAM) è un ottimizzatore che minimizza sia la funzione di perdita del modello che la sua nitidezza calcolando un gradiente due volte per ogni passaggio di ottimizzazione. Per limitare il calcolo aggiuntivo e penalizzare il throughput, SAM può essere eseguito periodicamente.
  • Attenzione con bias lineari (ALiBi), ispirato da Stampa et al., è specifico per i modelli Transformers. Elimina la necessità di incorporamenti posizionali, sostituendoli con una distorsione non appresa sui pesi dell'attenzione.
  • Backprop selettivo, ispirato da Jiang et al., consente di eseguire la propagazione all'indietro (gli algoritmi che migliorano i pesi del modello seguendone la pendenza dell'errore) solo su record con funzione di perdita elevata. Questo metodo consente di evitare calcoli non necessari e di migliorare la velocità effettiva.

Avere queste tecniche disponibili in un unico quadro di formazione compatto rappresenta un valore aggiunto significativo per i professionisti del machine learning. Ciò che è prezioso è anche il feedback pratico sul campo che il team MosaicML produce per ciascuna tecnica, testata e valutata. Tuttavia, data la disponibilità di strumenti così ricchi, potresti chiederti: quale metodo dovrei utilizzare? È sicuro combinare l’uso di più metodi? Inserisci MosaicML Explorer.

MosaicML Explorer

Per quantificare il valore e la compatibilità dei metodi di formazione DL, sostiene il team MosaicML Explorer, una dashboard live unica nel suo genere che illustra dozzine di esperimenti di addestramento DL su cinque set di dati e sette modelli. Il cruscotto raffigura il frontiera ottimale di Pareto nel compromesso costo/tempo/qualità e consente di sfogliare e trovare combinazioni di metodi con il punteggio più alto, chiamate ricette nel mondo MosaicML, per un determinato modello e set di dati. Ad esempio, i seguenti grafici mostrano che per un addestramento GPT125 con parametri da 2M, l'addestramento più economico mantenendo una perplessità di 24.11 si ottiene combinando AliBi, Sequence Length Warmup e Scale Schedule, raggiungendo un costo di circa $ 145.83 nel Cloud AWS! Tuttavia, tieni presente che questo calcolo dei costi e quelli che seguono in questo post si basano solo su un calcolo on-demand EC2, potrebbero essere applicabili altre considerazioni sui costi, a seconda dell'ambiente e delle esigenze aziendali.

Screenshot di MosaicML Explorer per la formazione GPT-2

Risultati notevoli con Composer su AWS

Eseguendo la libreria Composer su AWS, il team MosaicML ha ottenuto una serie di risultati impressionanti. Tieni presente che le stime dei costi riportate dal team MosaicML comprendono solo i costi di elaborazione su richiesta.

Conclusione

Puoi iniziare a utilizzare Composer su qualsiasi piattaforma compatibile, dal tuo laptop ai server cloud di grandi dimensioni dotati di GPU. La libreria è intuitiva Giro di benvenuto ed Iniziamo pagine di documentazione. L'utilizzo di Composer in AWS ti consente di integrare la scienza di ottimizzazione dei costi di Composer con i servizi e i programmi di ottimizzazione dei costi di AWS, incluso il calcolo Spot (Amazon EC2, Amazon Sage Maker), Piano di risparmio, Ottimizzazione automatica del modello di SageMakere altro ancora. Il team MosaicML mantiene a lezione di Composer su AWS. Fornisce una dimostrazione passo passo di come riprodurre i risultati MLPerf e addestrare ResNet-50 su AWS alla precisione standard del 76.6% top-1 in soli 27 minuti.

Se hai problemi con reti neurali che si addestrano troppo lentamente o se stai cercando di tenere sotto controllo i costi di formazione DL, prova MosaicML su AWS e facci sapere cosa costruisci!


Circa gli autori

Riduci tempi e costi di formazione sul deep learning con MosaicML Composer su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Bandish Shah è un Engineering Manager presso MosaicML, che lavora per collegare il deep learning efficiente con sistemi distribuiti su larga scala e performance computing. Bandish ha oltre un decennio di esperienza nella creazione di sistemi per l'apprendimento automatico e applicazioni aziendali. Gli piace passare il tempo con gli amici e la famiglia, cucinare e guardare Star Trek in continuazione per trovare ispirazione.

Riduci tempi e costi di formazione sul deep learning con MosaicML Composer su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Olivier Cruchant è un Machine Learning Specialist Solutions Architect presso AWS, con sede in Francia. Olivier aiuta i clienti AWS, dalle piccole startup alle grandi imprese, a sviluppare e distribuire applicazioni di machine learning di livello produttivo. Nel tempo libero, gli piace leggere documenti di ricerca ed esplorare la natura selvaggia con amici e familiari.

Timestamp:

Di più da Apprendimento automatico di AWS