Το FlexGen είναι ένας κινητήρας για την εκτέλεση ρομπότ AI τύπου ChatGPT σε συστήματα μεμονωμένης GPU

Μια ομάδα ερευνητών από το Πανεπιστήμιο του Στάνφορντ, το Πανεπιστήμιο της Καλιφόρνια στο Μπέρκλεϋ, το ETH Ζυρίχης, το Graduate School of Economics, το Πανεπιστήμιο Carnegie Mellon, καθώς και το Yandex και το Meta, δημοσίευσαν τον πηγαίο κώδικα μιας μηχανής για τη λειτουργία μεγάλων γλωσσικών μοντέλων σε πόρους - περιορισμένα συστήματα. Για παράδειγμα, ο κινητήρας παρέχει τη δυνατότητα δημιουργίας λειτουργιών που θυμίζουν ChatGPT και Copilot εκτελώντας ένα προεκπαιδευμένο μοντέλο OPT-175B, που καλύπτει 175 δισεκατομμύρια παραμέτρους, σε έναν κανονικό υπολογιστή με κάρτα γραφικών παιχνιδιών NVIDIA RTX3090 εξοπλισμένη με 24 GB μνήμης βίντεο. Ο κώδικας είναι γραμμένος σε Python, χρησιμοποιεί το πλαίσιο PyTorch και διανέμεται με την άδεια Apache 2.0.

Περιλαμβάνει ένα παράδειγμα σεναρίου για τη δημιουργία ρομπότ που σας επιτρέπει να κατεβάσετε ένα από τα δημόσια διαθέσιμα μοντέλα γλώσσας και να ξεκινήσετε αμέσως την επικοινωνία (για παράδειγμα, εκτελώντας την εντολή «python apps/chatbot.py —model facebook/opt-30b — -% 0 100 100 0 100 0” ). Ως βάση, προτείνεται η χρήση ενός μεγάλου γλωσσικού μοντέλου που δημοσιεύεται από το Facebook, εκπαιδευμένο στις συλλογές BookCorpus (10 χιλιάδες βιβλία), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews κ.λπ.), Pushshift. io (με βάση τα δεδομένα του Reddit ) και CCNewsV2 (αρχείο ειδήσεων). Το μοντέλο καλύπτει περίπου 180 δισεκατομμύρια μάρκες (800 GB δεδομένων). Για την εκπαίδευση του μοντέλου δαπανήθηκαν 33 ημέρες λειτουργίας συμπλέγματος με 992 GPU NVIDIA A100 80 GB.

Κατά την εκτέλεση του μοντέλου OPT-175B σε ένα σύστημα με μία μονάδα NVIDIA T4 GPU (16 GB), ο κινητήρας FlexGen επέδειξε απόδοση έως και 100 φορές ταχύτερη από τις προηγούμενες προσφερόμενες λύσεις, καθιστώντας τη χρήση μεγάλων μοντέλων γλώσσας πιο προσιτή και επιτρέποντάς τους να λειτουργούν σε συστήματα χωρίς αποκλειστικούς επιταχυντές. Ταυτόχρονα, το FlexGen μπορεί να κλιμακώσει για να παραλληλίσει τους υπολογισμούς με πολλές GPU. Για να μειωθεί το μέγεθος του μοντέλου, χρησιμοποιούνται επιπλέον ένα ιδιόκτητο σχήμα συμπίεσης παραμέτρων και ένας μηχανισμός προσωρινής αποθήκευσης μοντέλου.

Προς το παρόν, το FlexGen υποστηρίζει μόνο μοντέλα γλωσσών OPT, αλλά στο μέλλον οι προγραμματιστές υπόσχονται επίσης να προσθέσουν υποστήριξη για το BLOOM (176 δισεκατομμύρια παραμέτρους, υποστηρίζει 46 γλώσσες και 13 γλώσσες προγραμματισμού), το CodeGen (μπορεί να δημιουργήσει κώδικα σε 22 γλώσσες προγραμματισμού) και Μοντέλα GLM. Ένα παράδειγμα διαλόγου με ένα bot που βασίζεται στο FlexGen και το μοντέλο OPT-30B:

Άνθρωπος: Πώς λέγεται το ψηλότερο βουνό στον κόσμο;

Βοηθός: Έβερεστ.

Άνθρωπος: Σχεδιάζω ένα ταξίδι για την επέτειό μας. Τι πράγματα μπορούμε να κάνουμε;

Βοηθός: Λοιπόν, υπάρχουν πολλά πράγματα που μπορείτε να κάνετε για την επέτειό σας. Αρχικά, μπορείτε να παίξετε χαρτιά. Δεύτερον, μπορείτε να πάτε για μια πεζοπορία. Τρίτον, μπορείτε να πάτε σε ένα μουσείο.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο