Μειώστε τον χρόνο και το κόστος εκπαίδευσης σε βάθος με το MosaicML Composer στο AWS PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Μειώστε τον χρόνο και το κόστος εκπαίδευσης σε βάθος με το MosaicML Composer στο AWS

Την τελευταία δεκαετία, είδαμε Η επιστήμη της βαθιάς μάθησης (DL) υιοθετήθηκε με τεράστιο ρυθμό από τους πελάτες της AWS. Οι άφθονες και από κοινού εκπαιδευμένες παράμετροι των μοντέλων DL έχουν μεγάλη αναπαραστατική ικανότητα που έφερε βελτιώσεις σε πολλές περιπτώσεις χρήσης πελατών, όπως ανάλυση εικόνας και ομιλίας, επεξεργασία φυσικής γλώσσας (NLP), επεξεργασία χρονοσειρών και πολλά άλλα. Σε αυτήν την ανάρτηση, επισημαίνουμε τις προκλήσεις που αναφέρονται συνήθως ειδικά στην εκπαίδευση DL και πώς η βιβλιοθήκη ανοιχτού κώδικα MosaicML Composer βοηθά στην επίλυσή τους.

Η πρόκληση με την προπόνηση DL

Τα μοντέλα DL εκπαιδεύονται επαναληπτικά, σε ένα ένθετο βρόχο for. Ένας βρόχος επαναλαμβάνεται μέσω του συνόλου δεδομένων εκπαίδευσης κομμάτι προς κομμάτι και, εάν είναι απαραίτητο, αυτός ο βρόχος επαναλαμβάνεται αρκετές φορές σε ολόκληρο το σύνολο δεδομένων. Οι επαγγελματίες ML που εργάζονται στην εκπαίδευση DL αντιμετωπίζουν πολλές προκλήσεις:

  • Η διάρκεια της εκπαίδευσης αυξάνεται ανάλογα με το μέγεθος των δεδομένων. Με τα μόνιμα αυξανόμενα σύνολα δεδομένων, οι χρόνοι και το κόστος εκπαίδευσης αυξάνονται επίσης και ο ρυθμός της επιστημονικής ανακάλυψης επιβραδύνεται.
  • Τα σενάρια DL συχνά απαιτούν κώδικα boilerplate, ιδιαίτερα την προαναφερθείσα δομή βρόχου διπλού for που χωρίζει το σύνολο δεδομένων σε μίνι παρτίδες και την εκπαίδευση σε εποχές.
  • Το παράδοξο της επιλογής: δημοσιεύονται πολλά έγγραφα βελτιστοποίησης εκπαίδευσης και βιβλιοθήκες, ωστόσο δεν είναι σαφές ποιο να δοκιμάσετε πρώτα και πώς να συνδυάσετε τα αποτελέσματά τους.

Τα τελευταία χρόνια, αρκετές βιβλιοθήκες ανοιχτού κώδικα, όπως π.χ Keras, Κεραυνός PyTorch, Αγκαλιάζοντας μετασχηματιστές προσώπου, να Ray Train προσπάθησαν να κάνουν την εκπαίδευση DL πιο προσιτή, κυρίως μειώνοντας την πολυγλωσσία του κώδικα, απλοποιώντας έτσι τον τρόπο προγραμματισμού των νευρωνικών δικτύων. Οι περισσότερες από αυτές τις βιβλιοθήκες έχουν επικεντρωθεί στην εμπειρία προγραμματιστή και στη συμπαγή κώδικα.

Σε αυτήν την ανάρτηση, παρουσιάζουμε μια νέα βιβλιοθήκη ανοιχτού κώδικα που παίρνει διαφορετική θέση για την εκπαίδευση DL: MosaicML Composer είναι μια βιβλιοθήκη με επίκεντρο την ταχύτητα, της οποίας πρωταρχικός στόχος είναι να κάνει τα σενάρια εκπαίδευσης νευρωνικών δικτύων ταχύτερα μέσω αλγοριθμικής καινοτομίας. Στον κόσμο του cloud DL, είναι συνετό να εστιάσετε στην ταχύτητα, επειδή η υπολογιστική υποδομή συχνά πληρώνεται ανά χρήση—ακόμη και στη δεύτερη Εκπαίδευση Amazon SageMaker—και οι βελτιώσεις στην ταχύτητα μπορούν να μεταφραστούν σε εξοικονόμηση χρημάτων.

Ιστορικά, η επιτάχυνση της εκπαίδευσης DL έγινε κυρίως αυξάνοντας τον αριθμό των μηχανών που υπολογίζουν επαναλήψεις μοντέλων παράλληλα, μια τεχνική που ονομάζεται παραλληλισμός δεδομένων. Αν και ο παραλληλισμός δεδομένων μερικές φορές επιταχύνει την εκπαίδευση (δεν είναι εγγυημένο γιατί διαταράσσει τη σύγκλιση, όπως τονίζεται στο Οι Goyal et al.), δεν μειώνει το συνολικό κόστος εργασίας. Στην πράξη, τείνει να το αυξάνει, λόγω των γενικών εξόδων επικοινωνίας μεταξύ των μηχανών και του υψηλότερου κόστους μονάδας μηχανής, επειδή οι κατανεμημένες μηχανές DL είναι εξοπλισμένες με δικτύωση προηγμένης τεχνολογίας και διασύνδεση GPU εντός διακομιστή.

Αν και το MosaicML Composer υποστηρίζει τον παραλληλισμό δεδομένων, η βασική του φιλοσοφία είναι διαφορετική από το κίνημα του παραλληλισμού δεδομένων. Στόχος του είναι να επιταχύνει την εκπαίδευση χωρίς να απαιτεί περισσότερα μηχανήματα, καινοτομώντας στο επίπεδο εφαρμογής της επιστήμης. Ως εκ τούτου, στοχεύει να επιτύχει εξοικονόμηση χρόνου που θα είχε ως αποτέλεσμα την εξοικονόμηση κόστους λόγω της δομής αμοιβής πληρωμής ανά χρήση του AWS.

Παρουσιάζουμε τη βιβλιοθήκη ανοιχτού κώδικα MosaicML Composer

Το MosaicML Composer είναι μια βιβλιοθήκη εκπαίδευσης DL ανοιχτού κώδικα που έχει σχεδιαστεί ειδικά για να διευκολύνει τη μεταφορά των πιο πρόσφατων αλγορίθμων και τη σύνθεσή τους σε νέες συνταγές που επιταχύνουν την εκπαίδευση μοντέλων και συμβάλλουν στη βελτίωση της ποιότητας του μοντέλου. Τη στιγμή που γράφεται αυτό το άρθρο, υποστηρίζει το PyTorch και περιλαμβάνει 25 τεχνικές — που ονομάζονται μέθοδοι στον κόσμο του MosaicML—μαζί με τυπικά μοντέλα, σύνολα δεδομένων και σημεία αναφοράς

Συνθέτης είναι διαθέσιμο μέσω pip:

pip install mosaicml

Οι τεχνικές Speedup που εφαρμόζονται στο Composer είναι προσβάσιμες με το λειτουργικό API του. Για παράδειγμα, το παρακάτω απόσπασμα εφαρμόζει το BlurPool τεχνική σε ένα TorchVision ResNet:

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)

Προαιρετικά, μπορείτε επίσης να χρησιμοποιήσετε α Προπονητής να συνθέσετε τον δικό σας συνδυασμό τεχνικών:

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()

Παραδείγματα μεθόδων που εφαρμόζονται στο Composer

Ορισμένες από τις μεθόδους που είναι διαθέσιμες στο Composer είναι συγκεκριμένες για την όραση υπολογιστή, για παράδειγμα τεχνικές αύξησης εικόνας ColOut, Αποκοπή, ή Προοδευτική αλλαγή μεγέθους εικόνας. Άλλα είναι ειδικά για τη μοντελοποίηση ακολουθιών, όπως π.χ Προθέρμανση μήκους ακολουθίας or Αλλοθι. Είναι ενδιαφέρον ότι πολλά είναι αγνωστικά της περίπτωσης χρήσης και μπορούν να εφαρμοστούν σε μια ποικιλία νευρωνικών δικτύων PyTorch πέρα ​​από την όραση υπολογιστή και το NLP. Αυτές οι γενικές μέθοδοι επιτάχυνσης εκπαίδευσης νευρωνικών δικτύων περιλαμβάνουν Εξομάλυνση ετικετών, Επιλεκτικό Backprop, Μέσος όρος στοχαστικού βάρους, Κατάψυξη στρώσεων, να Ελαχιστοποίηση ευκρίνειας (SAM).

Ας βουτήξουμε βαθιά σε μερικά από αυτά που βρέθηκαν ιδιαίτερα αποτελεσματικά από την ομάδα του MosaicML:

  • Ελαχιστοποίηση ευκρίνειας (SAM) είναι ένας βελτιστοποιητής που ελαχιστοποιεί τόσο τη συνάρτηση απώλειας μοντέλου όσο και την ευκρίνειά της, υπολογίζοντας μια κλίση δύο φορές για κάθε βήμα βελτιστοποίησης. Για να περιοριστεί ο επιπλέον υπολογισμός για να τιμωρηθεί η απόδοση, το SAM μπορεί να εκτελείται περιοδικά.
  • Προσοχή με Γραμμικές Προκαταλήψεις (ALiBi), εμπνευσμένη από Press et al., είναι ειδικά για μοντέλα Transformers. Καταργεί την ανάγκη για ενσωματώσεις θέσης, αντικαθιστώντας τες με μια μη μαθημένη προκατάληψη στα βάρη προσοχής.
  • Επιλεκτικό Backprop, εμπνευσμένη από Οι Jiang et al., σας επιτρέπει να εκτελείτε back-propagation (τους αλγόριθμους που βελτιώνουν τα βάρη των μοντέλων ακολουθώντας την κλίση σφάλματος) μόνο σε εγγραφές με συνάρτηση υψηλής απώλειας. Αυτή η μέθοδος σάς βοηθά να αποφύγετε τους περιττούς υπολογισμούς και συμβάλλει στη βελτίωση της απόδοσης.

Η διαθεσιμότητα αυτών των τεχνικών σε ένα ενιαίο συμπαγές πλαίσιο εκπαίδευσης είναι μια σημαντική προστιθέμενη αξία για τους επαγγελματίες ML. Αυτό που είναι επίσης πολύτιμο είναι η ενεργή ανατροφοδότηση πεδίου που παράγει η ομάδα του MosaicML για κάθε τεχνική, που έχει δοκιμαστεί και αξιολογηθεί. Ωστόσο, δεδομένης μιας τόσο πλούσιας εργαλειοθήκης, ίσως αναρωτηθείτε: ποια μέθοδο να χρησιμοποιήσω; Είναι ασφαλές να συνδυαστεί η χρήση πολλαπλών μεθόδων; Μπείτε στο MosaicML Explorer.

MosaicML Explorer

Για να ποσοτικοποιήσει την αξία και τη συμβατότητα των μεθόδων εκπαίδευσης DL, η ομάδα MosaicML διατηρεί εξερευνητής, ένα πρώτο στο είδος του ζωντανό ταμπλό που απεικονίζει δεκάδες πειράματα εκπαίδευσης DL σε πέντε σύνολα δεδομένων και επτά μοντέλα. Το ταμπλό απεικονίζει το βέλτιστο σύνορο pareto στην αντιστάθμιση κόστους/χρόνου/ποιότητας και σας επιτρέπει να περιηγηθείτε και να βρείτε συνδυασμούς μεθόδων με κορυφαία βαθμολογία—που ονομάζεται σας συνταγές στον κόσμο του MosaicML—για ένα δεδομένο μοντέλο και σύνολο δεδομένων. Για παράδειγμα, τα ακόλουθα γραφήματα δείχνουν ότι για μια προπόνηση 125M παραμέτρων GPT2, η φθηνότερη προπόνηση με αμηχανία 24.11 επιτυγχάνεται συνδυάζοντας το AliBi, το Sequence Length Warmup και το Scale Schedule, φτάνοντας σε κόστος περίπου 145.83 $ στο AWS Cloud! Ωστόσο, λάβετε υπόψη ότι αυτός ο υπολογισμός κόστους και αυτοί που ακολουθούν σε αυτήν την ανάρτηση βασίζονται μόνο σε έναν υπολογισμό EC2 κατ' απαίτηση, ενδέχεται να ισχύουν και άλλες εκτιμήσεις κόστους, ανάλογα με το περιβάλλον και τις επιχειρηματικές σας ανάγκες.

Στιγμιότυπο οθόνης του MosaicML Explorer για εκπαίδευση GPT-2

Αξιοσημείωτα επιτεύγματα με το Composer στο AWS

Τρέχοντας τη βιβλιοθήκη Composer στο AWS, η ομάδα του MosaicML πέτυχε μια σειρά από εντυπωσιακά αποτελέσματα. Λάβετε υπόψη ότι οι εκτιμήσεις κόστους που αναφέρονται από την ομάδα του MosaicML αποτελούνται μόνο από υπολογιστική χρέωση κατ' απαίτηση.

Συμπέρασμα

Μπορείτε να ξεκινήσετε με το Composer σε οποιαδήποτε συμβατή πλατφόρμα, από τον φορητό υπολογιστή σας έως μεγάλους διακομιστές cloud εξοπλισμένους με GPU. Η βιβλιοθήκη διαθέτει διαισθητικά Περιήγηση καλωσορίσματος και Ξεκινώντας σελίδες τεκμηρίωσης. Η χρήση του Composer στο AWS σάς επιτρέπει να συγκεντρώνετε την επιστήμη της βελτιστοποίησης κόστους του Composer με υπηρεσίες και προγράμματα βελτιστοποίησης κόστους AWS, συμπεριλαμβανομένου του Spot compute (Amazon EC2, Amazon Sage Maker), Πρόγραμμα ταμιευτηρίου, Αυτόματος συντονισμός μοντέλου SageMaker, κι αλλα. Η ομάδα του MosaicML διατηρεί α φροντιστήριο του Composer στο AWS. Παρέχει μια επίδειξη βήμα προς βήμα για το πώς μπορείτε να αναπαράγετε τα αποτελέσματα MLPerf και να εκπαιδεύσετε το ResNet-50 στο AWS με την τυπική ακρίβεια 76.6% top-1 σε μόλις 27 λεπτά.

Εάν αντιμετωπίζετε προβλήματα με νευρωνικά δίκτυα που εκπαιδεύονται πολύ αργά ή αν θέλετε να διατηρήσετε υπό έλεγχο το κόστος εκπαίδευσης DL, δοκιμάστε το MosaicML στο AWS και ενημερώστε μας τι δημιουργείτε!


Σχετικά με τους συγγραφείς

Μειώστε τον χρόνο και το κόστος εκπαίδευσης σε βάθος με το MosaicML Composer στο AWS PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Bandish Shah είναι Διευθυντής Μηχανικών στο MosaicML, που εργάζεται για να γεφυρώσει την αποτελεσματική βαθιά μάθηση με κατανεμημένα συστήματα μεγάλης κλίμακας και υπολογιστές απόδοσης. Η Bandish έχει πάνω από μια δεκαετία εμπειρία στην κατασκευή συστημάτων για μηχανική μάθηση και εταιρικές εφαρμογές. Του αρέσει να περνά χρόνο με τους φίλους και την οικογένεια, να μαγειρεύει και να παρακολουθεί το Star Trek σε επανάληψη για έμπνευση.

Μειώστε τον χρόνο και το κόστος εκπαίδευσης σε βάθος με το MosaicML Composer στο AWS PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ολιβιέ Κρουκάντ είναι Αρχιτέκτονας λύσεων Specialist Machine Learning στην AWS, με έδρα τη Γαλλία. Ο Olivier βοηθά τους πελάτες της AWS – από μικρές νεοφυείς επιχειρήσεις έως μεγάλες επιχειρήσεις – να αναπτύξουν και να αναπτύξουν εφαρμογές μηχανικής εκμάθησης ποιότητας παραγωγής. Στον ελεύθερο χρόνο του, του αρέσει να διαβάζει ερευνητικές εργασίες και να εξερευνά την έρημο με φίλους και οικογένεια.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS