Η Nvidia μας πουλούσε τόσα χρόνια κάρτες γραφικών με χειρόφρενο για χρήση ΑΙ. Διπλασίασε την απόδοση της κάρτας σου με ένα USB stick σε Windows!
- Published
- Last viewed
- Reading time
- 5.0 min
- Words
- 990
Αγοράζεις μια πανάκριβη κάρτα γραφικών, την εγκαθιστάς στον υπολογιστή σου, κατεβάζεις τους τελευταίους drivers και απολαμβάνεις τις επιδόσεις για τις οποίες πλήρωσες. Ή τουλάχιστον έτσι νομίζεις.
Γιατί, όπως αποδεικνύεται, ορισμένες κάρτες της Nvidia διαθέτουν υπολογιστική ισχύ την οποία η ίδια η εταιρεία έχει φροντίσει να περιορίσει. Όχι επειδή το hardware δεν μπορεί να αποδώσει περισσότερο, αλλά επειδή υπάρχει ένας περιορισμός στον τρόπο λειτουργίας του. Το γράφω εδώ και καιρό. Δεν θέλουν να έχουμε δικό μας τοπικό ΑΙ ακόμα και αν ισχυρίζονται το αντίθετο.
Μια ομάδα προγραμματιστών κατάφερε να παρακάμψει αυτόν τον περιορισμό και, το καλύτερο, δημιούργησε ένα open-source εργαλείο που κάνει τη διαδικασία διαθέσιμη και στους χρήστες των Windows. Χρειάζεται ένα USB stick, μερικά αρχεία και αρκετή διάθεση για πειραματισμό. Το αποτέλεσμα; Σε συγκεκριμένες υπολογιστικές εργασίες τεχνητής νοημοσύνης, οι επιδόσεις μπορούν να αυξηθούν εντυπωσιακά, χωρίς να αλλάξει ούτε ένα τρανζίστορ.
Καταλάβατε τι έκανε ο Τζένσεν Χουάνγκ στα διαλείμματα ανάμεσα στις ερωτικές συνευρέσεις με Κινέζες πράκτορες που ερωτεύτηκαν το θεληματικό του πηγούνι κεραυνοβόλα; Φρόντιζε να μας πουλάει κάρτες γραφικών για χιλιάδες ευρώ με χειρόφρενο ώστε να αποδίδουν περίπου το μισό με ένα απλό κλείδωμα στο λογισμικό.
Η μισή ισχύς ήταν εκεί από την αρχή
Οι κάρτες GeForce RTX διαθέτουν ειδικές μονάδες επεξεργασίας, τα γνωστά Tensor Cores, σχεδιασμένες για μαθηματικές πράξεις που χρησιμοποιούνται εκτεταμένα στην τεχνητή νοημοσύνη. Είναι αυτές που επιταχύνουν λειτουργίες όπως η επεξεργασία νευρωνικών δικτύων, η παραγωγή εικόνων και αρκετές από τις υπολογιστικές διαδικασίες πίσω από τα σύγχρονα AI models.
Το ενδιαφέρον είναι ότι στις καταναλωτικές GeForce η Nvidia εφαρμόζει έναν περιορισμό στον ρυθμό εκτέλεσης ορισμένων πράξεων των Tensor Cores, ιδιαίτερα σε υπολογισμούς FP16 και BF16 με συσσώρευση FP32. Πρόκειται για τύπους μαθηματικών πράξεων που χρησιμοποιούνται σε πολλές εφαρμογές machine learning.
Με απλά λόγια, το hardware διαθέτει τη δυνατότητα να εκτελεί περισσότερες πράξεις, αλλά ένας μηχανισμός ελέγχου περιορίζει τον ρυθμό με τον οποίο τις εκτελεί.
Γιατί υπάρχει αυτός ο περιορισμός; Η Nvidia διαθέτει διαφορετικές οικογένειες καρτών για κοινούς χρήστες (Gamers, Home Users) και εταιρικούς πελάτες όπως τα αγαπημένα μας Data Centers. Ο διαχωρισμός των προϊόντων μέσω χαρακτηριστικών και επιδόσεων είναι μια παλιά πρακτική της βιομηχανίας.
Εδώ όμως τα πράγματα είναι πολύ πιο απλά και πολύ πιο σκοτεινά. Πουλούσε το ίδιο ακριβώς ολοκληρωμένο στον Home User με ενεργοποιημένο το χειρόφρενο στο 50% και στον εταιρικό πελάτη ξεκλείδωτο!
Το nv-uefi-unlocker μπαίνει πριν από τα Windows
Το εργαλείο ονομάζεται nv-uefi-unlocker και φιλοξενείται στο GitHub. Δεν πρόκειται για κάποιο πρόγραμμα overclocking ούτε για ένα ακόμη utility που υπόσχεται θαύματα πατώντας ένα κουμπί.
Λειτουργεί σε πολύ χαμηλότερο επίπεδο, χρησιμοποιώντας το UEFI του υπολογιστή. Εκκινεί από ένα USB stick πριν φορτωθεί το λειτουργικό σύστημα και πριν ενεργοποιηθεί ο driver της Nvidia. Σε εκείνο το στάδιο αξιοποιεί μια γνωστή αδυναμία στον μηχανισμό firmware της GPU, ώστε να τροποποιήσει δύο καταχωρητές που επηρεάζουν τον ρυθμό λειτουργίας των Tensor Cores.
Κοινώς ξεκλειδώνει το κλείδωμα του συμπαθέστατου μπήχτη Τζένσεν Χουάνγκ.
Το εντυπωσιακό είναι ότι δεν χρειάζεται να ξαναγράψει το VBIOS της κάρτας ούτε να τροποποιήσει τον κανονικό driver. Αφού ολοκληρωθεί η διαδικασία, ο υπολογιστής συνεχίζει να εκκινεί στα Windows ή στο Linux και η κάρτα μπορεί να λειτουργήσει με τον περιορισμό απενεργοποιημένο.
Υπάρχει όμως μια σημαντική λεπτομέρεια. Η αλλαγή δεν είναι μόνιμη. Αν διακοπεί η τροφοδοσία της GPU, οι σχετικές ρυθμίσεις επιστρέφουν στην εργοστασιακή τους κατάσταση. Επομένως, χρειάζεται επανάληψη της διαδικασίας στις εκκινήσεις όπου θέλεις να διατηρήσεις το unlock.
Πράγμα καλό γιατί δεν μπορείς να κάνεις μόνιμη ζημιά με τα πειράματά σου.
Τα αποτελέσματα δεν είναι καθόλου αστεία
Σύμφωνα με τις μετρήσεις που δημοσιεύθηκαν από τον δημιουργό και χρήστες του εργαλείου, οι βελτιώσεις σε συγκεκριμένα Tensor benchmarks είναι ιδιαίτερα μεγάλες.
Κάρτα γραφικών | Πριν | Μετά | Αύξηση |
|---|---|---|---|
RTX 2070 | 36 TFLOPS | 60–63 TFLOPS | 67–75% |
RTX 3060 12GB | 25,37 TFLOPS | 45,79 TFLOPS | 80% |
RTX 4060 Laptop | 29,89 TFLOPS | 49,33 TFLOPS | 65% |
RTX 4080 | 100,37 TFLOPS | 192,18 TFLOPS | 91% |
Οι μετρήσεις αφορούν διαφορετικά FP16/BF16 matrix multiplication tests. Είναι αναφορές προγραμματιστών και χρηστών, όχι ενιαίο ανεξάρτητο benchmark, και δεν αποτελούν άμεση σύγκριση μεταξύ καρτών.
Η RTX 4080, για παράδειγμα, πλησιάζει τον διπλασιασμό της απόδοσης σε συγκεκριμένο BF16 benchmark. Πρόκειται για εξαιρετικά μεγάλη διαφορά, ειδικά αν σκεφτεί κανείς ότι δεν απαιτείται αγορά καινούργιου hardware.
Εδώ όμως χρειάζεται να ξεκαθαρίσουμε κάτι. Αύξηση 91% σε ένα μαθηματικό benchmark δεν σημαίνει 91% ταχύτερο Stable Diffusion ή 91% ταχύτερο τοπικό LLM. Οι πραγματικές εφαρμογές χρησιμοποιούν πολλούς διαφορετικούς υπολογισμούς, ενώ συχνά περιορίζονται από την ταχύτητα της μνήμης, το διαθέσιμο VRAM bandwidth, την κατανάλωση και τη θερμοκρασία.
Το ίδιο το project δημοσιεύει, πάντως, και μετρήσεις πραγματικών εφαρμογών. Αναφέρει βελτιώσεις στην παραγωγή εικόνων και βίντεο, καθώς και μικρότερα αλλά μετρήσιμα κέρδη σε ορισμένες εργασίες LLM inference. Σε κάποιες περιπτώσεις τα οφέλη είναι εντυπωσιακά, σε άλλες αρκετά μικρότερα.
Ποιες κάρτες υποστηρίζονται;
Το εργαλείο καλύπτει κυρίως τρεις γενιές Nvidia GeForce: τις RTX 20, RTX 30 και RTX 40, τόσο σε desktop υπολογιστές όσο και σε laptops. Η υποστήριξη είναι ευρύτερη στις νεότερες δύο γενιές, ενώ στην οικογένεια RTX 20 υπάρχουν περισσότερες ιδιαιτερότητες και απαιτήσεις.
Οι GTX 16 θεωρούνται θεωρητικά συμβατές, αλλά χρειάζονται περισσότερες δοκιμές. Αντίθετα, οι RTX 50, που βασίζονται στην αρχιτεκτονική Blackwell, δεν υποστηρίζονται από τη συγκεκριμένη μέθοδο.
Υπάρχει επίσης μια διαφορά ανάμεσα στο «υποστηρίζεται η οικογένεια της GPU» και στο «έχει δοκιμαστεί επιτυχώς η συγκεκριμένη κάρτα». Οι κατασκευαστές χρησιμοποιούν διαφορετικά VBIOS, συστήματα τροφοδοσίας και firmware, οπότε κανείς δεν μπορεί να εγγυηθεί ότι κάθε συνδυασμός θα συμπεριφερθεί με τον ίδιο τρόπο.
Η ξεφτίλα είναι απίστευτη
Φτάσαμε στο 2026, όπου αγοράζεις εκατομμύρια ή δισεκατομμύρια τρανζίστορ, τα πληρώνεις κάτι χιλιάρικα και μετά ανακαλύπτεις ότι για να τα χρησιμοποιήσεις στην πλήρη ταχύτητά τους χρειάζεσαι ένα USB stick και έναν χάκερ στο GitHub.
Μετά τη δήλωση του Sam Altman ότι αποτελούμε «σπατάλη» όταν έχουμε RAM στους υπολογιστές μας και θα έπρεπε όλα να βρίσκονται στα Data Center, τώρα ξεσπάει και το σκάνδαλο της NVIDIA με το Γκουσγκούνη Tech Bro.
Το καλύτερο; Ερωτήθηκε η NVIDIA ποια η επίσημη θέση της για το θέμα, ερωτήθηκε επίσης αν θα δώσει στους χρήστες κάποιο Firmware patch ώστε να μην χρειάζονται στικ και χακεράδες του GitHub. Και τι λέτε ότι έγινε;
ΔΕΝ ΑΠΑΝΤΗΣΕ.
Ευτυχώς που δεν έχουν βάλει ακόμη συνδρομή ανά Tensor Core. Αν και, τώρα που το σκέφτομαι, μάλλον δεν θα έπρεπε να τους δίνω ακόμα χειρότερες ιδέες.