Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με το AWS Trainium | Υπηρεσίες Ιστού της Amazon

Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με το AWS Trainium | Υπηρεσίες Ιστού της Amazon

Τα μεγάλα γλωσσικά μοντέλα (ή LLM) έχουν γίνει θέμα καθημερινών συζητήσεων. Η γρήγορη υιοθέτησή τους είναι εμφανής από τον χρόνο που απαιτείται για να προσεγγιστούν 100 εκατομμύρια χρήστες, ο οποίος έχει φτάσει από «4.5 χρόνια από το facebook» σε ένα ιστορικό χαμηλό μόλις «2 μήνες από το ChatGPT». Ένας γενετικός προ-εκπαιδευμένος μετασχηματιστής (GPT) χρησιμοποιεί αιτιολογικές αυτοπαλινδρομικές ενημερώσεις για να κάνει πρόβλεψη. Ποικιλία εργασιών όπως η αναγνώριση ομιλίας, η δημιουργία κειμένου και η απάντηση ερωτήσεων αποδεικνύεται ότι έχουν εκπληκτική απόδοση από αυτές τις αρχιτεκτονικές μοντέλων. Αρκετά πρόσφατα μοντέλα όπως π.χ Neox, γεράκι, Είδος μικρής καμήλας χρησιμοποιήστε την αρχιτεκτονική GPT ως βάση. Η εκπαίδευση LLM απαιτεί κολοσσιαία ποσότητα υπολογιστικού χρόνου, που κοστίζει εκατομμύρια δολάρια. Σε αυτήν την ανάρτηση, θα συνοψίσουμε τη διαδικασία εκπαίδευσης του GPT Neox on Aws trainium, ένας ειδικά κατασκευασμένος επιταχυντής μηχανικής μάθησης (ML) βελτιστοποιημένος για εκπαίδευση σε βάθος. Θα περιγράψουμε πώς εκπαιδεύσαμε οικονομικά (3.2 εκατομμύρια tokens/$) τέτοια μοντέλα με το AWS Trainium χωρίς να χάσουμε την ποιότητα του μοντέλου.

Επισκόπηση λύσεων

Μοντέλα GPT NeoX και Pythia

GPT NeoX και Πύθια είναι τα μοντέλα αιτιακής γλώσσας ανοιχτού κώδικα της Eleuther-AI με περίπου 20 δισεκατομμύρια παραμέτρους στο NeoX και 6.9 δισεκατομμύρια στο Pythia. Και τα δύο είναι μοντέλα αποκωδικοποιητών που ακολουθούν παρόμοιο αρχιτεκτονικό σχεδιασμό με το Chat GPT3. Έχουν όμως και αρκετές προσθήκες, οι οποίες υιοθετούνται ευρέως και στα πρόσφατα μοντέλα όπως το Llama. Ειδικότερα, διαθέτουν περιστροφική ενσωμάτωση θέσης (ROPE) με μερική περιστροφή στις διαστάσεις της κεφαλής. Τα πρωτότυπα μοντέλα (NeoX και Pythia 6.9B) εκπαιδεύονται σε ανοιχτά διαθέσιμα Δεδομένα στοίβας με deduplication και χρήση Megatron και Deepspeed backend.

Επιδεικνύουμε την προ-εκπαίδευση και τη λεπτομέρεια αυτών των μοντέλων σε περιπτώσεις Trn1 που βασίζονται σε AWS Trainium χρησιμοποιώντας Neuron NeMo βιβλιοθήκη. Για να δημιουργήσουμε την απόδειξη της ιδέας και τη γρήγορη αναπαραγωγή, θα χρησιμοποιήσουμε ένα μικρότερο υποσύνολο δεδομένων Wikipedia με διακριτικό με χρήση κωδικοποίησης ζεύγους byte GPT2 (BPE).

Walkthrough

Κατεβάστε το προκαθορισμένο σύνολο δεδομένων Wikipedia όπως φαίνεται:

export DATA_DIR=~/examples_datasets/gpt2 mkdir -p ${DATA_DIR} && cd ${DATA_DIR} wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-vocab.json
wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-merges.txt
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/my-gpt2_text_document.bin . --no-sign-request
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/my-gpt2_text_document.idx . --no-sign-request
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/license.txt . --no-sign-request

Τόσο το NeoX 20B όσο και το Pythia 6.9B χρησιμοποιούν ROPE με μερική περιστροφή, για παράδειγμα, περιστρέφοντας το 25% των διαστάσεων της κεφαλής και διατηρώντας το υπόλοιπο χωρίς περιστροφή. Για να εφαρμόσουμε αποτελεσματικά τη μερική περιστροφή στον επιταχυντή AWS Trainium, αντί να συνδυάσουμε τις περιστρεφόμενες και μη περιστρεφόμενες διαστάσεις, προσθέτουμε μηδενικές συχνότητες για μη περιστρεφόμενες διαστάσεις και στη συνέχεια περιστρέφουμε το πλήρες σύνολο διαστάσεων κεφαλής. Αυτό το απλό τέχνασμα μας βοήθησε να βελτιώσουμε την απόδοση (ακολουθίες που υποβάλλονται σε επεξεργασία ανά δευτερόλεπτο) στο AWS Trainium.

Βήματα εκπαίδευσης

Για την εκτέλεση της εκπαίδευσης, χρησιμοποιούμε το διαχειριζόμενο SLURM πολλαπλών κόμβων Amazon Elastic Compute Cloud (Amazon EC2) Σύμπλεγμα Trn1, με κάθε κόμβο να περιέχει ένα στιγμιότυπο trn1.32xl. Καθε trn1.32xl έχει 16 επιταχυντές με δύο εργαζόμενους ανά επιταχυντή. Μετά τη λήψη του πιο πρόσφατου Neuron NeMo πακέτο, χρησιμοποιήστε το παρεχόμενο neox και Πύθια προ-εκπαίδευση και λεπτομέρεια σεναρίων με βελτιστοποιημένες υπερ-παραμέτρους και εκτελέστε τα ακόλουθα για εκπαίδευση τεσσάρων κόμβων.

  1. Compile: Προμεταγλωττίστε το μοντέλο με τρεις επαναλήψεις τρένου για να δημιουργήσετε και να αποθηκεύσετε τα γραφήματα:
    sbatch --nodes 4 compile.slurm ./neoX_20B_slurm.sh

  2. Εκτέλεση: Εκτελέστε την εκπαίδευση φορτώνοντας τα αποθηκευμένα γραφήματα από τα πρώτα βήματα
    sbatch --nodes 4 run.slurm ./neoX_20B_slurm.sh

  3. Παρακολούθηση αποτελεσμάτων
    tensorboard --logdir=nemo_experiments/megatron_neox

Τα ίδια βήματα πρέπει να ακολουθηθούν για την εκτέλεση του μοντέλου Pythia 6.9B με αντικατάσταση neox_20B_slurm.sh by pythia_6.9B_slurm.sh.

Πειράματα προεκπαίδευσης και τελειοποίησης

Δείχνουμε την προεκπαίδευση των μοντέλων GPT-NeoX και Pythia στο AWS Trainium χρησιμοποιώντας Neuron NeMo βιβλιοθήκη για 10 επαναλήψεις, καθώς και εμφάνιση λεπτομέρειας αυτών των μοντέλων για βήματα 1. Για προ-προπόνηση, χρησιμοποιούμε το GPT2 BPE tokenizer μέσα στο NeMo και ακολουθούμε το ίδιο config όπως χρησιμοποιείται στο αρχικό μοντέλο. Η τελειοποίηση στο AWS Trainium απαιτεί αλλαγή λίγων παραμέτρων (όπως π.χ συντελεστής διαίρεσης μεγέθους λεξιλογίου), τα οποία παρέχονται στα σενάρια λεπτομέρειας για την προσαρμογή των διαφορών Megatron έναντι NeMo και αλλαγές GPU έναντι AWS Trainium. Η κατανεμημένη παροχή εκπαίδευσης σε πολλούς κόμβους με διαφορετικό αριθμό κόμβων φαίνεται στον Πίνακα-1.

Μοντέλο Παράλληλος τανυστής Παράλληλος αγωγός Αριθμός περιπτώσεων Κόστος ($/ώρα) Μήκος ακολουθίας Παγκόσμιο μέγεθος παρτίδας Διακίνηση (seq/sec) Αναλογία κόστους-απόδοσης (tokens/$)
Pythia 6.9B 8 1 1 7.59 2048 256 10.4 10,102,387
8 1 4 30.36 2048 256 35.8 8,693,881
NeoX 20B 8 4 4 30.36 2048 16384 13.60 3,302,704
8 4 8 60.72 2048 16384 26.80 3,254,134
8 4 16 121.44 2048 16384 54.30 3,296,632
8 4 32 242.88 2048 16384 107.50 3,263,241
8 4 64 485.76 2048 16384 212.00 3,217,708

Πίνακας 1. Σύγκριση της μέσης απόδοσης των μοντέλων GPT NeoX και Pythia για εκπαίδευση έως και 500 βημάτων με μεταβαλλόμενο αριθμό κόμβων. ο τιμή trn1.32xl βασίζεται στην 3ετή δεσμευμένη χρέωση ανά ώρα.

Στη συνέχεια, αξιολογούμε επίσης την τροχιά απώλειας του μοντέλου εκπαίδευσης στο AWS Trainium και τη συγκρίνουμε με την αντίστοιχη εκτέλεση σε ένα σύμπλεγμα P4d (πυρήνες GPU Nvidia A100). Μαζί με την απώλεια προπόνησης, συγκρίνουμε επίσης χρήσιμο δείκτη όπως ο κανόνας κλίσης, ο οποίος είναι 2-norm των κλίσεων του μοντέλου που υπολογίζονται σε κάθε επανάληψη της εκπαίδευσης για την παρακολούθηση της προόδου της προπόνησης. Τα αποτελέσματα της εκπαίδευσης φαίνονται στο Σχήμα-1, 2 και η τελειοποίηση του NeoX 20B στο Σχήμα-3.

Η απώλεια προπόνησης υπολογίστηκε κατά μέσο όρο σε όλους τους εργαζόμενους (αριστερά) και ο κανόνας κλίσης (δεξιά) κατά την εκπαίδευση σε κάθε βήμα.

Φιγούρα 1. Η απώλεια προπόνησης υπολογίστηκε κατά μέσο όρο σε όλους τους εργαζόμενους (αριστερά) και ο κανόνας κλίσης (δεξιά) κατά την εκπαίδευση σε κάθε βήμα. Το NeoX 20B εκπαιδεύεται σε 4 κόμβους με μικρό σύνολο δεδομένων wiki σε GPU και Trainium με τις ίδιες υπερπαραμέτρους εκπαίδευσης (global batch size=256). Η GPU χρησιμοποιεί BF16 και προεπιλεγμένη μικτή ακρίβεια, ενώ το AWS Trainium χρησιμοποιεί πλήρες BF16 με στοχαστική στρογγυλοποίηση. Οι τροχιές του κανόνα απώλειας και κλίσης ταιριάζουν με την GPU και το AWS Trainium.

Η απώλεια εκπαίδευσης υπολογίζεται κατά μέσο όρο σε όλους τους εργαζομένους (αριστερά) και ο κανόνας κλίσης (δεξιά) κατά την εκπαίδευση σε κάθε βήμα (Πυθία).

Φιγούρα 2. Η απώλεια προπόνησης υπολογίστηκε κατά μέσο όρο σε όλους τους εργαζόμενους (αριστερά) και ο κανόνας κλίσης (δεξιά) κατά την εκπαίδευση σε κάθε βήμα. Παρόμοια με το GPT NeoX στο Σχήμα-1, το Pythia 6.9B εκπαιδεύεται σε 4 κόμβους με μικρό σύνολο δεδομένων wiki σε GPU και Trainium με τις ίδιες υπερπαραμέτρους εκπαίδευσης (σφαιρικό μέγεθος παρτίδας=256). Οι τροχιές του κανόνα απώλειας και κλίσης ταιριάζουν για GPU και Trainium.

Βελτιωμένο μοντέλο GPT NeoX 20B σε GPU και AWS Trainium με μέσο όρο απώλειας εκπαίδευσης σε όλους τους εργαζόμενους (αριστερά) και κανόνα κλίσης (δεξιά).

Φιγούρα 3. Βελτιωμένο μοντέλο GPT NeoX 20B σε GPU και AWS Trainium με μέσο όρο απώλειας εκπαίδευσης σε όλους τους εργαζόμενους (αριστερά) και κανόνα κλίσης (δεξιά). Ένα μικρό σύνολο δεδομένων wiki χρησιμοποιείται για επίδειξη λεπτομέρειας. Οι τροχιές του κανόνα απώλειας και κλίσης ταιριάζουν με την GPU και το AWS Trainium.

Σε αυτήν την ανάρτηση, δείξαμε οικονομικά αποδοτική εκπαίδευση LLM σε υλικό βαθιάς εκμάθησης AWS. Εκπαιδεύσαμε μοντέλα GPT NeoX 20B και Pythia 6.9B στο AWS Trn1 με τη βιβλιοθήκη Neuron NeMo. Η κανονικοποιημένη απόδοση κόστους για 20 δισεκατομμύρια μοντέλα με AWS Trainium είναι περίπου 3.2 εκατομμύρια tokens/$ που δαπανήθηκαν. Μαζί με την οικονομικά αποδοτική εκπαίδευση στο AWS Trainium, αποκτούμε παρόμοια ακρίβεια μοντέλου, η οποία είναι εμφανής από την απώλεια βημάτων εκπαίδευσης και την τροχιά νόρμας κλίσης. Επίσης, βελτιστοποιήσαμε τα διαθέσιμα σημεία ελέγχου για το μοντέλο NeoX 20B στο AWS Trainium. Για πρόσθετες πληροφορίες σχετικά με την κατανεμημένη εκπαίδευση με το NeMo Megatron στο AWS Trainium, βλ Αναφορά AWS Neuron για NeMo Megatron. Μια καλή πηγή για να ξεκινήσετε τη βελτίωση του μοντέλου Llama θα βρείτε εδώ, Βελτιστοποίηση Llama2. Για να ξεκινήσετε με το διαχειριζόμενο AWS Trainium on Amazon Sage Maker, Δείτε Εκπαιδεύστε τα ML μοντέλα σας με το AWS Trainium και το Amazon SageMaker.


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

Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Γκάουραβ Γκούπτα είναι επί του παρόντος Εφαρμοσμένος Επιστήμονας στα εργαστήρια τεχνητής νοημοσύνης του Amazon Web Services (AWS). Ο Δρ. Gupta ολοκλήρωσε το διδακτορικό του από το USC Viterbi. Τα ερευνητικά του ενδιαφέροντα καλύπτουν τον τομέα της διαδοχικής μοντελοποίησης δεδομένων, την εκμάθηση μερικών διαφορικών εξισώσεων, τη θεωρία πληροφοριών για τη μηχανική μάθηση, τα κλασματικά δυναμικά μοντέλα και τα πολύπλοκα δίκτυα. Αυτή τη στιγμή εργάζεται σε εφαρμοσμένα και μαθηματικά προβλήματα σχετικά με τη συμπεριφορά εκπαίδευσης LLM, μοντέλα όρασης με PDE, μοντέλα θεωρητικών πληροφοριών πολλαπλών τρόπων. Ο Δρ. Gupta έχει δημοσιεύσεις σε κορυφαία περιοδικά/συνέδρια όπως Neurips, ICLR, ICML, Nature, IEEE Control Society, ACM cyber-physical society.

Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Μπεν Σνάιντερ είναι εφαρμοσμένος επιστήμονας με το AWS Deep Learning. Τα ερευνητικά του ενδιαφέροντα περιλαμβάνουν θεμελιώδη μοντέλα, ενισχυτική μάθηση και ασύγχρονη βελτιστοποίηση. Εκτός δουλειάς, του αρέσει η ποδηλασία και το κάμπινγκ.

Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Amith (R) Mamidala είναι η ανώτερη μηχανική εφαρμογών μηχανικής εκμάθησης στο AWS Annapurna Labs. Ο Δρ Mamidala ολοκλήρωσε το διδακτορικό του στο Ohio State University στους υπολογιστές υψηλών επιδόσεων και την επικοινωνία. Κατά τη διάρκεια της θητείας του στην έρευνα της IBM, ο Δρ. Mamidala συνεισέφερε στην κατηγορία υπολογιστών BlueGene που συχνά ηγούνταν στην κατάταξη Top500 των πιο ισχυρών και αποδοτικών υπερυπολογιστών. Το έργο βραβεύτηκε το 2009 με το Εθνικό Μετάλλιο Τεχνολογίας και Καινοτομίας. Μετά από μια σύντομη θητεία ως μηχανικός τεχνητής νοημοσύνης σε ένα χρηματοπιστωτικό ταμείο αντιστάθμισης κινδύνου, ο Δρ Mamidala εντάχθηκε στα εργαστήρια της Annapurna με επίκεντρο την εκπαίδευση μοντέλων Large Language.

Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Jun (Luke) Huan είναι κύριος επιστήμονας στο AWS AI Labs. Ο Δρ Χουάν εργάζεται στην τεχνητή νοημοσύνη και την επιστήμη των δεδομένων. Έχει δημοσιεύσει περισσότερες από 180 εργασίες με κριτές σε κορυφαία συνέδρια και περιοδικά. Ήταν αποδέκτης του βραβείου NSF Faculty Early Career Development Award το 2009. Πριν ενταχθεί στο AWS, εργάστηκε στην έρευνα Baidu ως διακεκριμένος επιστήμονας και επικεφαλής του Baidu Big Data Laboratory. Ίδρυσε την StylingAI Inc., μια start-up τεχνητής νοημοσύνης, και εργάστηκε ως Διευθύνων Σύμβουλος και Επικεφαλής Επιστήμονας το 2019-2021. Πριν ασχοληθεί με τη βιομηχανία, ήταν καθηγητής Charles E. και Mary Jane Spahr στο Τμήμα EECS του Πανεπιστημίου του Κάνσας.

Η λιτότητα συναντά την ακρίβεια: Οικονομική εκπαίδευση των μοντέλων GPT NeoX και Pythia με AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Shruti Koparkar είναι Ανώτερος Διευθυντής Μάρκετινγκ Προϊόντων στην AWS. Βοηθά τους πελάτες να εξερευνήσουν, να αξιολογήσουν και να υιοθετήσουν την επιταχυνόμενη υπολογιστική υποδομή Amazon EC2 για τις ανάγκες μηχανικής εκμάθησης.

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

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