Από όσα πραγματικά μας ρωτούν στη συνομιλία και στα δελτία, περίπου με τη σειρά που τα ρωτούν. Τα τρία πρώτα είναι αυτά που καθορίζουν αν μια αγορά λειτουργεί.
- Πόση μνήμη GPU χρειάζεται ένα μεγάλο γλωσσικό μοντέλο;
- Τα βάρη είναι ο αριθμός παραμέτρων πολλαπλασιασμένος με τα byte ανά παράμετρο: δύο byte το καθένα στα 16-bit, ένα στα 8-bit, μισό στα 4-bit. Ένα μοντέλο 7–8 δισεκατομμυρίων παραμέτρων είναι 16 GB βάρη στα 16-bit, 8 GB στα 8-bit και 5 GB στα 4-bit· ένα μοντέλο 70 δισεκατομμυρίων παραμέτρων είναι 140 GB, 70 GB και 38 GB. Αυτά τα νούμερα αφορούν μόνο τα βάρη και αποτελούν κατώτατο όριο παρά απαίτηση — υπολογίστε ένα τέταρτο έως μισό επιπλέον για τον χρόνο εκτέλεσης, τις ενεργοποιήσεις και την προσωρινή μνήμη κλειδιού-τιμής.
- Τι χρειάζομαι για να τρέξω ένα μοντέλο 70B όπως το Llama 3.3;
- Στα 4-bit τα βάρη είναι περίπου 38 GB, οπότε με περιθώριο εξυπηρέτησης η απάντηση είναι μια κάρτα 64 GB ή περισσότερο — μία κάρτα, ένα μηχάνημα. Στα 8-bit τα βάρη είναι 70 GB και μια κάρτα 80 GB ξεπερνά το όριο. Σε πλήρη ακρίβεια 16-bit καμία μεμονωμένη κάρτα που τοποθετούμε δεν το χωρά, και γίνεται μια κατασκευή πολλαπλών καρτών που κοστολογούμε. Το Σχ. 3 παραπάνω ονομάζει τις ακριβείς κάρτες· οι τιμές είναι στους αποκλειστικούς διακομιστές GPU.
- Γιατί το μοντέλο μου φορτώνει αλλά αποτυγχάνει να εξυπηρετήσει;
- Επειδή τα βάρη δεν είναι το μόνο πράγμα στη μνήμη της κάρτας. Ο χρόνος εκτέλεσης και οι προσωρινές μνήμες του είναι μόνιμα φορτωμένα, και κάθε token σε μια συνομιλία αφήνει μια καταχώριση στην προσωρινή μνήμη κλειδιού-τιμής ώστε να μην χρειάζεται να υπολογιστεί ξανά. Αυτή η προσωρινή μνήμη μεγαλώνει με το μήκος πλαισίου και ξανά με κάθε αίτημα που εξυπηρετείται ταυτόχρονα, οπότε ένα μοντέλο του οποίου τα βάρη μόλις χωρούν θα κρατήσει περίπου μία σύντομη συνομιλία. Διαστασιολογήστε την κάρτα στο ενάμισι έως μιάμιση φορά τα βάρη.
- Ποιον χρόνο εκτέλεσης συμπερασμού μπορώ να εγκαταστήσω;
- Οποιονδήποτε. Το μηχάνημα φτάνει με καθαρό λειτουργικό σύστημα και root, και δεν υπάρχει υπηρεσία συμπερασμού προμηθευτή μπροστά του. Το vLLM είναι η συνηθισμένη απάντηση για εξυπηρέτηση πραγματικής κίνησης επειδή η συνεχής ομαδοποίηση επιτρέπει σε μία κάρτα να απαντά σε πολλά αιτήματα ταυτόχρονα. Το llama.cpp είναι η συνηθισμένη απάντηση όταν η μνήμη είναι περιορισμένη ή η κάρτα παλαιότερη. Τα TGI και SGLang τρέχουν αμετάβλητα. Το Ollama είναι ο συντομότερος δρόμος από ένα άδειο μηχάνημα σε ένα μοντέλο που απαντά σε μια θύρα — και τα vLLM και Ollama απαντούν και τα δύο σε ένα τελικό σημείο συμβατό με OpenAI, οπότε ο υπάρχων κώδικας πελάτη δείχνει στο δικό σας μηχάνημα αλλάζοντας ένα βασικό URL. Κλειδώνετε τον οδηγό, την έκδοση CUDA ή ROCm και το πλαίσιο στις εκδόσεις με τις οποίες δοκιμάστηκε ο κώδικάς σας.
- Είναι η αυτο-φιλοξενία ενός LLM φθηνότερη από ένα API ανά token;
- Εξαρτάται αποκλειστικά από τον όγκο, και το σημείο διασταύρωσης είναι πραγματικό: ένα API χρεώνει ανά token και δεν κοστίζει τίποτα όταν είναι αδρανές· ένα αποκλειστικό μηχάνημα είναι ένα σταθερό μηνιαίο ποσό και δεν κοστίζει τίποτα επιπλέον όταν είναι απασχολημένο. Σταθερή κίνηση, πράκτορες που τρέχουν όλη μέρα, ομαδικές διοχετεύσεις και οτιδήποτε με απαίτηση απορρήτου τείνουν να βγαίνουν μπροστά στο δικό τους υλικό· ένας φόρτος εργασίας που ενεργοποιείται δέκα φορές την ημέρα όχι. Τα μηνιαία νούμερα για να κάνετε αυτόν τον υπολογισμό είναι στους αποκλειστικούς διακομιστές GPU — αυτό το έγγραφο σκόπιμα δεν κοστολογεί τίποτα.
- Πόσα token ανά δευτερόλεπτο θα πάρω;
- Δεν δημοσιεύουμε αριθμό token ανά δευτερόλεπτο, επειδή κάθε τέτοιος αριθμός εξαρτάται από το μοντέλο, την κβαντοποίηση, τον χρόνο εκτέλεσης και την έκδοσή του, το μέγεθος παρτίδας, το μήκος προτροπής, το μήκος απάντησης και την ταυτοχρονία, και η αλλαγή οποιουδήποτε τον μετακινεί κατά πολλαπλάσιο. Τι το διέπει: η ανάγνωση της προτροπής είναι δεσμευμένη από υπολογισμό και συμβαίνει μία φορά ανά αίτημα· η δημιουργία της απάντησης είναι δεσμευμένη από εύρος ζώνης μνήμης επειδή κάθε token απαιτεί ανάγνωση των βαρών· και η ομαδοποίηση κατανέμει αυτή την ανάγνωση σε ταυτόχρονα αιτήματα, που είναι αυτό που κάνει την εξυπηρέτηση οικονομική μέχρι να εξαντληθεί ο χώρος της προσωρινής μνήμης κλειδιού-τιμής. Ρωτήστε με το μοντέλο, την κβαντοποίηση και την αναμενόμενη ταυτοχρονία για μια απάντηση βασισμένη σε όσα έχουμε πραγματικά παρατηρήσει.
- Μοιράζεται η GPU με κάποιον άλλο;
- Όχι. Ένας μισθωτής ανά φυσικό μηχάνημα, και η κάρτα περνά απευθείας στο δικό σας λειτουργικό σύστημα. Δεν υπάρχει hypervisor, διαμέρισμα MIG, προφίλ vGPU ή χρονοπρογραμματιστής κατανομής χρόνου, οπότε τίποτα άλλο δεν τρέχει στην κάρτα και η καθυστέρηση συμπερασμού δεν μεταβάλλεται εξαιτίας της ομαδικής εργασίας κάποιου άλλου.
- Τι γίνεται αν το μοντέλο δεν χωρά σε μία κάρτα;
- Τότε είναι μια κατασκευή πολλαπλών καρτών, η οποία κοστολογείται αντί να παραγγέλλεται από ταμείο: πόσες κάρτες χωρούν εξαρτάται από το φυσικό πλάτος της συγκεκριμένης κάρτας και τον προϋπολογισμό ισχύος του πλαισίου. Δύο κάρτες δίνουν το άθροισμα της μνήμης τους μόνο αν ο χρόνος εκτέλεσης μπορεί να χωρίσει το μοντέλο και στις δύο, κάτι που κάθε σοβαρός χρόνος εκτέλεσης υποστηρίζει με κάποιο κόστος στην απόδοση. Περισσότερες από μία κάρτες ή μηχανήματα καλύπτει πώς μοιάζει αυτή η κατασκευή.
- Χρειάζεται η λεπτομερής ρύθμιση περισσότερη μνήμη από την εξυπηρέτηση;
- Σημαντικά περισσότερη. Η εξυπηρέτηση χρειάζεται τα βάρη· η εκπαίδευση χρειάζεται τα βάρη, τις κλίσεις και την κατάσταση βελτιστοποιητή για κάθε παράμετρο που ενημερώνεται, όλα μόνιμα φορτωμένα ταυτόχρονα, συν τις ενεργοποιήσεις που διατηρούνται για το πέρασμα προς τα πίσω. Ένα μοντέλο που εξυπηρετεί άνετα σε μία κάρτα μπορεί να είναι αρκετές φορές πολύ μεγάλο για πλήρη λεπτομερή ρύθμιση σε αυτήν. Οι μέθοδοι αποδοτικές ως προς τις παραμέτρους ενημερώνουν ένα μικρό κλάσμα των παραμέτρων και χρειάζονται αντίστοιχα μικρό κλάσμα της επιπλέον μνήμης, γι' αυτό οι περισσότερες λεπτομερείς ρυθμίσεις εδώ χρησιμοποιούν μία.
- Μπορώ να τρέξω μια κάρτα AMD, και λειτουργεί το ROCm;
- Ναι. Τα εξαρτήματα AMD Instinct είναι από τις κάρτες με τη μεγαλύτερη μνήμη που τοποθετούμε και είναι συχνά η καλύτερη αξία ανά gigabyte, αλλά η στοίβα σας πρέπει να υποστηρίζει ROCm αντί για CUDA. Οι περισσότεροι τρέχοντες χρόνοι εκτέλεσης συμπερασμού το κάνουν· κάποια περιβάλλοντα εργαλεία ακόμα όχι. Ρωτήστε πριν παραγγείλετε και θα το ελέγξουμε σε σχέση με τον συγκεκριμένο χρόνο εκτέλεσής σας αντί να απαντήσουμε γενικά.