Μοντέλα και πλατφόρμες AI
Η IBM καθιστά τον επιταχυντή Spyre backend πρώτης τάξης του PyTorch

Η IBM ανέφερε σε ανάρτηση ιστολογίου της IBM Research που δημοσιεύτηκε στις 26 Οκτωβρίου 2026 ότι οι ενημερώσεις λογισμικού που διατέθηκαν στο οικοσύστημα του PyTorch κατά το δεύτερο εξάμηνο του 2026 κατέστησαν τον επιταχυντή ροής δεδομένων Spyre backend πρώτης τάξης του PyTorch, υλοποιώντας ένα σχέδιο που είχαν παρουσιάσει η IBM και το PyTorch Foundation τον Οκτώβριο του 2025.
Η IBM περιγράφει τον Spyre ως τον επιταχυντή ΤΝ ροής δεδομένων της, βελτιστοποιημένο για συμπερασμό και σχεδιασμένο για εταιρικές ομάδες που εκτελούν εφαρμογές ΤΝ παράλληλα με τις εφαρμογές και τα δεδομένα τους σε συστήματα IBM Z, LinuxONE και Power. Οι υπολογιστικές δυνατότητές του μειωμένης ακρίβειας στοχεύουν στις εργασίες πολλαπλασιασμού πινάκων που απαιτούνται σε μεγάλο βαθμό για τη δημιουργία γλώσσας και τα μοντέλα ενσωματώσεων. Σε αντίθεση με μια συμβατική GPU, η οποία εκτελεί πυρήνες ως ροές εντολών σε προγραμματισμένες ομάδες νημάτων, ο Spyre ενεργοποιεί τον υπολογισμό καθώς τα δεδομένα φτάνουν στις υπολογιστικές μονάδες του.
Κατά το δεύτερο εξάμηνο του 2026, η IBM, η Red Hat και συνεργάτες του PyTorch Foundation, μεταξύ των οποίων οι Meta και Hugging Face, διέθεσαν ενημερώσεις που κάλυπταν την υποστήριξη μοντέλων από την πρώτη ημέρα, μοντέλα ανεξάρτητα από το υλικό στο vLLM, συνεχή έλεγχο παλινδρόμησης και δοκιμές εκδόσεων, καθώς και εγγενή ενσωμάτωση συσκευών, αναφέρει η ανάρτηση. Στο PyTorch Conference 2025, σε ανάρτηση της IBM Research με ημερομηνία 21 Οκτωβρίου 2025, η IBM δήλωσε ότι σχεδίαζε να ενισχύσει περαιτέρω την υποστήριξη του Spyre το 2026, ώστε αυτός να συμμετέχει ως backend πρώτης τάξης σε ροές εργασίας συμπερασμού ανοιχτού κώδικα, με έμφαση σε ενοποιημένες διαδρομές μεταγλώττισης, βελτιστοποιημένη δημιουργία πυρήνων και διαφανή προγραμματισμό πολλαπλών επιταχυντών. Έως τότε, η IBM είχε υιοθετήσει το vLLM ως περιβάλλον εκτέλεσης συμπερασμού και το torch.compile ως μεταγλωττιστή προσκηνίου για την ενσωμάτωση επιταχυντών όπως ο Spyre, ενώ είχε συνεισφέρει ένα πρόσθετο Spyre για το vLLM, το οποίο ενεργοποιεί το paged attention για τον συμπερασμό μεγάλων γλωσσικών μοντέλων.
Ένας μεταγλωττιστής ανακατασκευασμένος πάνω στο Inductor
Στο επίκεντρο της ενσωμάτωσης βρίσκεται το torch-spyre, ένα backend του PyTorch που μεταγλωττίζει συνηθισμένο κώδικα PyTorch σε ένα εκτελέσιμο σχέδιο για τον Spyre. Το μεγαλύτερο μέρος της λογικής ενός μοντέλου διέρχεται από τον μεταγλωττιστή του PyTorch χωρίς αλλαγές· όταν μια λειτουργία δεν μπορεί ακόμη να μεταφραστεί αποτελεσματικά σε κώδικα χαμηλότερου επιπέδου, ένας προσαρμογέας μπορεί να την αντικαταστήσει με μια μαθηματικά ισοδύναμη μορφή την οποία μπορεί να χειριστεί ο μεταγλωττιστής.
Σε ανάρτηση του PyTorch Foundation που δημοσιεύτηκε στις 13 Οκτωβρίου 2026, οι Dave Grove, Olivier Tardieu και IBM Spyre Team περιέγραψαν τη μετάβαση του backend torch.compile του torch-spyre από το sendnn, μια στοίβα μεταγλώττισης που κατασκευάστηκε εξ ολοκλήρου από το μηδέν, στο backend=inductor, ένα backend ανοιχτού κώδικα που δημιουργήθηκε με επέκταση του ίδιου του Inductor του PyTorch. Σύμφωνα με τους συντάκτες, οι μετρήσεις με τον αναλυτή κώδικα lizard έδειξαν ότι το sendnn περιλαμβάνει συνολικά περίπου 273.000 γραμμές C++ και Python σε 6.170 συναρτήσεις, ενώ η επέκταση του Inductor έχει περίπου 38.600 γραμμές Python σε 1.878 συναρτήσεις — περίπου 7 φορές λιγότερες γραμμές, με μικρότερη πολυπλοκότητα ανά συνάρτηση.
Ο Spyre είναι ένας επιταχυντής 75 watt που συνδέεται μέσω PCIe και αποτελείται από 32 μικρούς πυρήνες συνδεδεμένους σε δακτύλιο. Κάθε πυρήνας έχει τη δική του μνήμη scratchpad 2 MB αντί για κοινόχρηστη κρυφή μνήμη, ενώ η μεταφορά δεδομένων γίνεται σε σταθερά τμήματα των 128 byte που ονομάζονται sticks. Σύμφωνα με την ανάρτηση, οι εργασίες του μεταγλωττιστή επικεντρώθηκαν στη μεταφορά δεδομένων σε επίπεδο stick, στον σχεδιασμό της μνήμης scratchpad και στην ανάθεση πυρήνων κατά τον χρόνο μεταγλώττισης.
Οι αναφερόμενες μετρήσεις περιλαμβάνουν μείωση κατά 29–69% του χρόνου εκτέλεσης πυρήνων matmul χάρη σε επιλογές πλακιδιοποίησης και διάταξης, μείωση του διάμεσου χρόνου εκτέλεσης πυρήνων softmax από 32,51 σε 23,67 μικροδευτερόλεπτα — μείωση κατά 27% — χάρη στον προγραμματισμό που λαμβάνει υπόψη τη μνήμη scratchpad, καθώς και έναν συγχωνευμένο πυρήνα τύπου MLP που αύξησε τη χρήση των πυρήνων από περίπου τα δύο τρίτα σε περίπου 80%, μειώνοντας παράλληλα τον χρόνο εκτέλεσης των πυρήνων κατά περίπου 17%. Σε ένα συνθετικό γράφημα, σχεδιασμένο για να δοκιμάσει αυτές τις επιλογές, μια νέα αναδιάταξη δεδομένων εντός του τσιπ αντικατέστησε μια διαδρομή μετ’ επιστροφής 80 μικροδευτερολέπτων στη μνήμη της συσκευής με μια μεταφορά δεδομένων 1,1 μικροδευτερολέπτου μεταξύ πυρήνων. Η ανάρτηση σημειώνει επίσης ότι η ανάγκη του torch-spyre να καταχωρίζει αποσυνθέσεις ειδικές για τη συσκευή συνέβαλε στις βελτιώσεις της υποστήριξης backend του Inductor εκτός του βασικού δέντρου πηγαίου κώδικα, οι οποίες ενσωματώθηκαν στο PyTorch 2.12 μέσω δύο pull request που έγιναν δεκτά.
Εγγενής ενσωμάτωση συσκευής
Ο Spyre εντάσσεται εγγενώς στις συσκευές του PyTorch μέσω της καταχώρισης PrivateUse1, η οποία προσδίδει στο tensor.to(“spyre”) πραγματική ταυτότητα συσκευής: ο μηχανισμός κατανομής μνήμης του PyTorch διατηρεί τα τανυστικά στη συσκευή, οι ροές παρέχουν σημασιολογία διάταξης και τα συμβάντα χρόνου εκτέλεσης συνδέουν εξαρτώμενες εργασίες μεταξύ ροών. Η κάρτα διαθέτει 32 πυρήνες συνδεδεμένους μέσω δακτυλίου υψηλού εύρους ζώνης, καθένας με τοπική μνήμη scratchpad 2 MB, καθώς και έως 128 GB LPDDR5 για τανυστικά και προγράμματα. Στην τρέχουσα έκδοση, το περιβάλλον εκτέλεσης προσαρμόζει τα προγράμματα κατά την εκκίνησή τους, αντικαθιστώντας τις συμβολικές διευθύνσεις των τανυστικών με πραγματικές σε τρία διαδοχικά βήματα.
Σε επίδειξη με το Granite 3.3 8B, μέγεθος παρτίδας 1 και μήκος ακολουθίας 1024, η μεταφορά της κατασκευής του γραφήματος εκτός της διαδρομής μεταφοράς δεδομένων βελτίωσε την προπλήρωση κατά 9,9% και την αποκωδικοποίηση κατά 13,6%, ανέφερε η ομάδα. Η αφαίρεση αυτής της εργασίας και από τη διανομή υπολογιστικών εργασιών αύξησε τις συνολικές επιδόσεις σε 1,7 φορές ταχύτερη προπλήρωση και 2,4 φορές ταχύτερη αποκωδικοποίηση, με περίπου τα τρία τέταρτα του κέρδους να προέρχονται από τη διαδρομή υπολογισμού.
«Το πλεονέκτημα είναι ότι ούτε ο Spyre ούτε το PyTorch χρειάζεται να προσποιούνται ότι είναι κάτι άλλο», έγραψαν οι συντάκτες στο Η δημιουργία του Spyre ως εγγενούς συσκευής PyTorch, που δημοσιεύτηκε στις 8 Οκτωβρίου 2026, προσθέτοντας ότι ο Spyre διατηρεί το μοντέλο εκτέλεσης ροής δεδομένων του, ενώ οι χρήστες αποκτούν μια εγγενή συσκευή PyTorch με οικείο τρόπο τοποθέτησης τανυστικών, ροές και μεταγλώττιση.
Φορητότητα του vLLM και η σύνδεση με το Llm-D
Το Spyre είναι ένας επιταχυντής που δεν περιλαμβάνεται στο βασικό δέντρο κώδικα, σε αντίθεση με τις πλατφόρμες GPU που υποστηρίζονται συνηθέστερα από το λογισμικό AI. Βασίζεται στο TorchDynamo για την ανίχνευση του γραφήματος ενός μοντέλου και στο TorchInductor για τη μεταγλώττισή του στο υλικό-στόχο. Στο vLLM, μηχανισμοί επέκτασης όπως τα CustomOp και PluggableLayer επιτρέπουν σε ένα πρόσθετο υλικού να προσαρμόζει τη λειτουργία χωρίς να χρειάζεται να επανυλοποιήσει μεγάλα τμήματα της στοίβας λογισμικού.
Στο Μοντέλα ανεξάρτητα από το υλικό στο vLLM, που δημοσιεύτηκε στις 22 Σεπτεμβρίου 2026 από συγγραφείς της IBM, της Meta και της Hugging Face, η ομάδα περιέγραψε τη στροφή του vLLM προς «επίπεδους» ορισμούς μοντέλων ειδικούς για κάθε υλικό και παρουσίασε επίπεδα ανεξάρτητα από το υλικό, βασισμένα σε τέσσερις σχεδιαστικές αρχές: να μπορούν να μεταγλωττιστούν, να είναι επεκτάσιμα, απομονωμένα από διαδρομές ειδικές για συγκεκριμένο υλικό και φορητά. Η αρχική υποστήριξη έχει ενσωματωθεί στον κύριο κλάδο του vLLM και μπορεί να ενεργοποιηθεί με την επιλογή USE_HW_AGNOSTIC=1 στο backend transformers. Η προσέγγιση έχει επικυρωθεί με το πρόσθετο Spyre, το οποίο βρίσκεται εκτός του βασικού δέντρου κώδικα, σε μοντέλα όπως τα Gemma 4, Qwen3 και Granite 4.2. Στις GPU NVIDIA H100, τα επίπεδα που δεν εξαρτώνται από το υλικό πέτυχαν συνολική ρυθμαπόδοση token εντός του 3,4% της εγγενούς υλοποίησης, με βάση τον γεωμετρικό μέσο όρο σε τρία πρόσφατα μοντέλα, ανέφεραν οι συγγραφείς.
Η ενσωμάτωση του Spyre με το PyTorch είναι επίσης ο τρόπος με τον οποίο συνδέεται με το llm-d, εξηγεί η ανάρτηση της IBM: το llm-d εκτελεί κατανεμημένη εξαγωγή συμπερασμάτων πάνω από το vLLM, σε πολλούς τύπους επιταχυντών· το vLLM επικοινωνεί με κάθε επιταχυντή μέσω του PyTorch· και, όταν μια συσκευή διαθέτει λειτουργικό backend PyTorch, ένα πρόσθετο υλικού για το vLLM μπορεί να την εκθέσει, ώστε το llm-d να μπορεί να προγραμματίζει εργασίες σε αυτήν.
Ενεργοποίηση από την πρώτη ημέρα και συνεχείς δοκιμές
Σε ανάρτηση της 20ής Αυγούστου 2026, η ομάδα IBM Spyre περιγράφει το HF-adapters, ένα έργο που χρησιμοποιεί πράκτορες κώδικα για τη σύνταξη διορθώσεων κατά τον χρόνο εκτέλεσης, οι οποίες επιτρέπουν σε τυπικά μοντέλα Hugging Face Transformers να εκτελούνται στο Spyre. Από τα μέσα Απριλίου έως τα τέλη Ιουνίου 2026, 13 διαφορετικοί προσαρμογείς κάλυψαν 7.960 από τα 10.000 μοντέλα ενσωματώσεων Hugging Face με τις περισσότερες λήψεις· από αυτά, τα 6.804 περνούν τη δοκιμή τους από άκρο σε άκρο στο Spyre, αναφέρει η ανάρτηση. Σε ένα παράδειγμα, η κλήση torch.pow(x, 3.0) της συνάρτησης ενεργοποίησης gelu_new αντικαθίσταται από την μαθηματικά ισοδύναμη έκφραση x x x, την οποία μπορεί να μεταγλωττίσει η στοίβα torch-spyre. Οι άνθρωποι εξακολουθούν να αναλαμβάνουν τη διάγνωση, εντοπίζοντας αστοχίες που εμφανίζονται μόνο στη συσκευή και οφείλονται σε συγχωνευμένες λειτουργίες, καθώς και ελέγχοντας τα συμπεράσματα κάθε πράκτορα με βάση τα αποτελέσματα δοκιμών από άκρο σε άκρο.
Σε ανάρτηση της 30ής Σεπτεμβρίου 2026, μηχανικοί της IBM και της Red Hat περιέγραψαν την ενσωμάτωση L2 του torch-spyre με το Cross-Repository CI Relay του PyTorch, το οποίο ενεργοποιεί δοκιμές σε επόμενα στάδια όταν αλλάζει το PyTorch και επιστρέφει τα αποτελέσματα στον πίνακα ελέγχου CI του PyTorch. Η ενσωμάτωση συνδυάζει μια τετραβάθμια διαδικασία επιλογής δοκιμών με πράκτορες και ένα δηλωτικό πλαίσιο YAML για την επαναχρησιμοποίηση δοκιμών. Κατά την αναβάθμιση από το PyTorch 2.13 στο 2.14 χρειάστηκε να αξιολογηθούν περίπου 4.000 τροποποιημένες δοκιμές, αντί για δεκάδες χιλιάδες, έγραψαν οι συγγραφείς. Πρόσθεσαν ότι σκοπεύουν να συνεργαστούν με την ομάδα του PyTorch, ώστε τα επαναχρησιμοποιήσιμα μέρη να ενσωματωθούν στο κύριο έργο, με σημείο αναφοράς το PyTorch OpenReg.
Για τους χρήστες των IBM Z, LinuxONE και Power11, ο επιδιωκόμενος στόχος είναι να προμηθεύονται μοντέλα από οικοσυστήματα όπως η Hugging Face και να χρησιμοποιούν σε μεγάλο βαθμό τις ίδιες ροές εργασίας που βασίζονται στο PyTorch και θα χρησιμοποιούσαν με GPU της Nvidia, με τα κοινά σημεία επέκτασης του PyTorch να αποκρύπτουν μεγάλο μέρος των αρχιτεκτονικών διαφορών, αναφέρει η ανάρτηση της IBM. Οι συγγραφείς της ανάρτησης για το vLLM δήλωσαν ότι σχεδιάζουν να αρχίσουν να συμπεριλαμβάνουν μοντέλα ανεξάρτητα από το υλικό στις δοκιμές CI και να μεταβούν σταδιακά σε αυτήν την προσέγγιση ως προεπιλογή για την εξυπηρέτηση μοντέλων στο Spyre.












