Το υλικό που πλέον γράφει προτάσεις και αναγνωρίζει όγκους οφείλει μέρος της πορείας του σε ένα παλαιότερο πρόβλημα: να σχεδιάζει πάρα πολλά pixel πριν ένας gamer αντιληφθεί ότι το σκηνικό άργησε να εμφανιστεί.
Οι GPU έγιναν κεντρικές στη σύγχρονη τεχνητή νοημοσύνη επειδή τα νευρωνικά δίκτυα περιέχουν τεράστιες ποσότητες μαθηματικής εργασίας που μπορούν να διαιρεθούν και να εκτελεστούν παράλληλα. Τα γραφικά απαιτούσαν την ίδια γενική ικανότητα. Στη συνέχεια, το λογισμικό μετέτρεψε έναν εξειδικευμένο επεξεργαστή εικόνας σε προγραμματιζόμενη μηχανή για πίνακες, μοντέλα και δεδομένα.
Πρώτα ήρθαν τα pixel
Ένα σύγχρονο παιχνίδι επεξεργάζεται επανειλημμένα γεωμετρία, υφές, φωτισμό, χρώμα και σκιές σε εκατομμύρια pixel. Μεγάλο μέρος αυτής της εργασίας μπορεί να χωριστεί σε πολλούς παρόμοιους υπολογισμούς. Αντί να ζητά από έναν εξαιρετικά ικανό εργαζόμενο να ζωγραφίσει την οθόνη από αριστερά προς τα δεξιά, το hardware γραφικών οργανώνει ένα τεράστιο εργαστήριο και κρατά πολλούς μικρότερους εργαζομένους απασχολημένους ταυτόχρονα.
Μια CPU είναι σχεδιασμένη διαφορετικά. Ο μικρότερος αριθμός ισχυρών και ευέλικτων πυρήνων της αναλαμβάνει εργασίες του λειτουργικού συστήματος, λογική εφαρμογών, αποφάσεις διακλάδωσης και εργασίες όπου το επόμενο βήμα εξαρτάται από το αποτέλεσμα του προηγούμενου. Καμία αρχιτεκτονική δεν είναι καθολικά ανώτερη. Τόσο μια αίθουσα δικαστηρίου όσο και ένα εργοστάσιο μπισκότων απασχολούν ανθρώπους· αυτό δεν σημαίνει ότι ωφελούνται από το ίδιο πλάνο στελέχωσης.
Έπειτα τα pixel έγιναν τανυστές
Τα νευρωνικά δίκτυα συνδυάζουν επανειλημμένα μεγάλους πίνακες αριθμών, εφαρμόζουν πράξεις και περνούν τα αποτελέσματα μέσα από πολλά επίπεδα. Η εκπαίδευση προσαρμόζει το μοντέλο· η εξαγωγή συμπερασμάτων το χρησιμοποιεί. Η υποκείμενη εργασία μπορεί να είναι εξαιρετικά σύνθετη, όμως μεγάλο μέρος της βαριάς αριθμητικής μπορεί και πάλι να διαιρεθεί σε έναν παράλληλο επεξεργαστή.
Μια CPU μπορεί να εκτελέσει αυτούς τους υπολογισμούς. Το πλεονέκτημα της GPU εμφανίζεται όταν η εργασία περιέχει αρκετή κατάλληλη δουλειά ώστε να κρατά απασχολημένους τους παράλληλους πόρους της. Αυτή είναι η σύνδεση:
- τα γραφικά περιλαμβάνουν συγγενείς υπολογισμούς κατανεμημένους σε pixel, γεωμετρία και δείγματα·
- η τεχνητή νοημοσύνη περιλαμβάνει συγγενείς υπολογισμούς κατανεμημένους σε βάρη μοντέλων, ενεργοποιήσεις και δεδομένα·
- μια GPU είναι κατασκευασμένη ώστε να μεταφέρει μεγάλο παράλληλο φόρτο εργασίας μέσα από το σύστημα.
Η αλλαγή καριέρας έγινε σε τέσσερις πράξεις
- Σταθερό hardware γραφικών: οι πρώιμες GPU επιτάχυναν την εξειδικευμένη εργασία που απαιτούνταν για τη σχεδίαση εικόνων και τρισδιάστατων σκηνών.
- Προγραμματιζόμενοι shader και γενικοί υπολογισμοί: το hardware έγινε αρκετά ευέλικτο ώστε οι προγραμματιστές να εκφράζουν ευρύτερα παράλληλα προβλήματα.
- Πρακτικές πλατφόρμες λογισμικού: συστήματα όπως τα CUDA και ROCm παρείχαν μοντέλα προγραμματισμού, μεταγλωττιστές, βιβλιοθήκες και εργαλεία.
- Βαθιά μάθηση σε κλίμακα: έρευνα όπως το AlexNet το 2012 απέδειξε πώς οι υπολογισμοί GPU μπορούσαν να κάνουν πρακτική την εκπαίδευση ενός μεγάλου δικτύου αναγνώρισης εικόνων.
Ο κύκλος στη συνέχεια ενισχύθηκε από μόνος του. Περισσότεροι ερευνητές χρησιμοποιούσαν υπολογισμούς GPU· το λογισμικό βελτιωνόταν· οι σχεδιαστές chip πρόσθεταν δυνατότητες για λειτουργίες μηχανικής μάθησης· μεγαλύτεροι φόρτοι εργασίας γίνονταν πρακτικοί· η ζήτηση χρηματοδοτούσε άλλη μία γενιά hardware.
Το λογισμικό είναι ο λόγος που ένα γρήγορο chip έγινε χρήσιμο
Η ακατέργαστη παράλληλη αριθμητική δεν αποτελεί χρήσιμο οικοσύστημα. Οι προγραμματιστές χρειάζονται μεταγλωττιστές, περιβάλλοντα εκτέλεσης, εργαλεία ανάλυσης απόδοσης και επιταχυνόμενες βιβλιοθήκες· οι ερευνητές χρειάζονται frameworks που μπορούν να εκφράσουν ένα μοντέλο χωρίς να γράφουν χειροκίνητα κάθε λειτουργία χαμηλού επιπέδου.
Ο Οδηγός προγραμματισμού CUDA της NVIDIA περιγράφει το μοντέλο προγραμματισμού και την πλατφόρμα εκτέλεσής της. Η τεκμηρίωση του ROCm της AMD καλύπτει την αντίστοιχη ανοιχτή στοίβα λογισμικού για υποστηριζόμενο hardware AMD. Η υποστήριξη από τα frameworks εξηγεί γιατί δύο θεωρητικά ικανές GPU μπορεί να έχουν πολύ διαφορετική πρακτική αξία για μία εφαρμογή.
Η VRAM είναι ο χώρος όπου γίνεται η εργασία
Ένα μοντέλο και τα προσωρινά δεδομένα εργασίας του πρέπει να χωρούν στη διαθέσιμη μνήμη. Ανάλογα με την εργασία, σε αυτά περιλαμβάνονται βάρη, prompts, εικόνες, batches και ενδιάμεσα αποτελέσματα. Μια GPU μπορεί θεωρητικά να είναι αρκετά γρήγορη και παρ' όλα αυτά να μην μπορεί να εκτελέσει έναν φόρτο εργασίας, επειδή δεν υπάρχει πού να τοποθετηθεί.
Αυτό δημιουργεί μια ιδιαιτερότητα στο μεταχειρισμένο hardware: μια παλαιότερη επαγγελματική κάρτα με περισσότερη μνήμη μπορεί να παραμένει χρήσιμη για ένα μοντέλο που δεν χωρά σε μια νεότερη και ταχύτερη gaming κάρτα. Ισχύει και το αντίστροφο. Αν το λογισμικό που προορίζεται να χρησιμοποιήσετε απαιτεί λίγη μνήμη και επωφελείται από νεότερες υπολογιστικές δυνατότητες, η αγορά χωρητικότητας που δεν θα χρησιμοποιήσει ποτέ είναι ένας ακριβός τρόπος για να θαυμάζετε μια προδιαγραφή.
Σημασία έχει και το bandwidth μνήμης. Χιλιάδες παράλληλοι εργαζόμενοι δεν είναι παραγωγικοί όταν τα δεδομένα φτάνουν σε αυτούς μέσω γραμματοκιβωτίου.
Χρειάζεται κάθε εργασία τεχνητής νοημοσύνης GPU;
Όχι. Τα μικρά μοντέλα μπορούν να εκτελεστούν σε CPU. Τα τηλέφωνα και οι νεότεροι υπολογιστές περιλαμβάνουν ολοένα και περισσότερο NPU, σχεδιασμένες να εκτελούν αποτελεσματικά υποστηριζόμενες νευρωνικές λειτουργίες. Μεγάλοι πάροχοι κατασκευάζουν επίσης επιταχυντές ειδικού σκοπού, όπως τις Tensor Processing Units της Google.
Η GPU παραμένει σημαντική επειδή συνδυάζει υψηλή παράλληλη απόδοση, προγραμματισιμότητα, τοπική μνήμη και ώριμα εργαλεία. Αυτός ο συνδυασμός ταιριάζει σε πολλές εργασίες, χωρίς να αποτελεί τη σωστή απάντηση για κάθε εργασία που περιέχει τα γράμματα Τ και Ν.
Μια gaming GPU μπορεί να εκτελέσει εργασίες τεχνητής νοημοσύνης - όταν συμφωνεί το λογισμικό
Κατάλληλες gaming κάρτες μπορούν να αναλάβουν τοπικά δημιουργία εικόνων, απομαγνητοφώνηση, αναβάθμιση ανάλυσης και μικρότερα γλωσσικά μοντέλα. Ελέγξτε τη συγκεκριμένη εφαρμογή αντί για έναν γενικό ισχυρισμό περί «έτοιμης για AI»:
- Υποστηρίζονται η GPU και το λειτουργικό σύστημα;
- Πόση VRAM χρειάζονται το επιλεγμένο μοντέλο και το batch;
- Ποιες αριθμητικές μορφές και διαδρομές επιτάχυνσης είναι διαθέσιμες;
- Μπορούν το PSU, το κουτί και η ψύξη να υποστηρίξουν την κάρτα;
- Αξίζει πράγματι η αναμενόμενη ταχύτητα την αγορά hardware;
Ένα πρακτικό παράδειγμα: απομαγνητοφώνηση μιας συνέντευξης
Ας υποθέσουμε ότι θέλετε να μετατρέψετε ηχογραφήσεις σε κείμενο χωρίς να τις ανεβάσετε κάπου. Επιλέγετε μια εφαρμογή απομαγνητοφώνησης, μέγεθος μοντέλου, αποδεκτή ακρίβεια και χρόνο ολοκλήρωσης - όχι απλώς μια «κάρτα γραφικών για AI». Το αποθετήριο Whisper παρέχει κατά προσέγγιση απαιτήσεις μνήμης για τα μεγέθη των μοντέλων του, οι οποίες αποτελούν αφετηρία για τη συγκεκριμένη υλοποίηση και όχι καθολική υπόσχεση για κάθε εφαρμογή που βασίζεται σε αυτή.
Ένα μεγαλύτερο μοντέλο μπορεί να χρειάζεται περισσότερη μνήμη. Ένα μικρότερο μπορεί ήδη να ολοκληρώνει την εργασία με αρκετή ακρίβεια. Αν η CPU επεξεργάζεται μια περιστασιακή ηχογράφηση πριν τη χρειαστείτε, μια νέα GPU θα έλυνε ένα πρόβλημα προγραμματισμού που δεν υπάρχει.
Το χρήσιμο ιστορικό ατύχημα
Το πρώιμο hardware γραφικών δεν σχεδιάστηκε με τα σύγχρονα γλωσσικά μοντέλα κατά νου. Έγινε χρήσιμο επειδή η αρχιτεκτονική που κατασκευάστηκε για να σχεδιάζει pixel ταίριαζε επίσης σε μεγάλο μέρος των παράλληλων μαθηματικών πίσω από τα νευρωνικά δίκτυα. Το προγραμματιζόμενο λογισμικό άνοιξε αυτό το τυχαίο ταίριασμα καταλληλότητας σε επιστήμονες και προγραμματιστές· δεκαετίες ζήτησης για γραφικά συνέχισαν να βελτιώνουν τη μηχανή.
Οι GPU δεν τροφοδότησαν την έκρηξη της τεχνητής νοημοσύνης απλώς επειδή ήταν γρήγορες. Ήταν παράλληλες, προγραμματιζόμενες και περιβάλλονταν από λογισμικό ικανό να μετατρέψει αυτή τη δομή σε χρήσιμη εργασία.
Δείτε τις GPU τεχνητής νοημοσύνης και μηχανικής μάθησης που διαχειρίζεται η GPUsed, διαβάστε τι κάνει μια NPU ή συγκρίνετε τη χωρητικότητα VRAM και τους περιορισμούς της. Αν το ερώτημα αφορά αγορά, ξεκινήστε από τον φόρτο εργασίας, όχι από το μεγαλύτερο όνομα μοντέλου.