Εκπαιδεύουμε συνεχώς γλωσσικά μοντέλα για τη δουλειά μας. Η ομάδα μας χρησιμοποιεί δεκάδες διαφορετικές κάρτες βίντεο που έχουν επιλεγεί για διαφορετικές εργασίες: κάπου χρειαζόμαστε έναν ισχυρό σταθμό DGX και κάπου αρκεί μια παλιά κάρτα gaming όπως το RTX 2080Ti. Η επιλογή της βέλτιστης GPU για εκπαίδευση μοντέλου μπορεί να επηρεάσει σημαντικά τόσο την ταχύτητα όσο και τη σχέση κόστους-αποτελεσματικότητας της διαδικασίας.
Αυτό που είναι ενδιαφέρον είναι ότι υπάρχουν αρκετά άρθρα στο διαδίκτυο με σύγκριση GPU για μηχανική μάθηση, αλλά πολύ λίγα επικεντρώνονται στην ταχύτητα για εκπαίδευση γλωσσικών μοντέλων. Κυρίως βρίσκονται μόνο τεστ συμπερασμάτων. Όταν κυκλοφόρησε το νέο τσιπ H100, η έκθεση της NVidia ανέφερε ότι ήταν έως και εννέα φορές ταχύτερο από το A100 στην προπόνηση, αλλά για τις εργασίες μας, η νέα κάρτα ήταν μόνο 90% ταχύτερη από την παλιά. Συγκριτικά, οι πάροχοι cloud μας είχαν διαφορά τιμής 2 φορές μεταξύ αυτών των GPU, επομένως δεν είχε νόημα η μετάβαση στο νέο H100 για εξοικονόμηση χρημάτων.
Επιπλέον, κάναμε για δοκιμή έναν σταθμό DGX, ο οποίος αποτελείται από 8 κάρτες γραφικών A100 80 GB και κοστίζει 10 χιλιάδες δολάρια το μήνα. Μετά τη δοκιμή, έγινε σαφές ότι η αναλογία τιμής/απόδοσης αυτού του σταθμού δεν μας ταιριάζει καθόλου και για αυτά τα χρήματα, μπορούμε να πάρουμε 66 x RTX 3090, το οποίο συνολικά θα είναι πολύ πιο χρήσιμο.
Τα μοντέλα της μεταφραστικής μας γλώσσας έχουν έως και 500 εκατομμύρια παραμέτρους (100 εκατομμύρια έως 300 εκατομμύρια κατά μέσο όρο). Είναι πιθανό ότι εάν αυξήσουμε σημαντικά τον αριθμό των παραμέτρων, ο λόγος τιμής/απόδοσης του DGX θα είναι καλύτερος. Επί του παρόντος, δεν εκπαιδεύουμε μεγάλα γλωσσικά μοντέλα που μπορούν να μεταφράσουν μεταξύ όλων των γλωσσών σε όλες τις παραλλαγές ταυτόχρονα, αλλά χρησιμοποιούν ξεχωριστά γλωσσικά μοντέλα για κάθε ζεύγος γλωσσών,. Αγγλο-γερμανικά. Κάθε ένα από αυτά τα μοντέλα διαρκεί από 120 έως 300 Mb.
Αξίζει να σημειωθεί ότι διαφορετικές γλώσσες έχουν διαφορετικές ποσότητες δεδομένων στο Διαδίκτυο, και ενώ. Για παράδειγμα, για τα ισπανικά, μπορείτε να βρείτε 500 εκατομμύρια προτάσεις με μεταφράσεις, αλλά όταν εκπαιδεύετε μοντέλα για πιο σπάνιες γλώσσες όπως τα Θιβετιανά, πρέπει να επιλέξετε μια συγκεκριμένη GPU για εργασίες μηχανικής εκμάθησης με βάση τα διαθέσιμα δεδομένα. Για να δημιουργήσουμε ένα μοντέλο μετάφρασης από τα αγγλικά στα ισπανικά, χρησιμοποιούμε έναν διακομιστή με 4 x RTX 4500 και 256 GB RAM. Ταυτόχρονα, η θιβετιανή γλώσσα μπορεί να εκπαιδευτεί στο RTX 2080 Ti με 16 GB RAM, καθώς δεν έχει νόημα να αυξηθεί η πολυπλοκότητα του νευρωνικού δικτύου και, ως εκ τούτου, να ληφθεί ένας πιο ισχυρός διακομιστής με μικρό όγκο δεδομένων.
Επιλογή επεξεργαστών γραφικών και θεωρητικών σχημάτων
Η εκπαίδευση μοντέλων γλώσσας πραγματοποιήθηκε στην εσωτερική μας πλατφόρμα Data Studio χρησιμοποιώντας το πλαίσιο OpenNMT-tf. Αυτή η φάση περιελάμβανε προετοιμασία δεδομένων, εκπαίδευση μοντέλων και σύγκριση μοντέλων με μετάφραση αναφοράς. Η χρήση του FP16 αντί του FP32 κατά τη διάρκεια της εκπαίδευσης μας επέτρεψε να μειώσουμε σημαντικά τον χρόνο εκπαίδευσης των γλωσσικών μοντέλων χωρίς να υποβαθμίσουμε την ποιότητα της μετάφρασης, αλλά δεν το υποστήριξαν όλες οι GPU μας.
Όταν επιλέγετε έναν επεξεργαστή γραφικών, είναι στάνταρ να λαμβάνετε υπόψη μετρήσεις όπως η ισχύς επεξεργασίας (TFLOPS), η μνήμη βίντεο (VRAM), τα αποτελέσματα αναφοράς GPU, η υποστήριξη βιβλιοθήκης και πλαισίου, ο προϋπολογισμός και άλλοι παράγοντες (μέγεθος και συντελεστής μορφής κάρτας γραφικών, απαιτήσεις ισχύος, ψύξη και συμβατότητα με το σύστημά σ Κατά την εκπαίδευση μοντέλων δημιουργίας κειμένου, θα πρέπει επίσης να έχετε κατά νου ότι διαφορετικές γλώσσες θα καταναλώνουν διαφορετικές ποσότητες πόρων. Για παράδειγμα, 1 byte χρησιμοποιείται για την κωδικοποίηση ενός χαρακτήρα για τις λατινικές γλώσσες, 2 byte για τις κυριλλικές γλώσσες και 3 byte για γλώσσες που περιέχουν ιερογλυφικά. Η κατανόηση των χαρακτηριστικών που θα έχει η κάρτα γραφικών σας έχει σημαντικό αντίκτυπο στην ταχύτητα της μαθησιακής διαδικασίας.
Κατά την εκπαίδευση των μοντέλων όσον αφορά τις GPU που χρησιμοποιήθηκαν, οι κάρτες βίντεο χωρίστηκαν σε δύο ομάδες ανάλογα με την περίοδο χρήσης: πρώιμες κάρτες βίντεο, οι οποίες χρησιμοποιήθηκαν για να γίνουν οι πρώτες μετρήσεις της ταχύτητας εκμάθησης και κάρτες που χρησιμοποιούνται αυτήν τη στιγμή. Τα κύρια χαρακτηριστικά αυτών των καρτών γραφικών βρίσκονται στον Πίνακα 1 και στον Πίνακα 2, αντίστοιχα.
Πίνακας 1 - Επεξεργαστές γραφικών που χρησιμοποιήθηκαν στο παρελθόν και οι τεχνικές τους παράμετροι
Number of GPUs | GPU | VRAM, G | CUDA | FP16, TFLOPS | FP32, TFLOPS |
---|---|---|---|---|---|
1 | Tesla V100-SXM2 | HBM2, 16 | 7.0 | 31.33 | 16.31 |
2 | Tesla V100-SXM2 | HBM2, 32 | 7.0 | 31.33 | 15.67 |
1 | RTX 4060 Ti | GDDR6, 8 | 8.9 | 22.06 | 22.06 |
1 | Nvidia A40 | GDDR6, 48 | 8.6 | 37.42 | 37.42 |
2 | Nvidia A40 | GDDR6, 96 | 8.6 | 37.42 | 37.42 |
1 | Nvidia A100 | HBM2, 40 | 8.0 | 77.97 | 19.49 |
1 | Nvidia A100 | HBM2, 80 | 8.0 | 77.97 | 19.49 |
1 | Nvidia RTX A6000 | GDDR6, 48 | 8.6 | 38.71 | 38.71 |
1 | Nvidia A10 | GDDR6, 24 | 8.6 | 31.24 | 31.24 |
8 | Nvidia A10 | GDDR6, 192 | 8.6 | 31.24 | 31.24 |
1 | Nvidia H100 | HBM3, 80 | 9.0 | 204.9 | 51.22 |
Σημειώσεις
1. Με CUDA μεγαλύτερο από 7, 0, η χρήση του FP16 θα δώσει ώθηση στην ταχύτητα προπόνησης, ανάλογα με την έκδοση CUDA και τα χαρακτηριστικά της ίδιας της κάρτας γραφικών.
2. Εάν η προδιαγραφή της κάρτας γραφικών υποδεικνύει ότι η αναλογία απόδοσης FP16 προς FP32 είναι μεγαλύτερη από 1 προς 1, τότε η χρήση μικτής ακρίβειας θα είναι εγγυημένη ότι θα αυξήσει την ταχύτητα εκπαίδευσης κατά το ποσό που καθορίζεται στην προδιαγραφή. Για παράδειγμα, για το Quadro RTX 6000 η τιμή FP16 TFLOPS 32, 62 (2:1) θα επιταχύνει την προπόνηση κατά τουλάχιστον δύο φορές (2, 4 φορές στην πράξη)
Πίνακας 2 - Μοντέλα GPU που χρησιμοποιούνται σήμερα και τα κύρια χαρακτηριστικά τους
Number of GPUs in use | GPU | VRAM, G | CUDA | FP16, TFLOPS | FP32, TFLOPS |
---|---|---|---|---|---|
1 | Quadro RTX 6000 | GDDR6, 24 | 7.5 | 32.62 | 16.31 |
2 | Quadro RTX 6000 | GDDR6, 48 | 7.5 | 32.62 | 16.31 |
4 | Quadro RTX 6000 | GDDR6, 96 | 7.5 | 32.62 | 16.31 |
2 | Nvidia TITAN RTX | GDDR6, 48 | 7.5 | 32.62 | 16.31 |
4 | Nvidia RTX A4500 | GDDR6, 96 | 8.6 | 23.65 | 23.65 |
1 | Nvidia GeForce RTX 3090 | GDDR6X, 24 | 8.6 | 35.58 | 35.58 |
1 | Nvidia GeForce RTX 3070 | GDDR6, 8 | 8.6 | 20.31 | 20.31 |
* - οι τιμές για FP16, TFLOPS και FP32,TFLOPS λαμβάνονται από τις προδιαγραφές ανά GPU
Διαδικασία εκπαίδευσης και δοκιμών GPU
Τα μοντέλα εκπαιδεύτηκαν χρησιμοποιώντας ένα σύνολο 18 GPU. Στη διαδικασία της εκπαίδευσης νευρωνικών δικτύων, χρησιμοποιήσαμε πολυάριθμα ζεύγη γλωσσών (περισσότερες από εκατό γλώσσες). Οι δοκιμές GPU βοήθησαν στον εντοπισμό του υλικού που αποδίδει καλύτερα για συγκεκριμένες εργασίες. Κατά τη διάρκεια της εκπαίδευσης των γλωσσικών μας ζευγών, ελήφθησαν ως βάση οι ακόλουθες παράμετροι νευρωνικών δικτύων:
- μέγεθος φωνής = 30 000
- numunits = 768
- στρώματα = 6
- κεφάλια = 16
- εσωτερική διάσταση = 4 096
Πρώτον, ας χαρακτηρίσουμε τις GPU που ανήκαν στην πρώτη ομάδα με βάση τον Πίνακα 1. Ως βάση για τη σύγκριση των δεικτών θα ληφθεί ο χρόνος σε λεπτά και δευτερόλεπτα που αφιερώθηκε στην εκπαίδευση του μοντέλου με ταχύτητα περίπου 1.000 βημάτων και πολλαπλάσιο μέγεθος παρτίδας 100.000 μονάδων.
Τονίζουμε ότι για την πρώτη ομάδα πραγματοποιήθηκαν οι μετρήσεις ταχύτητας με τη χρήση του ευθυγράμμιση μηχανισμός και μόνο με τη χρήση ΠΠ32. Χωρίς τη χρήση αυτού του μηχανισμού, η ταχύτητα εκμάθησης σε ορισμένους διακομιστές μπορεί να είναι πολύ πιο γρήγορη.
Ο μηχανισμός ευθυγράμμισης επιτρέπει την αντιστοίχιση υποσυμβολοσειρών στη βάση και στο μεταφρασμένο κείμενο. Απαιτείται η μετάφραση μορφοποιημένου κειμένου, όπως ιστοσελίδες, όταν μια υποσυμβολοσειρά σε μια πρόταση μπορεί να επισημανθεί με διαφορετική γραμματοσειρά και θα πρέπει να μεταφραστεί με την επισήμανση.
Λαμβάνοντας υπόψη τις προαναφερθείσες παραμέτρους του νευρωνικού δικτύου, τον καλύτερο χρόνο από τον πρώτο πίνακα έδειξε η GPU Nvidia H100 με χρόνο εκμάθησης 22 λεπτών, και ο ενδιάμεσος χρόνος εμφανίστηκε από την GPU της ίδιας μάρκας GeForce RTX 4060 Ti με χρόνο εκμάθησης 72 λεπτά και την τελευταία θέση πήρε η GPU Tesla V100-SXM 2 με χρόνο εκμάθησης 140 λεπτά.
Υπήρχαν επίσης οκτώ κάρτες Nvidia A10 στο τεστ GPU με καμπύλη εκμάθησης 20 λεπτών και 28 δευτερολέπτων, δύο κάρτες Nvidia A40 με χρόνο 56 λεπτών και δύο κάρτες Tesla V100-SXM που χρονίζουν στα 86 λεπτά. Η ταυτόχρονη εφαρμογή πολλαπλών καρτών της ίδιας σειράς GPU μπορεί να επιταχύνει τη διαδικασία εκπαίδευσης των μοντέλων και να εμφανιστεί σχεδόν ταυτόχρονα με GPU που έχουν υψηλότερες χωρητικότητες, αλλά μια τέτοια τεχνική μπορεί να μην είναι αρκετά ορθολογική οικονομικά και διαδικαστικά. Τα αποτελέσματα των μετρήσεων ταχύτητας μάθησης μπορούν να παρατηρηθούν στον Πίνακα αριθμό 3.
Πίνακας 3 - Μετρήσεις χρόνου εκπαίδευσης στους προηγουμένως χρησιμοποιημένους γραφικούς χάρτες
Using the alignment mechanism | |||
---|---|---|---|
Effective batch size = 100 000 | |||
FP 32 | |||
Number of GPUs in use | GPU | Approximate speed (min. sec), 1,000 steps | Batch size in use |
8 | Nvidia A10 | 20,28 | 6 250 |
1 | Nvidia H100 | 22 | 25 000 |
1 | A100 (80 Gb) | 40 | 25 000 |
1 | A100 (40 Gb) | 56 | 15 000 |
2 | Nvidia A40 | 56 | 12 500 |
1 | RTX A6000 | 68,25 | 12 500 |
1 | GeForce RTX 4060 Ti | 72 | 4 167 |
1 | Nvidia A40 | 82,08 | 12 500 |
2 | Tesla V100-SXM | 86 | 4 167 |
1 | Nvidia A10 | 104,50 | 5 000 |
1 | Tesla V100-SXM2 | 140 | 4 167 |
Στη συνέχεια, ας πραγματοποιήσουμε μια συγκριτική ανάλυση των πεντάλ αερίου γραφικών που χρησιμοποιούνται αυτήν τη στιγμή (Πίνακας 2). Για αυτήν την ομάδα επεξεργαστών γραφικών, πραγματοποιήθηκαν μετρήσεις ταχύτητας χρησιμοποιώντας το ευθυγράμμιση μηχανισμός, καθώς και χρήση του ΠΠ16 και του ΠΠ32. Οι μετρήσεις ταχύτητας συμπεριλαμβανομένου αυτού του μηχανισμού και της μικτής ακρίβειας θα παρουσιαστούν παρακάτω στους Πίνακες 4 και 5 αντίστοιχα.
Έτσι, έχοντας μετρήσει την ταχύτητα των GPU από αυτόν τον πίνακα, μπορούμε να πούμε ότι την πρώτη θέση κατέλαβε η GPU της σειράς RTX A4500 με χρόνο εκπαίδευσης 31 λεπτά, αλλά πρέπει να τονιστεί ότι μια τέτοια ταχύτητα μοντέλων εκπαίδευσης επιτεύχθηκε αυξάνοντας τον αριθμό των μονάδων της χρησιμοποιούμενης GPU έως και 4. Παραβλέποντας αυτό το γεγονός, η ταχύτητα εκπαίδευσης της προαναφερθείσας GPU θα είναι πολύ μεγαλύτερη, γεγονός που θα την τοποθετήσει στην προτελευταία θέση του τελικού πίνακα.
Η GPU της σειράς Quadro RTX 6000 με χρόνο εκμάθησης 47 λεπτών βρίσκεται στη δεύτερη θέση. Θα πρέπει να σημειωθεί ότι μια τέτοια ταχύτητα εκπαίδευσης εξαρτάται αντιστρόφως από τον αριθμό των μονάδων του χρησιμοποιούμενου επεξεργαστή, ο οποίος είναι ίσος με τέσσερις. Η χρήση μόνο μιας τέτοιας GPU θα έδινε απώλεια ταχύτητας περίπου 3, 2 φορές και κατά συνέπεια θα ήταν περίπου 153 λεπτά και θα την τοποθετούσε στην τελευταία θέση.
Την τρίτη γραμμή πήρε η GPU της σειράς TITAN RTX με χρόνο 75 λεπτά και 85 δευτερόλεπτα. Αυτή η βαθμολογία ταχύτητας μάθησης οφείλεται στη χρήση 2 επεξεργαστών, οι οποίοι μείωσαν τον χρόνο εκπαίδευσης του μοντέλου.
Ο αδιαμφισβήτητος ηγέτης όσον αφορά την ταχύτητα προπόνησης στον αριθμό μιας μονάδας θα είναι σίγουρα η GPU της σειράς GeForce RTX 3090 με χρόνο 78 λεπτά και 26 δευτερόλεπτα. Η αύξηση του αριθμού των μονάδων αυτής της GPU θα επιταχύνει την ταχύτητα εκπαίδευσης του μοντέλου, η οποία θα ξεπεράσει σαφώς όλα τα προαναφερθέντα μοντέλα GPU. Τα δεδομένα για τις μετρήσεις του χρόνου εκπαίδευσης του μοντέλου φαίνονται στον Πίνακα 4.
Πίνακας 4 - Συγκριτική ανάλυση της ταχύτητας εκπαίδευσης γλωσσικών μοντέλων σε GPU που χρησιμοποιήθηκαν προηγουμένως
Using the alignment mechanism | |||
---|---|---|---|
Effective batch size = 100 000 | |||
FP 32 | |||
Number of GPUs in use | GPU | Approximate speed (min. sec), 1,000 steps | Batch size in use |
4 | Nvidia RTX A4500 | 31 | 5 000 |
4 | Quadro RTX 6000 | 47 | 6 250 |
2 | Nvidia TITAN RTX | 75,85 | 6 250 |
1 | GeForce RTX 3090 | 78,26 | 6 250 |
2 | Quadro RTX 6000 | 88 | 6 250 |
1 | GeForce RTX 3070 | 104,17 | 2 000 |
1 | Quadro RTX 6000 | 153 | 6 250 |
Οι ακόλουθες μετρήσεις ταχύτητας εκπαίδευσης πραγματοποιήθηκαν χρησιμοποιώντας το FP16. Σε σύγκριση με το FP32, η μισή ακρίβεια επιτρέπει τη μείωση της ποσότητας μνήμης που καταναλώνεται κατά την εκπαίδευση του μοντέλου και την επιτάχυνση του υπολογισμού στη GPU. Η ακρίβεια της αναπαράστασης θα είναι χαμηλότερη από ό, τι με τη χρήση του FP32.
Μετρώντας τον χρόνο εκπαίδευσης των μοντέλων που χρησιμοποιούν FP32 από τον προηγούμενο πίνακα, μπορούμε να πούμε ότι ο χρόνος εκπαίδευσης του νευρωνικού δικτύου μειώθηκε σχεδόν δύο φορές. Με βάση τα αποτελέσματα της μέτρησης απόδοσης, μπορούμε να παρατηρήσουμε από τα σημεία αναφοράς GPU μηχανικής μάθησης στον Πίνακα 4 ότι οι θέσεις των GPU παρέμειναν σε μεγάλο βαθμό αμετάβλητες. Η κάρτα της σειράς Quadro RTX 6000 ανέβηκε από την πέμπτη θέση στην έκτη, νικώντας την GeForce RTX 3090 GPU κατά 96 δευτερόλεπτα. Οι τελικοί αριθμοί φαίνονται στον Πίνακα 5.
Πίνακας 5 - Συγκριτική ανάλυση της ταχύτητας εκπαίδευσης γλωσσικών μοντέλων σε GPU που χρησιμοποιήθηκαν προηγουμένως
Using the alignment mechanism | |||
---|---|---|---|
Effective batch size = 100 000 | |||
FP 16 | |||
Number of GPUs in use | GPU | Approximate speed (min. sec), 1,000 steps | Batch size in use |
4 | Nvidia RTX A4500 | 15,81 | 10 000 |
4 | Quadro RTX 6000 | 20,34 | 12 500 |
2 | Nvidia TITAN RTX | 32,68 | 6 250 |
2 | Quadro RTX 6000 | 37,93 | 10 000 |
1 | GeForce RTX 3090 | 38,89 | 10 000 |
1 | GeForce RTX 3070 | 48,51 | 2 500 |
1 | Quadro RTX 6000 | 52,56 | 10 000 |