Δυσκολεύεστε με το AI ή την ανάπτυξη πλήρους πακέτου; Οι ειδικοί μας είναι εδώ για να σας καθοδηγήσουν: εξατομικευμένες συμβουλές, τεχνική ενσωμάτωση και πολλά άλλα. Επικοινωνήστε μαζί μας στο [email protected].

Μηχανές εξαγωγής συμπερασμάτων GenAI: TensorRT-LLM vs vLLM vs Hugging Face TGI vs LMDeploy

Η άνοδος της δημιουργικής τεχνητής νοημοσύνης (GenAI) έχει μεταμορφώσει τους κλάδους, από την επεξεργασία φυσικής γλώσσας έως τη δημιουργική παραγωγή περιεχομένου. Ωστόσο, η αποτελεσματική ανάπτυξη αυτών των ισχυρών μοντέλων σε κλίμακα παραμένει μια πρόκληση.

TensorRT-LLM, vLLM, Hugging Face TGI και LMDeploy

Οι μηχανές εξαγωγής συμπερασμάτων διαδραματίζουν κρίσιμο ρόλο στη βελτιστοποίηση των επιδόσεων, τη μείωση της καθυστέρησης και τη μεγιστοποίηση της χρήσης των πόρων. Σε αυτό το άρθρο, θα ασχοληθούμε με τέσσερις κορυφαίες λύσεις: TensorRT-LLM, vLLM, Hugging Face TGI και LMDeploy.

Κάθε ένα από αυτά προσφέρει μοναδικά πλεονεκτήματα, είτε πρόκειται για την επιταχυνόμενη από το υλικό ακρίβεια της NVIDIA, την καινοτόμο διαχείριση μνήμης της vLLM, το έτοιμο για παραγωγή οικοσύστημα της TGI ή την εστίαση της LMDeploy στην ταχύτητα και την απλότητα. Ελάτε μαζί μας καθώς συγκρίνουμε αυτές τις μηχανές για να σας βοηθήσουμε να βρείτε την ιδανική λύση για τα φορτία εργασίας GenAI που διαθέτετε.

TensorRT-LLM: Η ατμομηχανή της NVIDIA για βελτιστοποιημένη εξαγωγή συμπερασμάτων

Το TensorRT-LLM είναι η απάντηση της NVIDIA για την ταχεία και ομαλή εκτέλεση μεγάλων γλωσσικών μοντέλων. Βασισμένο στο πλαίσιο TensorRT, έχει σχεδιαστεί για να αποσπά κάθε σταγόνα απόδοσης από τις GPU της NVIDIA. Αυτό το επιτυγχάνει με κόλπα όπως η συγχώνευση επιπέδων, η προσαρμογή της ακρίβειας (FP16, INT8, FP8...) και η βελτιστοποίηση του πυρήνα που μειώνει τον χρόνο υπολογισμού χωρίς να καταστρέφει την ακρίβεια του μοντέλου.

TensorRT-LLM

Δεν είναι μόνο η ταχύτητα. Το TensorRT-LLM χειρίζεται αποτελεσματικά μεγάλα μοντέλα με έξυπνη διαχείριση της μνήμης, ώστε να μην καταρρεύσετε στη μέση της εκτέλεσης. Υποστηρίζει επίσης δυναμική ομαδοποίηση, επιτρέποντάς σας να επεξεργάζεστε πολλαπλές αιτήσεις ταυτόχρονα χωρίς να ξεμείνετε από μνήμη. Εάν χρησιμοποιείτε ήδη υλικό της NVIDIA, δεν υπάρχει λόγος να το σκέφτεστε, καθώς είναι στενά συνδεδεμένο με το οικοσύστημά τους, όπως το CUDA και το cuDNN, και ενσωματώνεται ακόμη και με τον Triton Inference Server της NVIDIA και το NVIDIA Dynamo.

Τούτου λεχθέντος, δεν είναι τέλειο για όλους. Η εγκατάσταση μπορεί να είναι μπελάς αν δεν είστε άνετοι με τα εργαλεία της NVIDIA και είναι λιγότερο ευέλικτη αν χρησιμοποιείτε υλικό που δεν είναι της NVIDIA. Παρόλα αυτά, για ακατέργαστη ισχύ και βελτιστοποίηση σε GPU της NVIDIA, είναι δύσκολο να το ξεπεράσετε.

vLLM: Συμπερασματολογία υψηλής απόδοσης με PagedAttention

Το vLLM είναι πολύ καλό στο να χειρίζεται γρήγορα μεγάλο όγκο εργασιών εξαγωγής συμπερασμάτων. Είναι ένα έργο ανοικτού κώδικα που λάμπει όταν χρειάζεστε υψηλή απόδοση χωρίς επιβράδυνση. Η μυστική σάλτσα είναι το PagedAttention, ένα τέχνασμα που διαχειρίζεται τη μνήμη πολύ καλύτερα από τα περισσότερα. Αντί να φορτώνει τα πάντα με τη μία και να τρώει τη μνήμη RAM, χωρίζει τις κρυφές μνήμες κλειδιών-τιμών σε κομμάτια, αρπάζοντας μόνο ό,τι χρειάζεται. Λιγότερη σπατάλη, μεγαλύτερη ταχύτητα.

vLLM

Είναι επίσης πολύ ευέλικτο. Συνεργάζεται με δημοφιλή μοντέλα όπως το LLaMA ή το Mistral αμέσως από το κουτί και υποστηρίζει πολλά υλικά, συμπεριλαμβανομένων των GPU της NVIDIA ή της AMD. Επίσης, έχετε δυναμική ομαδοποίηση για την αποτελεσματική ομαδοποίηση των αιτήσεων, διατηρώντας την ομαλή λειτουργία του αγωγού. Η εγκατάσταση είναι αρκετά απλή αν έχετε συνηθίσει την Python και το PyTorch.

Ο πρωταρχικός περιορισμός του vLLM είναι η σχετική ανωριμότητά του στην αγορά, πράγμα που σημαίνει ότι μπορεί να μην προσφέρει ακόμη το ολοκληρωμένο σύνολο χαρακτηριστικών που διαθέτουν οι πιο καθιερωμένες λύσεις. Ωστόσο, για τους οργανισμούς που αναζητούν μια αποτελεσματική λύση που παρέχει συμπερασματική ανάλυση υψηλής απόδοσης, το vLLM αποτελεί μια εξαιρετική επιλογή.

Hugging Face TGI: Μια έτοιμη για παραγωγή λύση για την παραγωγή κειμένου

Το Hugging Face TGI (Text Generation Inference) είναι φτιαγμένο για ανθρώπους που θέλουν να βάλουν σε λειτουργία μοντέλα χωρίς πονοκέφαλο. Είναι ένα εργαλείο που δημιουργήθηκε από την ομάδα Hugging Face, οπότε συνεργάζεται με την τεράστια βιβλιοθήκη προ-εκπαιδευμένων μοντέλων - σκεφτείτε τα BERT, GPT και άλλα. Είναι σχεδιασμένο για χρήση στον πραγματικό κόσμο, όπως η τροφοδοσία chatbots ή εφαρμογών όπου η παραγωγή κειμένου πρέπει να λειτουργεί γρήγορα και να μην καταρρέει.

Αγκαλιάζοντας το πρόσωπο TGI

Το TGI χειρίζεται τη βαριά εργασία με χαρακτηριστικά όπως η συνεχής δέσμη, η οποία κρατά το σύστημα απασχολημένο με την εναλλαγή νέων αιτήσεων καθώς τελειώνουν οι παλιές. Υποστηρίζει επιτάχυνση GPU και μπορεί να επεκταθεί αν έχετε το υλικό. Επιπλέον, διαθέτει ενσωματωμένη ασφάλεια -όπως το φιλτράρισμα κακών εξόδων- που είναι βολικό για την παραγωγή. Μπορείτε να το αναπτύξετε με το Docker σε λίγα βήματα, οπότε είναι σχετικά εύκολο να το ρυθμίσετε.

Η παγίδα; Είναι συνδεδεμένο με το οικοσύστημα του Hugging Face, οπότε αν δεν είστε ήδη σε αυτόν τον κόσμο, μπορεί να σας φανεί περιοριστικό. Παρόλα αυτά, για μια επιλογή plug-and-play που είναι έτοιμη για χρήση, το TGI είναι μια εξαιρετική επιλογή.

LMDeploy: Αποδοτική ανάπτυξη με ανώτερη ταχύτητα αποκωδικοποίησης

Το LMDeploy είναι μια εργαλειοθήκη από τις ομάδες MMRazor και MMDeploy, που δημιουργήθηκε για να συμπιέζει, να αναπτύσσει και να εκτελεί μεγάλα γλωσσικά μοντέλα χωρίς φασαρία. Τι το κάνει να ξεχωρίζει; Έχει εξαιρετική ταχύτητα αποκωδικοποίησης - έως και 1,8 φορές περισσότερες αιτήσεις ανά δευτερόλεπτο από το vLLM σε μια GPU A100. Αυτό οφείλεται σε τεχνάσματα όπως η επίμονη ομαδοποίηση, η αποκλεισμένη προσωρινή αποθήκευση KV και οι επιδέξιοι πυρήνες CUDA που κρατούν την GPU απασχολημένη.

LMDeploy

Διαθέτει δύο κινητήρες: TurboMind για μέγιστη απόδοση και έναν PyTorch για ευκολότερη μαστορέματα. Το TurboMind είναι το αστέρι εδώ-προωθεί την εξαγωγή συμπερασμάτων 4-bit 2,4x ταχύτερα από το FP16, και χειρίζεται μεγάλα μοντέλα όπως το Llama-2 70B με ευκολία. Μπορείτε επίσης να κβαντίσετε τα βάρη και τις κρυφές μνήμες KV για να εξοικονομήσετε μνήμη χωρίς να βλάψετε την ακρίβεια. Η ανάπτυξη είναι επίσης πανεύκολη - μία εντολή δημιουργεί έναν διακομιστή σε πολλαπλά μηχανήματα, αν το χρειάζεστε. Επιπλέον, θυμάται το ιστορικό συνομιλιών σε συνομιλίες πολλαπλών γύρων, ώστε να μη χάνεται χρόνος για την επανάληψη παλιάς εργασίας.

Το μειονέκτημα; Το TurboMind είναι επιλεκτικό - δεν παίζει καλά με μοντέλα προσοχής με συρόμενο παράθυρο όπως το Mistral. Και αν δεν χρησιμοποιείτε GPUs NVIDIA, έχετε κολλήσει με την πιο αργή μηχανή PyTorch. Παρόλα αυτά, για ταχύτητα και απλότητα στο σωστό υλικό, το LMDeploy είναι μια εξαιρετική επιλογή.

Σύγκριση επιδόσεων: Κλιμάκωση: Καθυστέρηση, Απόδοση και Επεκτασιμότητα

Ας δούμε πώς αυτές οι μηχανές συγκρίνονται με την καθυστέρηση (πόσο γρήγορα τελειώνει ένα αίτημα), την απόδοση (πόσα αιτήματα μπορούν να απορροφήσουν) και την επεκτασιμότητα (πόσο καλά χειρίζονται μεγαλύτερα φορτία ή περισσότερο υλικό).

Το TensorRT-LLM λάμπει στην καθυστέρηση αν έχετε GPUs NVIDIA. Είναι ιδιαίτερα βελτιστοποιημένο για το υλικό της NVIDIA, οπότε οι μεμονωμένες αιτήσεις ολοκληρώνονται γρήγορα: κάτω από 50ms για τα περισσότερα μοντέλα σε έναν A100. Η απόδοση είναι επίσης εξαιρετική, ειδικά με τη δυναμική ομαδοποίηση. Τα benchmarks της BentoML δείχνουν ότι αυτή η μηχανή φτάνει τα 700 tokens ανά δευτερόλεπτο σε 100 ταυτόχρονους χρήστες για το Llama 3 70B Q4 σε μια GPU A100 80GB. Η TensorRT-LLM έχει ισχυρές επιδόσεις σε σενάρια με μεγάλες εισόδους και υψηλούς ρυθμούς αιτήσεων, προσφέροντας καλή απόδοση. Η επεκτασιμότητα σε πολλαπλές GPU υποστηρίζεται εξ αρχής με εξαιρετικές επιδόσεις.

Το vLLM έχει επίσης καλή απόδοση, ιδίως σε φόρτους εργασίας με μεγάλη κατανάλωση αποκωδικοποίησης, με υψηλή απόδοση και χαμηλή καθυστέρηση μετά από πρόσφατες ενημερώσεις. Τα benchmarks από την BentoML δείχνουν ότι αυτή η μηχανή φτάνει τα 600-650 tokens ανά δευτερόλεπτο σε 100 ταυτόχρονους χρήστες για το Llama 3 70B Q4 σε μια GPU A100 80GB. Η καθυστέρηση είναι καλή αλλά όχι τόσο καλή όσο η TensorRT-LLM: περίπου 60-80ms για solo runs. Κλιμακώνεται καλά σε όλες τις GPU, ακόμη και με ανάμειξη εμπορικών σημάτων, αλλά είναι λιγότερο γυαλισμένο για τεράστιες ρυθμίσεις.

Το Hugging Face TGI έχει παρόμοιες επιδόσεις με το vLLM, παρέχοντας μια ισορροπία απόδοσης και ευκολίας χρήσης. Η καθυστέρηση είναι αξιοπρεπής: 50-70ms σε μια καλή GPU. Τα benchmarks της BentoML δείχνουν ότι αυτή η μηχανή φτάνει τα 600-650 tokens ανά δευτερόλεπτο σε 100 ταυτόχρονους χρήστες για το Llama 3 70B Q4 σε μια GPU A100 80GB. Είναι κατασκευασμένη για να κλιμακώνεται για παραγωγή, οπότε διαχειρίζεται ομαλά περισσότερους χρήστες ή μηχανήματα, ειδικά με το Docker.

Το LMDeploy κερδίζει στην ταχύτητα αποκωδικοποίησης. Υπερέχει στο ρυθμό δημιουργίας συμβόλων, ειδικά για μικρότερα μοντέλα, και έχει χαμηλό χρόνο για το πρώτο συμβόλαιο (TTFT) για κβαντισμένα μεγάλα μοντέλα. Η καθυστέρηση είναι χαμηλή: 40-60ms. Και η απόδοση είναι εξαιρετική. Τα benchmarks της BentoML δείχνουν ότι αυτή η μηχανή φτάνει τα 700 tokens ανά δευτερόλεπτο σε 100 ταυτόχρονους χρήστες για το Llama 3 70B Q4 σε μια GPU A100 80GB. Η κλιμάκωση είναι εύκολη με τη ρύθμιση του διακομιστή της, αλλά στηρίζεται σκληρά στις GPU της NVIDIA για τα καλύτερα αποτελέσματα- η λειτουργία PyTorch υστερεί.

Τελική γραμμή: Οι TensorRT-LLM και LMDeploy προηγούνται στην ακατέργαστη ταχύτητα. Η επιλογή σας εξαρτάται από το υλικό σας και το πόσες αιτήσεις χειρίζεστε.

Δυνατότητες κβαντισμού

Η κβάντιση μειώνει την ακρίβεια του μοντέλου για να μειώσει τη χρήση μνήμης και να επιταχύνει την εξαγωγή συμπερασμάτων, κάτι που είναι σημαντικό για περιβάλλοντα με περιορισμένους πόρους. Δείτε πώς αποδίδει κάθε μηχανή:

Το TensorRT-LLM υποστηρίζει FP8, FP4, INT4 με Activation-aware Weight Quantization (AWQ) και INT8 με SmoothQuant, προσφέροντας ισχυρές επιλογές για τη βελτιστοποίηση της απόδοσης της GPU NVIDIA.

Το vLLM παρέχει ευελιξία με GPTQ, AWQ, INT4, INT8 και FP8, προσαρμοζόμενο σε διάφορες ανάγκες υλικού και ακρίβειας.

Το Hugging Face TGI ενσωματώνει το bitsandbytes για κβαντισμό 8-bit και 4-bit και το GPT-Q για κβαντισμό μόνο με βάση το βάρος, κατάλληλο για παραγωγικές εφαρμογές.

Το LMDeploy προσφέρει AWQ 4-bit, κβάντιση 8-bit και online κβάντιση κρυφής μνήμης INT8/INT4 KV, ενισχύοντας την αποδοτικότητα για μεγάλα μοντέλα σε περιορισμένο υλικό.

Συμβατότητα υλικού

Η υποστήριξη υλικού καθορίζει το πού μπορείτε να αναπτύξετε αυτές τις μηχανές, επηρεάζοντας την επεκτασιμότητα και την απόδοση:

Το TensorRT-LLM είναι αποκλειστικό για το NVIDIA CUDA, αξιοποιώντας επιταχυντές GPU για υψηλές επιδόσεις.

Το vLLM υποστηρίζει NVIDIA CUDA, AMD ROCm, AWS Neuron και CPU, προσφέροντας ευρεία συμβατότητα για διαφορετικές ρυθμίσεις.

Το Hugging Face TGI λειτουργεί με NVIDIA CUDA, AMD ROCm, Intel Gaudi και AWS Inferentia, παρέχοντας ευελιξία για διάφορα περιβάλλοντα υλικού.

Το LMDeploy είναι βελτιστοποιημένο για NVIDIA CUDA, εξασφαλίζοντας κορυφαίες επιδόσεις σε GPU της NVIDIA, αλλά με περιορισμένη υποστήριξη για άλλες πλατφόρμες.

Ευκολία χρήσης

Η διαδικασία εγκατάστασης και ενσωμάτωσης μπορεί να επηρεάσει τα χρονοδιαγράμματα ανάπτυξης. Δείτε πώς τα καταφέρνει κάθε μηχανή:

Το TensorRT-LLM απαιτεί τη μετατροπή σημείων ελέγχου, την κατασκευή της μηχανής TensorRT και τη διαμόρφωση παραμέτρων, καθιστώντας το δύσκολο και χρονοβόρο για τους μηχανικούς.

Το vLLM είναι φιλικό προς το χρήστη με αναλυτική τεκμηρίωση, εύκολη εγκατάσταση και απρόσκοπτη ενσωμάτωση της βιβλιοθήκης Python.

Το Hugging Face TGI επωφελείται από το οικοσύστημα του Hugging Face, προσφέροντας προ-δημιουργημένες εικόνες Docker και λεπτομερή τεκμηρίωση για γρήγορη ανάπτυξη.

Το LMDeploy διαθέτει μια απλή ρύθμιση με μια μόνο εντολή για την εκκίνηση του διακομιστή και APIs Python για προσαρμογή, εξισορροπώντας την ευκολία με την ευελιξία.

Συμπέρασμα

Η επιλογή της σωστής μηχανής εξαρτάται από την περίπτωση χρήσης, το υλικό και τις δεξιότητές σας.

Η TensorRT-LLM είναι η μηχανή εξαγωγής συμπερασμάτων που θα χρησιμοποιήσετε αν εκτελείτε μεγάλα μοντέλα σε GPUs NVIDIA και χρειάζεστε κάθε ίχνος ταχύτητας (σκεφτείτε εφαρμογές χαμηλής καθυστέρησης όπως chatbots πραγματικού χρόνου ή βοηθοί AI όπου οι απαντήσεις πρέπει να παράγονται σε χιλιοστά του δευτερολέπτου). Είναι ιδανικό για εταιρείες που έχουν ήδη εντρυφήσει βαθιά στον κόσμο της NVIDIA, αλλά μπορεί να είναι υπερβολικό αν αναζητάτε απλότητα.

Το vLLM είναι ένας εξαιρετικός συμβιβασμός μεταξύ ταχύτητας και απλότητας. Λειτουργεί πολύ καλά για νεοσύστατες επιχειρήσεις ή ερευνητές που θέλουν κάτι ευέλικτο και γρήγορο στη δημιουργία.

Το Hugging Face TGI είναι ισοδύναμο με το vLLM από άποψη ταχύτητας και απλότητας. Είναι εύκολο στην ανάπτυξη, κλιμακώνεται ομαλά και συνδέεται με τον κόμβο μοντέλων της Hugging Face, οπότε είναι ιδανικό για ομάδες που θέλουν μια λύση χωρίς φασαρία.

Το LMDeploy λάμπει στις επιδόσεις, όπως και το TensorRT-LLM. Ταιριάζει σε χρήστες με GPUs NVIDIA που θέλουν απλή εγκατάσταση και κορυφαίες επιδόσεις, αλλά είναι λιγότερο βολικό αν τα μοντέλα σας δεν παίζουν καλά με το TurboMind.

Εάν δεν μπορείτε ή δεν θέλετε να αναπτύξετε το δικό σας μοντέλο GenAI μόνοι σας, μπορείτε να χρησιμοποιήσετε το NLP Cloud και να αξιοποιήσετε γρήγορα παραγωγικά μοντέλα AI σε κλίμακα παραγωγής. Δοκιμάστε γρήγορη εξαγωγή συμπερασμάτων στο NLP Cloud τώρα!

Αν έχετε ερωτήσεις σχετικά με τις μηχανές εξαγωγής συμπερασμάτων γενικά, μη διστάσετε να μας ρωτήσετε, είναι πάντα χαρά μας να σας συμβουλεύουμε!

Julien
CTO στο NLP Cloud