Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού της Amazon

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού της Amazon

Για δεκαετίες, η Amazon πρωτοπορεί και καινοτομεί τη μηχανική μάθηση (ML), φέρνοντας ευχάριστες εμπειρίες στους πελάτες της. Από τις πρώτες μέρες, η Amazon χρησιμοποίησε την ML για διάφορες περιπτώσεις χρήσης, όπως συστάσεις βιβλίων, αναζήτηση και ανίχνευση απάτης. Παρόμοια με τον υπόλοιπο κλάδο, οι εξελίξεις του επιταχυνόμενου υλικού επέτρεψαν στις ομάδες της Amazon να ακολουθήσουν αρχιτεκτονικές μοντέλων χρησιμοποιώντας νευρωνικά δίκτυα και βαθιά μάθηση (DL).

Το πρόγραμμα M5 εντός της Αναζήτησης Amazon κατέχει τη στρατηγική εκμάθησης ανακάλυψης για το Amazon και δημιουργεί μοντέλα μεγάλης κλίμακας σε πολυγλωσσικά, πολυτοπικά, πολλαπλών οντοτήτων, πολλαπλών εργασιών και πολυτροπικών, όπως κείμενο, εικόνα και βίντεο. Το πρόγραμμα M5 εξυπηρετεί καθολικές ενσωματώσεις και μοντέλα θεμελίωσης μεγάλης κλίμακας σε εκατοντάδες ομάδες ML σε όλη την Amazon, διατηρώντας παράλληλα αυστηρούς ελέγχους στη βελτιστοποίηση του κόστους. Για να επιτευχθεί αυτό, η ομάδα του M5 αξιολογεί τακτικά νέες τεχνικές για τη μείωση του κόστους.

Όπως πολλοί οργανισμοί ML, οι επιταχυντές χρησιμοποιούνται σε μεγάλο βαθμό για την επιτάχυνση της εκπαίδευσης και των συμπερασμάτων DL. Όταν η AWS κυκλοφόρησε ειδικά κατασκευασμένους επιταχυντές με την πρώτη κυκλοφορία του Αίσθηση AWS το 2020, η ομάδα M5 άρχισε γρήγορα να χρησιμοποιήστε τα για να αναπτύξετε πιο αποτελεσματικά τον φόρτο εργασίας της παραγωγής, εξοικονομώντας κόστος και μειώνοντας την καθυστέρηση. Πέρυσι, το AWS κυκλοφόρησε Aws trainium επιταχυντές, οι οποίοι βελτιστοποιούν την απόδοση ανά κόστος για την ανάπτυξη και την κατασκευή μοντέλων DL επόμενης γενιάς. Σε αυτήν την ανάρτηση, συζητάμε πώς η M5 μπόρεσε να μειώσει το κόστος εκπαίδευσης των μοντέλων της κατά 30% και να μοιραστούμε μερικές από τις καλύτερες πρακτικές που μάθαμε στην πορεία.

Περιπτώσεις Trainium

Με τις προόδους στους ειδικά κατασκευασμένους επιταχυντές, η Amazon παρέχει επίσης συναρπαστικούς επιταχυντές με τη μορφή AWS Inferentia και Trainium. Όπως υποδηλώνουν τα ονόματά τους, αυτά τα τσιπ είναι βελτιστοποιημένα ώστε να υπερβαίνουν τις ανάγκες φόρτου εργασίας εξαγωγής συμπερασμάτων και εκπαίδευσης, αντίστοιχα. Για μεγάλης κλίμακας εκπαίδευση μοντέλων θεμελίωσης που φτάνουν σε δισεκατομμύρια παραμέτρους σε μέγεθος, το Trainium Περιπτώσεις Trn1 και Trn1n αποτελούν ιδανικές επιλογές λόγω των χαρακτηριστικών τους. Οι περιπτώσεις Trn1 τροφοδοτούνται από την τελευταία λέξη της τεχνολογίας NeuronCore-v2, και έχουν άφθονο υπολογισμό και μνήμη επιταχυντή. Τα στιγμιότυπα Trn1n μπορούν επίσης να επιλεγούν για μεγαλύτερο εύρος ζώνης δικτύωσης (1,600 Gbs), επομένως είναι ιδανικά για εκπαίδευση με απόδοση έχοντας κατά νου τη βελτιστοποίηση κόστους.

Για να χρησιμοποιήσετε επιταχυντές, χρειάζεστε ένα επίπεδο λογισμικού για να τους υποστηρίξετε. Με τα τσιπ Trn και Inf, το AWS Neuron SDK ξεκλειδώνει ειδικά κατασκευασμένους επιταχυντές της Amazon με τη βοήθεια του PyTorch XLA. Το PyTorch XLA μετατρέπει τη λειτουργία ανυπομονησίας του PyTorch σε εφαρμογή βασισμένη σε γραφήματα lazy mode. Αυτά τα γραφήματα στη συνέχεια χρησιμοποιούνται και μεταγλωττίζονται περαιτέρω για να χρησιμοποιηθούν με τον επιταχυντή. Το PyTorch Neuron (μέρος του Neuron SDK) επιτρέπει στους χρήστες του PyTorch να εκπαιδεύσουν τα μοντέλα τους στο Trainium NeuronCores με μερικές γραμμές κώδικα.

Μοντέλο και φόρτος εργασίας

Η ομάδα M5 εκπαιδεύει και αναπτύσσει θεμελιώδη μοντέλα και καθολικές αναπαραστάσεις για να βοηθήσει διάφορες ομάδες σε όλη την Amazon να φέρουν χαρά στο Amazon.com οι πελάτες. Ένα τέτοιο μοντέλο είναι ένα μοντέλο κωδικοποιητή κειμένου που ακολουθείται από ένα πολυστρωματικό perceptron (MLP) με ρητές ή σιωπηρές αλληλεπιδράσεις χαρακτηριστικών που ορίζονται από την αρχιτεκτονική του νευρωνικού δικτύου με εκατοντάδες εκατομμύρια εκπαιδεύσιμες παραμέτρους. Αυτό το μοντέλο εκπαιδεύεται σε δισεκατομμύρια διακριτικά και χρησιμοποιείται για τη δημιουργία εκατομμυρίων ενσωματώσεων σε μια ρύθμιση συμπερασμάτων παρτίδας εκτός σύνδεσης. Αυτές οι ενσωματώσεις είναι εισροές σε μια υπηρεσία Amazon επιπέδου 1 που απευθύνεται σε πελάτες.

Η υποδομή για τον αγωγό παραγωγής χρησιμοποιεί Παρτίδα AWS με στρατηγικές ουράς δίκαιης μετοχής, χρησιμοποιώντας ένα σύμπλεγμα πολλαπλών κόμβων trn1.32xlarge με δυνατότητα EFA ως υπολογισμό για εκπαίδευση μοντέλων. Λειτουργικά, ο αγωγός παραγωγής εκτελεί σταδιακή εκπαίδευση μοντέλων, αξιολόγηση εκπαιδευμένου μοντέλου και εξαγωγή συμπερασμάτων παρτίδας εκτός σύνδεσης στο εκπαιδευμένο μοντέλο, όλα χρησιμοποιώντας το PyTorch ως την υποκείμενη βιβλιοθήκη DL.

Στόχοι

Η ικανοποίηση των πελατών μας είναι η κύρια αρχή. Δεδομένης της πελατειακής φύσης του αγωγού, είναι κρίσιμο να τηρούνται όλες οι συμφωνίες σε επίπεδο υπηρεσιών (SLAs) χωρίς παλινδρόμηση. Προσδιορίσαμε δύο κρίσιμα κριτήρια αποδοχής για να προσαρμόσουμε τον υπάρχοντα αγωγό παραγωγής GPU και να τον μεταφέρουμε στο Trainium:

  • Ποιότητα μοντέλου – Η ποιότητα των μοντέλων μας επηρεάζει άμεσα την εμπειρία των πελατών. Απαιτούμε να υπάρχει λιγότερο από 0.1% διαφορά στην ποιότητα του μοντέλου μεταξύ GPU και Trainium.
  • Παροχή εκπαίδευσης – Εκπαιδεύουμε περιοδικά τα μοντέλα μας περιοδικά για να παρέχουμε την πιο φρέσκια εμπειρία στους πελάτες μας. Απαιτούμε να επιτευχθεί η σύγκλιση του μοντέλου μέσα σε μια προκαθορισμένη χρονική περίοδο (όπως 1 εβδομάδα) για να ανταποκριθούμε στις SLA παραγωγής μας.

Στις επόμενες ενότητες, μοιραζόμαστε το ταξίδι μας προς τα πίσω από αυτά τα κριτήρια και τις γνώσεις μας για την υποστήριξη φόρτου εργασίας παραγωγής σε κλίμακα Amazon.

Εκπαιδευτικό σενάριο

Πριν ξεκινήσουμε με την εκπαίδευση μοντέλων, πρέπει να κάνουμε αλλαγές στο σενάριο εκπαίδευσης για να το κάνουμε συμβατό με το XLA. Δεδομένου του μεγέθους του μοντέλου, χρησιμοποιούμε παράλληλα κατανεμημένων δεδομένων (DDP) για να εκπαιδεύσουμε το μοντέλο. Το DDP μας επιτρέπει να αυξήσουμε την απόδοση της εκπαίδευσης μοντέλων αυξάνοντας τον αριθμό των μηχανών που χρησιμοποιούνται για την εκτέλεση της εκπαίδευσης μοντέλων, χωρίς αλλαγές στον κώδικα. Ακολουθήσαμε τις οδηγίες που παρέχονται στο Εκπαιδευτικό σεμινάριο Neuron PyTorch MLP για να προσθέσουμε δομές ειδικά για XLA στα σενάρια εκπαίδευσης μας. Αυτές οι αλλαγές κώδικα είναι εύκολο να εφαρμοστούν. Ακολουθούν ορισμένες σημαντικές τεχνικές γνώσεις από την άσκηση που βελτίωσαν σημαντικά την απόδοση του μοντέλου μας:

  • Τοποθέτηση του xm.mark_step() - xm.mark_step() μεταγλωττίζει και εκτελεί τα γραφήματα υπολογισμού που έχουν συλλεχθεί αργά. Επίκληση mark_step πάρα πολλές φορές θα οδηγήσει σε μεγαλύτερο αριθμό μικρών γραφημάτων, ενώ η επίκλησή του πολύ λίγες φορές θα οδηγήσει σε λίγα, αλλά μεγάλα γραφήματα. Ανάλογα με την αίτησή σας, η απόδοση και η υλοποίηση του μοντέλου εκπαίδευσης σας θα ποικίλλει ανάλογα με την τοποθέτησή σας xm.mark_step(). Η εφαρμογή μας θέτει ένα xm.mark_step() μετά από ένα πέρασμα προς τα εμπρός και προς τα πίσω και ένα μετά το βήμα βελτιστοποίησης.
  • Αναδίπλωση φορτωτή δεδομένων με φορτωτή συσκευής πολλαπλής επεξεργασίας XLA – Αυτό είναι ένα κρίσιμο βήμα που μπορεί εύκολα να χαθεί. Ο φορτωτής συσκευών πολλαπλής επεξεργασίας torch_xla.distributed.parallel_loader.MpDeviceLoader φορτώνει τα δεδομένα εκπαίδευσης σε κάθε συσκευή XLA με επιλογές για προφόρτωση και επικάλυψη της φόρτωσης δεδομένων με τις εκδόσεις συσκευών για τη βελτίωση της απόδοσης. Ο φορτωτής συσκευής καλεί επίσης xm.mark_step() και επομένως είναι σε θέση να δημιουργήσει γραφήματα για τη φόρτωση δεδομένων στη συσκευή από τον κεντρικό υπολογιστή.

Συλλογή για το Trainium

Παραδοσιακά, ο κύκλος ανάπτυξης μοντέλων με GPU περιλαμβάνει την πραγματοποίηση αλλαγών στο μοντέλο ή το σενάριο εκπαίδευσης και την απευθείας εκτέλεση του στη συσκευή GPU. Οι επιταχυντές όπως το Trainium που χρησιμοποιούν XLA απαιτούν ένα πρόσθετο βήμα προτού μπορέσει να εκτελεστεί η εκπαίδευση μοντέλων στο γκάζι. Τα γραφήματα υπολογισμού XLA μπορούν να εκτελεστούν μόνο αφού έχουν μεταγλωττιστεί. Γενικά, υπάρχουν δύο τρόποι για να εκτελέσετε αυτήν τη συλλογή: Ahead of Time (AOT), όπου ανιχνεύετε και μεταγλωττίζετε πρώτα όλα τα γραφήματα και στη συνέχεια τα εκτελείτε ή Just In Time (JIT), όπου τα γραφήματα ανιχνεύονται, μεταγλωττίζονται και εκτελούνται όπως έχουν συναντώνται. Το Neuron SDK παρέχει και τα δύο από το κουτί. Συνήθως, η μεταγλώττιση AOT εκτελείται πρώτα. Στη συνέχεια, τα γραφήματα εκτελούνται μετά από αυτή τη συλλογή. Εάν συναντηθούν νέα γραφήματα, ο χρόνος εκτέλεσης του Neuron καλεί μια συλλογή JIT πριν τα εκτελέσει. Για την εκτέλεση της μεταγλώττισης AOT, το Neuron SDK παρέχει neuron_parallel_compile, ένα βοηθητικό πρόγραμμα μεταγλώττισης που εξάγει γραφήματα από μια δοκιμαστική εκτέλεση του σεναρίου εκπαίδευσης και εκτελεί παράλληλη μεταγλώττιση AOT.

Μια σημαντική πτυχή της συλλογής AOT είναι να διασφαλιστεί ότι δεν δημιουργούνται νέα υπολογιστικά γραφήματα κατά τη διάρκεια της εκπαίδευσης. Μια πηγή νέων υπολογιστικών γραφημάτων (και επομένως επαναμεταγλωττίσεων) είναι τα δυναμικά σχήματα των παρτίδων εκπαίδευσης κατά τη διάρκεια της εκπαίδευσης μοντέλων. Διαπιστώσαμε ότι η χρήση στατικών σχημάτων και παρτίδων σταθερού μεγέθους εξαλείφει τις συλλογές χρόνου εκπαίδευσης και βελτιώνει σημαντικά την απόδοση της εκπαίδευσης χωρίς καμία επίδραση στην ακρίβεια του μοντέλου. Με την επιβολή τέτοιων περιορισμών στην εκπαίδευση, παρατηρήσαμε ότι απαιτούνται μόνο 4-5 βήματα εκπαίδευσης μοντέλου, ένα βήμα επικύρωσης μοντέλου και έλεγχος του μοντέλου μία φορά για τον εντοπισμό όλων των γραφημάτων κατά τη σύνταξη του AOT. Είναι σημαντικό να σημειωθεί ότι το Neuron SDK εξελίσσεται συνεχώς και στο μέλλον θα υποστηρίζει και δυναμικά σχήματα.

Επιπλέον, τα μεταγλωττισμένα γραφήματα αποθηκεύονται στο Neuron Persistent Cache σε δίσκο ή σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος. Αυτό είναι ιδιαίτερα χρήσιμο για φόρτους εργασίας παραγωγής όπου η αρχιτεκτονική του μοντέλου και η διαμόρφωση της εκπαίδευσης δεν αλλάζουν. Επομένως, τα γενικά έξοδα της μεταγλώττισης πραγματοποιούνται μόνο μία φορά. Η χρήση της προσωρινής μνήμης είναι τόσο απλή όσο ο ορισμός μιας σημαίας περιβάλλοντος:

export NEURON_COMPILE_CACHE_URL="s3://BUCKET/KEY"

Ο μεταγλωττιστής Neuron παρέχει επίσης τρία Επιλογές βελτιστοποίησης σε επίπεδο μεταγλωττιστή (O1, O2, O3) για να εξισορροπηθεί ο χρόνος μεταγλώττισης και η απόδοση του μοντέλου. Το O1 επιτρέπει βελτιστοποιήσεις πυρήνα στο υπολογιστικό γράφημα και ελαχιστοποιεί τον χρόνο μεταγλώττισης, το O3 παρέχει βελτιωμένη απόδοση του μοντέλου με κόστος υψηλότερου χρόνου μεταγλώττισης και το O2 (προεπιλεγμένη επιλογή) είναι μια ισορροπία μεταξύ των δύο. Για την περίπτωση χρήσης μας, χρησιμοποιήσαμε τη βελτιστοποίηση O1 και παρατηρήσαμε μείωση 86% στον χρόνο μεταγλώττισης χωρίς αλλαγή στις μετρήσεις ακρίβειας του μοντέλου, ενώ παρατηρήσαμε περίπου 5-7% μείωση της απόδοσης σε σύγκριση με την προεπιλεγμένη βελτιστοποίηση (O2). Ανάλογα με την περίπτωση χρήσης, μπορείτε να επιλέξετε διαφορετικά επίπεδα βελτιστοποίησης.

Συνοψίζοντας, χρησιμοποιήσαμε τις ακόλουθες σημαίες για τη συλλογή:

NEURON_CC_FLAGS="--target trn1 --auto-cast all --auto-cast-type bf16 --model-type transformer --optlevel O1"

Συμβατότητα σημείων ελέγχου

Όταν ολοκληρωθεί με επιτυχία η μεταγλώττιση, μπορούμε να προχωρήσουμε στην εκπαίδευση των μοντέλων μας στο Trainium. Όπως αναφέρθηκε προηγουμένως, εκπαιδεύουμε σταδιακά τα μοντέλα μας, που σημαίνει ότι φορτώνουμε ένα προηγουμένως εκπαιδευμένο σημείο ελέγχου μοντέλων και συνεχίζουμε την εκπαίδευση με νέα δεδομένα. Τα PyTorch και PyTorch XLA επιτρέπουν την απρόσκοπτη μετάβαση μεταξύ επιταχυντών μέσω της διαλειτουργικότητας των σημείων ελέγχου. Έχοντας την ευελιξία της μετακίνησης μεταξύ GPU και Trainium μας επέτρεψε να φορτώσουμε απρόσκοπτα το προηγούμενο μοντέλο GPU και να εκπαιδεύσουμε σε μηχανές Trainium. Αυτό ήταν κρίσιμο για να διασφαλίσουμε ότι μπορούμε να αρχικοποιήσουμε το μοντέλο μας με το καλύτερο προηγουμένως εκπαιδευμένο μοντέλο χωρίς χρόνο διακοπής παραγωγής ή απώλεια στην ακρίβεια του μοντέλου.

Επειδή το μοντέλο GPU αποθηκεύτηκε χρησιμοποιώντας τυπικά βοηθητικά προγράμματα αποθήκευσης μοντέλων PyTorch, μπορέσαμε να χρησιμοποιήσουμε το βοηθητικό πρόγραμμα φόρτωσης σημείου ελέγχου PyTorch για να φορτώσουμε το μοντέλο GPU σε συσκευές Trainium.

Για παράδειγμα, σε GPU/CPU, μπορείτε να αποθηκεύσετε το μοντέλο με τον ακόλουθο κώδικα:

torch.save(model.state_dict(), PATH)

Στη συνέχεια, φορτώνετε το μοντέλο ξανά στο Trainium:

import torch_xla.core.xla_model as xm
xla_device = xm.xla_device()
model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(xla_device)

Ομοίως, μπορείτε να αποθηκεύσετε το μοντέλο στο Trainium με τον ακόλουθο κωδικό:

import torch_xla.core.xla_model as xm
# automatically moves the data to CPU for the master device
xm.save(model.state_dict(), PATH) 

Και φορτώστε ξανά το μοντέλο σε GPU/CPU:

model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(device) # can be any device

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

Λειτουργική σταθερότητα

Δεν μπορεί να τονιστεί αρκετά ότι η εκτέλεση φόρτου εργασίας στην παραγωγή απαιτεί την εκπλήρωση πολλαπλών SLA. Για την περίπτωση χρήσης μας, εκτός από τα SLA ποιότητας μοντέλου και απόδοσης εκπαίδευσης, είναι επιτακτική ανάγκη ο αγωγός παραγωγής να είναι λειτουργικά σταθερός, πράγμα που σημαίνει ελάχιστο χρόνο διακοπής λειτουργίας και διακοπές κατά την εκπαίδευση, την αξιολόγηση και το συμπέρασμα του μοντέλου.

Όπως και με τον υπάρχοντα αγωγό που βασίζεται σε GPU, προσθέσαμε πολλούς μηχανισμούς για να κάνουμε τον αγωγό λειτουργικά σταθερό. Πριν ξεκινήσουμε την εκπαίδευση μοντέλων, εκτελούμε πολλαπλά τεστ υγιεινής για να αξιολογήσουμε την υγεία των μηχανών. Αυτές οι δοκιμές περιλαμβάνουν γενικά απλές λειτουργίες τανυστή για την επαλήθευση της υγείας των συσκευών επιταχυντή. Έχουμε παρατηρήσει ότι για την κατανεμημένη εκπαίδευση, είναι σημαντικό να εκτελούνται δοκιμές για να επαληθεύσουμε τη συλλογική επικοινωνία μεταξύ των περιπτώσεων. Χρησιμοποιήσαμε το Σουίτα δοκιμών NCCOM από το Neuron SDK για να το πετύχετε αυτό, εκτελώντας μια ποικιλία λειτουργιών, όπως all-gather, all-reduce και small-scatter.

Ακόμη και αφού ακολουθήσαμε τις προτάσεις που αναφέραμε, παρατηρήσαμε ότι τα παροδικά ζητήματα είναι αναπόφευκτα σε οποιονδήποτε αγωγό, ανεξάρτητα από τον υποκείμενο επιταχυντή. Για την ενίσχυση της ανθεκτικότητας σε οποιονδήποτε αγωγό εκπαίδευσης, συνιστούμε τη δημιουργία μηχανισμών επανάληψης για την επίλυση αυτών των πιθανών ζητημάτων. Χρησιμοποιούμε Αυτοματοποιημένες επαναλήψεις AWS Batch για να δοκιμάσετε ξανά εργασίες που αντιμετωπίζουν μια παροδική αποτυχία κατά τη διάρκεια της εκπαίδευσης μοντέλων. Αυτές οι επανεκκινήσεις μπορεί να είναι δαπανηρές εάν παρουσιαστεί μια αποτυχία προς το τέλος της προπόνησης. Για να αντιμετωπίσουμε αυτό το πρόβλημα, έχουμε προσαρμόσει τα σενάρια εκπαίδευσης ώστε να φορτώνουν ένα προηγουμένως εκπαιδευμένο σημείο ελέγχου μοντέλων και να συνεχίσουμε την εκπαίδευση από αυτό το σημείο. Με αυτήν τη λειτουργικότητα, είμαστε σε θέση να επανεκκινήσουμε επιθετικά αποτυχημένες εργασίες εκπαίδευσης με ελάχιστη επιβάρυνση.

Με αυτούς τους μηχανισμούς ανθεκτικότητας σε εφαρμογή, μπορέσαμε να επιτύχουμε 98.5% ποσοστά επιτυχίας για τους φόρτους εργασίας μας στο Trn1, συγκρίσιμα με τα υπάρχοντα ποσοστά επιτυχίας του αγωγού GPU.

Αποτελέσματα

Για να επικυρώσουμε την ακρίβεια των μοντέλων μας, αρχικοποιήσαμε δύο μοντέλα από το ίδιο σημείο ελέγχου GPU και εκπαιδεύσαμε το ένα στο Trainium και το άλλο σε μια συγκρίσιμη GPU. Και τα δύο μοντέλα εκπαιδεύτηκαν με τις ίδιες υπερπαραμέτρους εκπαίδευσης. Το σύνολο δεδομένων που χρησιμοποιείται για τον υπολογισμό των μετρήσεων είναι ένα σύνολο δεδομένων και αξιολογούμε την ακρίβεια του μοντέλου σε αυτό το σύνολο δεδομένων κάθε N καθολικά βήματα. Ο άξονας Χ είναι το συνολικό βήμα και ο άξονας Υ είναι η ακρίβεια του μοντέλου. Παρατηρήσαμε λιγότερο από 0.1% διαφορά στην ακρίβεια του μοντέλου σε κάθε σημείο του παρακάτω γραφήματος.

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Επιπλέον, για να αξιολογήσουμε τη σχέση κόστους-αποτελεσματικότητας της εκπαίδευσης του μοντέλου, προτιμούμε να συγκρίνουμε τον χρόνο του ρολογιού τοίχου που απαιτείται για να επιτευχθεί η σύγκλιση του μοντέλου. Πιστεύουμε ότι αυτό παρέχει μια πιο πρακτική άποψη της εξοικονόμησης κόστους σε σύγκριση με μέτρα όπως το κόστος ανά διακριτικό, τα επιτεύγματα FLOPS/δολάριο και άλλοι παράγοντες. Λαμβάνοντας υπόψη τον χρόνο εκπαίδευσης του trn1.32xl και συγκρίσιμο Amazon Elastic Compute Cloud Σε περιπτώσεις (Amazon EC2), έχουμε παρατηρήσει ότι το Trainium προσφέρει έως και 30% φθηνότερο κόστος για τη σύγκλιση μοντέλων.

Συμπέρασμα

Υπάρχουν πολλοί παράγοντες που πρέπει να λάβετε υπόψη κατά την αξιολόγηση διαφορετικών επιταχυντών για τον φόρτο εργασίας σας DL. Μερικά από τα πιο σημαντικά είναι η ποιότητα του μοντέλου, η απόδοση, το κόστος και η διαθεσιμότητα. Είναι σημαντικό να διασφαλίσετε ότι η ποιότητα και η απόδοση του μοντέλου σας δεν θυσιάζονται με βάση τον επιταχυντή που επιλέγετε.

Χάρη στη συνεργασία και τη συνεργασία μας με την ομάδα Annapurna Neuron, η ομάδα Amazon Search M5 κατάφερε να εξοικονομήσει έως και 30% σε κόστος μετακομίζοντας στο Trainium. Η ομάδα είναι σε θέση να χρησιμοποιήσει το Trainium και να επιτύχει την ποιότητα του μοντέλου και την ισότητα απόδοσης με συγκρίσιμους επιταχυντές της αγοράς. Η διαλειτουργικότητα των σημείων ελέγχου και οι ελάχιστες αλλαγές κώδικα με την υποστήριξη του XLA επέτρεψαν στην M5 να επιλέξει μεταξύ πολλών επιταχυντών για τον φόρτο εργασίας της. Αυτό επέτρεψε στην ομάδα του M5 να επωφεληθεί από τη μεγάλη υπολογιστική ισχύ του Trainium και να δημιουργήσει αγνωστικές λύσεις επιταχυντών για να ευχαριστήσει τους πελάτες της Amazon.com. Από επιχειρησιακής σκοπιάς, το Trainium έχει αποδειχθεί ικανό να υποστηρίζει υπηρεσίες επιπέδου 1 σε κλίμακα Amazon. Η ομάδα του M5 συνεχίζει να μεταφέρει περισσότερους φόρτους εργασίας στο Trainium για να παρέχει τα καλύτερα μοντέλα για την Amazon με το χαμηλότερο κόστος.

Συνοψίζοντας, η ομάδα M5 μπόρεσε να εκτελέσει οικονομικά αποδοτική εκπαίδευση ML για την παραγωγή, προσθέτοντας το Trainium στον στόλο των επιταχυντών. Σας ενθαρρύνουμε να ρίξετε μια ματιά στο Trainium και σε άλλες συσκευές Neuron, όπως το AWS Inferentia, για να αποκομίσετε τα οφέλη του πυριτίου Amazon που έχει κατασκευαστεί ειδικά για φόρτους εργασίας ML. Ξεκινήστε εύκολα με ένα από τα πολλά σεμινάρια που περιλαμβάνουν διαφορετικά μοντέλα, όπως π.χ Το Llama 2, διαθέσιμο στο Trainium.


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

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Abhinandan Patni είναι Ανώτερος Μηχανικός Λογισμικού στο Amazon Search. Εστιάζει στην κατασκευή συστημάτων και εργαλείων για κλιμακούμενη κατανεμημένη εκπαίδευση βαθιάς μάθησης και συμπεράσματα σε πραγματικό χρόνο.

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Τζέιμς Παρκ είναι αρχιτέκτονας λύσεων στο Amazon Web Services. Συνεργάζεται με την Amazon.com για το σχεδιασμό, την κατασκευή και την ανάπτυξη τεχνολογικών λύσεων στο AWS και έχει ιδιαίτερο ενδιαφέρον για την τεχνητή νοημοσύνη και τη μηχανική μάθηση. Στον ελεύθερο χρόνο του απολαμβάνει να αναζητά νέους πολιτισμούς, νέες εμπειρίες και να ενημερώνεται για τις τελευταίες τάσεις της τεχνολογίας. Μπορείτε να τον βρείτε LinkedIn.

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Τζέρι Μανίλ είναι μηχανικός λογισμικού στο Amazon Search. Εργάζεται για τη βελτίωση της αποτελεσματικότητας, της ευρωστίας και της επεκτασιμότητας της κατανεμημένης υποδομής εκπαίδευσης.

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Κεν Σου είναι μηχανικός λογισμικού στο Amazon Search. Εργάζεται για τη βελτίωση της αποτελεσματικότητας της εκπαίδευσης και της κλιμακούμενης κατανεμημένης ροής εργασιών εκπαίδευσης. Εκτός δουλειάς, του αρέσει η πεζοπορία και το τένις.

Πώς το Amazon Search M5 εξοικονόμησε 30% για το κόστος εκπαίδευσης LLM χρησιμοποιώντας το AWS Trainium | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.RJ είναι Μηχανικός στην Amazon. Κατασκευάζει και βελτιστοποιεί συστήματα για κατανεμημένα συστήματα για εκπαίδευση και εργάζεται για τη βελτιστοποίηση της υιοθέτησης συστημάτων για τη μείωση του λανθάνοντος χρόνου για το συμπέρασμα ML. Εκτός δουλειάς, εξερευνά τη χρήση Generative AI για την κατασκευή συνταγών τροφίμων.

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

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