Εισαγωγή
Η εκτέλεση μεγάλων γλωσσικών μοντέλων ήταν πάντα μια κουραστική διαδικασία. Κάποιος πρέπει να κατεβάσει ένα σετ λογισμικού τρίτων για να φορτώσει αυτά τα LLM ή να κατεβάσει Python και να δημιουργήσει ένα περιβάλλον κατεβάζοντας πολλές βιβλιοθήκες Pytorch και HuggingFace. Αν κάποιος περάσει από την Pythonic Approach, πρέπει να περάσει από τη διαδικασία γραφής κώδικα για λήψη και εκτέλεση του μοντέλου. Αυτός ο οδηγός θα εξετάσει μια ευκολότερη προσέγγιση για τη λειτουργία αυτών των LLM.
Στόχοι μάθησης
- Κατανοήστε τις προκλήσεις της παραδοσιακής εκτέλεσης LLM
- Αποκτήστε την καινοτόμο ιδέα του Llamafiles
- Μάθετε να κατεβάζετε και να τρέχετε εύκολα τα δικά σας εκτελέσιμα αρχεία Llamafile
- Εκμάθηση δημιουργίας Llamfiles από κβαντισμένα LLM
- Προσδιορίστε τους περιορισμούς αυτής της προσέγγισης
Αυτό το άρθρο δημοσιεύθηκε ως μέρος του Data Science Blogathon.
Πίνακας περιεχομένων
Προβλήματα με μεγάλα γλωσσικά μοντέλα
Τα μεγάλα γλωσσικά μοντέλα (LLM) έχουν φέρει επανάσταση στον τρόπο με τον οποίο αλληλεπιδρούμε με τους υπολογιστές, δημιουργώντας κείμενο, μεταφράζοντας γλώσσες, γράφοντας διαφορετικά είδη δημιουργικού περιεχομένου και ακόμη και απαντώντας στις ερωτήσεις σας με κατατοπιστικό τρόπο. Ωστόσο, η εκτέλεση αυτών των ισχυρών μοντέλων στον υπολογιστή σας ήταν συχνά δύσκολη.
Για να τρέξουμε τα LLM, πρέπει να κατεβάσουμε Python και πολλές εξαρτήσεις AI, και επιπλέον, πρέπει να γράψουμε ακόμη και κώδικα για να τα κατεβάσουμε και να τα εκτελέσουμε. Ακόμη και κατά την εγκατάσταση των έτοιμων προς χρήση διεπαφής χρήστη για μοντέλα μεγάλων γλωσσών, περιλαμβάνει πολλές ρυθμίσεις, οι οποίες μπορούν εύκολα να πάνε στραβά. Η εγκατάσταση και η εκτέλεση τους σαν εκτελέσιμο δεν ήταν μια απλή διαδικασία.
Τι είναι τα Llamafiles;
Τα Llamafiles δημιουργούνται για να λειτουργούν εύκολα με δημοφιλή μοντέλα μεγάλων γλωσσών ανοιχτού κώδικα. Αυτά είναι εκτελέσιμα με ένα αρχείο. Είναι ακριβώς σαν να κατεβάζετε ένα LLM και να το τρέχετε σαν ένα εκτελέσιμο αρχείο. Δεν υπάρχει ανάγκη για αρχική εγκατάσταση βιβλιοθηκών. Όλα αυτά ήταν δυνατά χάρη στο llama.cpp και το κοσμοπολίτικο libc, το οποίο κάνει τα LLM να λειτουργούν σε διαφορετικά λειτουργικά συστήματα.
Το llama.cpp αναπτύχθηκε από τον Georgi Gerganov για την εκτέλεση μοντέλων μεγάλων γλωσσών σε κβαντισμένη μορφή, ώστε να μπορούν να εκτελούνται σε μια CPU. Το llama.cpp είναι μια βιβλιοθήκη C που μας επιτρέπει να εκτελούμε κβαντισμένα LLM σε καταναλωτικό υλικό. Από την άλλη πλευρά, το cosmopolitan libc είναι μια άλλη βιβλιοθήκη C που δημιουργεί ένα δυαδικό αρχείο που μπορεί να τρέξει σε οποιοδήποτε λειτουργικό σύστημα (Windows, Mac, Ubuntu) χωρίς να χρειάζεται διερμηνέας. Έτσι, το Llamafile είναι χτισμένο πάνω από αυτές τις βιβλιοθήκες, γεγονός που του επιτρέπει να δημιουργεί εκτελέσιμα LLM ενός αρχείου
Τα διαθέσιμα μοντέλα είναι σε κβαντισμένη μορφή GGUF. Το GGUF είναι μια μορφή αρχείου για μοντέλα μεγάλων γλωσσών που αναπτύχθηκε από τον Georgi Gerganov, τον δημιουργό του llama.cpp. Το GGUF είναι μια μορφή για την αποθήκευση, την κοινή χρήση και τη φόρτωση μοντέλων μεγάλων γλωσσών αποτελεσματικά και αποδοτικά σε CPU και GPU. Το GGUF χρησιμοποιεί μια τεχνική κβαντοποίησης για τη συμπίεση των μοντέλων από την αρχική τους κινητή υποδιαστολή 16-bit σε μια μορφή ακέραιου αριθμού 4-bit ή 8-bit. Τα βάρη αυτού του κβαντισμένου μοντέλου μπορούν να αποθηκευτούν σε αυτήν τη μορφή GGUF
Αυτό καθιστά απλούστερη την εκτέλεση μοντέλων 7 δισεκατομμυρίων παραμέτρων σε υπολογιστή με VRAM 16 GB. Μπορούμε να εκτελέσουμε τα μοντέλα μεγάλων γλωσσών χωρίς να απαιτείται GPU (αν και το Llamafile μας επιτρέπει ακόμη και να εκτελούμε τα LLM σε μια GPU). Αυτήν τη στιγμή, τα llamafiles των δημοφιλών μοντέλων ανοιχτού κώδικα μεγάλης γλώσσας όπως το LlaVa, το Mistral και το WizardCoder είναι άμεσα διαθέσιμα για λήψη και εκτέλεση
One Shot Executables
Σε αυτήν την ενότητα, θα κατεβάσουμε και θα δοκιμάσουμε να εκτελέσουμε ένα πολυτροπικό LlaVa Llamafile. Εδώ, δεν θα δουλέψουμε με GPU και θα τρέξουμε το μοντέλο σε CPU. Μεταβείτε στο επίσημο αποθετήριο Llamafile GitHub κάνοντας κλικ εδώ και λήψη του μοντέλου LlaVa 1.5.
Κατεβάστε το μοντέλο
Η παραπάνω εικόνα δείχνει όλα τα διαθέσιμα μοντέλα με τα ονόματά τους, τα μεγέθη και τους συνδέσμους με δυνατότητα λήψης. Το LlaVa 1.5 είναι περίπου 4 GB και είναι ένα ισχυρό πολυμοντέλο που μπορεί να κατανοήσει τις εικόνες. Το μοντέλο λήψης είναι ένα μοντέλο παραμέτρων 7 δισεκατομμυρίων που έχει κβαντιστεί σε 4 bit. Αφού κατεβάσετε το μοντέλο, μεταβείτε στο φάκελο όπου έγινε λήψη του.
Στη συνέχεια, ανοίξτε το CMD, πλοηγηθείτε στο φάκελο όπου γίνεται λήψη αυτού του μοντέλου, πληκτρολογήστε το όνομα του αρχείου που κατεβάσαμε και πατήστε enter.
llava-v1.5-7b-q4.llamafile
Για χρήστες Mac και Linux
Για Mac και Linux, από προεπιλογή, η άδεια εκτέλεσης είναι απενεργοποιημένη για αυτό το αρχείο. Ως εκ τούτου, πρέπει να παρέχουμε το δικαίωμα εκτέλεσης για το llamafile, το οποίο μπορούμε να το κάνουμε εκτελώντας την παρακάτω εντολή.
chmod +x llava-v1.5-7b-q4.llamafile
Αυτό γίνεται για να ενεργοποιηθεί η άδεια εκτέλεσης για το llava-v1.5-7b-q4.llamafile. Επίσης, προσθέστε το "./" πριν από το όνομα του αρχείου για να εκτελέσετε το αρχείο σε Mac και Linux. Αφού πατήσετε τη λέξη-κλειδί enter, το μοντέλο θα προωθηθεί στη μνήμη RAM του συστήματος και θα εμφανίσει την ακόλουθη έξοδο.
Στη συνέχεια, το πρόγραμμα περιήγησης θα εμφανιστεί και το μοντέλο θα εκτελείται στη διεύθυνση URL http://127.0.0.1:8080/
Η παραπάνω εικόνα δείχνει το προεπιλεγμένο μήνυμα προτροπής, το όνομα χρήστη, το όνομα LLM, το πρότυπο προτροπής και το πρότυπο ιστορικού συνομιλίας. Αυτά μπορούν να ρυθμιστούν, αλλά προς το παρόν, θα πάμε με τις προεπιλεγμένες τιμές.
Παρακάτω, μπορούμε ακόμη και να ελέγξουμε τις διαμορφώσιμες υπερπαραμέτρους LLM όπως το Top P, το Top K, το Temperature και άλλες. Ακόμα και αυτά, θα τα αφήσουμε να είναι προεπιλεγμένα προς το παρόν. Τώρα ας πληκτρολογήσουμε κάτι και ας κάνουμε κλικ στην αποστολή.
Στην παραπάνω φωτογραφία, μπορούμε να δούμε ότι έχουμε πληκτρολογήσει ένα μήνυμα και μάλιστα έχουμε λάβει απάντηση. Κάτω από αυτό, μπορούμε να ελέγξουμε ότι παίρνουμε περίπου 6 διακριτικά ανά δευτερόλεπτο, κάτι που είναι καλό token/δευτερόλεπτο, δεδομένου ότι το εκτελούμε εξ ολοκλήρου σε CPU. Αυτή τη φορά, ας το δοκιμάσουμε με μια εικόνα.
Αν και δεν είναι 100% σωστό, το μοντέλο θα μπορούσε σχεδόν να πάρει τα περισσότερα πράγματα σωστά από την Εικόνα. Τώρα ας κάνουμε μια συνομιλία πολλαπλών στροφών με το LlaVa για να ελέγξουμε αν θυμάται το ιστορικό συνομιλιών.
Στην παραπάνω φωτογραφία, μπορούμε να δούμε ότι το LlaVa LLM ήταν σε θέση να κρατήσει καλά τη συνομιλία. Θα μπορούσε να λάβει μέρος στη συζήτηση για το ιστορικό και στη συνέχεια να δημιουργήσει τις απαντήσεις. Αν και η τελευταία απάντηση που δημιουργήθηκε δεν είναι απολύτως αληθής, συγκέντρωσε την προηγούμενη συνομιλία για να τη δημιουργήσει. Έτσι, με αυτόν τον τρόπο, μπορούμε να κατεβάσουμε ένα llamafile και απλώς να το εκτελέσουμε σαν λογισμικό και να δουλέψουμε με αυτά τα μοντέλα που έχετε λάβει.
Δημιουργία Llamafiles
Έχουμε δει ένα demo του Llamafile που ήταν ήδη παρόν στο επίσημο GitHub. Συχνά, δεν θέλουμε να δουλέψουμε με αυτά τα μοντέλα. Αντίθετα, θέλουμε να δημιουργήσουμε εκτελέσιμα μεμονωμένα αρχεία των Μεγάλων Γλωσσικών Μοντέλων μας. Σε αυτήν την ενότητα, θα προχωρήσουμε στη διαδικασία δημιουργίας εκτελέσιμων μεμονωμένων αρχείων, δηλαδή αρχείων λάμα από κβαντισμένα LLM.
Επιλέξτε ένα LLM
Αρχικά θα ξεκινήσουμε επιλέγοντας ένα Μεγάλο Μοντέλο Γλώσσας. Για αυτό το demo, θα επιλέξουμε μια κβαντισμένη έκδοση του TinyLlama. Εδώ, θα κατεβάσουμε το 8-bit κβαντισμένο μοντέλο GGUF του TinyLlama (Μπορείτε να κάνετε κλικ εδώ για να μεταβείτε στο HuggingFace και να κατεβάσετε το μοντέλο)
Κατεβάστε το πιο πρόσφατο Llamafile
Μπορείτε να κατεβάσετε το πιο πρόσφατο zip του llamafile από τον επίσημο σύνδεσμο GitHub. Επίσης, κατεβάστε το zip και εξαγάγετε το αρχείο zip. Η τρέχουσα έκδοση αυτού του άρθρου είναι llama file-0.6. Μετά την εξαγωγή λάμα, ο φάκελος bin με φάκελο αρχείου θα περιέχει τα αρχεία όπως η παρακάτω εικόνα.
Τώρα μετακινήστε το ληφθέν κβαντισμένο μοντέλο TinyLlama 8-bit σε αυτόν τον φάκελο bin. Για να δημιουργήσουμε τα εκτελέσιμα με ένα αρχείο, πρέπει να δημιουργήσουμε ένα αρχείο .args στον φάκελο bin του llamafile. Σε αυτό το αρχείο, πρέπει να προσθέσουμε το ακόλουθο περιεχόμενο:
-m
tinyllama-1.1b-chat-v0.3.Q8_0.gguf
--host
0.0.0.0
...
- Η πρώτη γραμμή δείχνει τη σημαία -m. Αυτό λέει στο llamafile ότι φορτώνουμε στα βάρη ενός μοντέλου.
- Στη δεύτερη γραμμή, καθορίζουμε το όνομα μοντέλου που έχουμε κατεβάσει, το οποίο υπάρχει στον ίδιο κατάλογο στον οποίο υπάρχει το αρχείο .args, δηλαδή ο φάκελος bin του llamafile.
- Στην τρίτη γραμμή, προσθέτουμε τη σημαία κεντρικού υπολογιστή, υποδεικνύοντας ότι εκτελούμε το εκτελέσιμο αρχείο και θέλουμε να το φιλοξενήσουμε σε έναν διακομιστή web.
- Τέλος, στην τελευταία γραμμή, αναφέρουμε τη διεύθυνση που θέλουμε να φιλοξενήσουμε, η οποία αντιστοιχίζεται σε localhost. Ακολουθούν οι τρεις τελείες, οι οποίες καθορίζουν ότι μπορούμε να περάσουμε ορίσματα στο llamafile μας μόλις δημιουργηθεί.
- Προσθέστε αυτές τις γραμμές στο αρχείο .args και αποθηκεύστε το.
Για χρήστες Windows
Τώρα, το επόμενο βήμα είναι για τους χρήστες των Windows. Αν εργαζόμασταν σε Windows, έπρεπε να έχουμε εγκαταστήσει το Linux μέσω του WSL. Εάν όχι, κάντε κλικ εδώ για να ακολουθήσετε τα βήματα εγκατάστασης Linux μέσω του WSL. Σε Mac και Linux, δεν απαιτούνται πρόσθετα βήματα. Τώρα ανοίξτε το φάκελο bin του φακέλου llamafile στο τερματικό (αν εργάζεστε σε Windows, ανοίξτε αυτόν τον κατάλογο στο WSL) και πληκτρολογήστε τις ακόλουθες εντολές.
cp llamafile tinyllama-1.1b-chat-v0.3.Q8_0.llamafile
Εδώ, δημιουργούμε ένα νέο αρχείο που ονομάζεται tinyllama-1.1b-chat-v0.3.Q3_0.llamafile; Δηλαδή, δημιουργούμε ένα αρχείο με την επέκταση .llamafile και μετακινούμε το αρχείο llamafile σε αυτό το νέο αρχείο. Τώρα, ακολουθώντας αυτό, θα πληκτρολογήσουμε αυτήν την επόμενη εντολή.
./zipalign -j0 tinyllama-1.1b-chat-v0.3.Q8_0.llamafile tinyllama-1.1b-chat-v0.3.Q8_0.gguf .args
Εδώ εργαζόμαστε με το αρχείο zipalign που ήρθε όταν κατεβάσαμε το zip του llamafile από το GitHub. Εργαζόμαστε με αυτήν την εντολή για να δημιουργήσουμε το llamafile για το κβαντισμένο TinyLlama. Σε αυτήν την εντολή zipalign, περνάμε στο tinyllama-1.1b-chat-v0.3.Q8_0.llamafile που δημιουργήσαμε στο προηγούμενο βήμα και μετά περνάμε το tinyllama-1.1b-chat-v0.3.Q8_0.llamafile μοντέλο που έχουμε στο φάκελο bin και τέλος περνάμε στο αρχείο .args που έχουμε δημιουργήσει νωρίτερα.
Αυτό τελικά θα δημιουργήσει το μοναδικό μας εκτελέσιμο αρχείο tinyllama-1.1b-chat-v0.3.Q8_0.llamafile. Για να διασφαλίσουμε ότι βρισκόμαστε στην ίδια σελίδα, ο φάκελος bin περιέχει πλέον τα ακόλουθα αρχεία.
Τώρα, μπορούμε να εκτελέσουμε το αρχείο tinyllama-1.1b-chat-v0.3.Q8_0.llama με τον ίδιο τρόπο που κάναμε πριν. Στα Windows, μπορείτε ακόμη και να μετονομάσετε το .llamafile σε .exe και να το εκτελέσετε κάνοντας διπλό κλικ.
Συμβατός διακομιστής OpenAI
Αυτή η ενότητα θα εξετάσει τον τρόπο εξυπηρέτησης LLM μέσω του αρχείου Llam. Έχουμε παρατηρήσει ότι όταν εκτελούμε το αρχείο llama, ανοίγει το πρόγραμμα περιήγησης και μπορούμε να αλληλεπιδράσουμε με το LLM μέσω του WebUI. Αυτό είναι βασικά αυτό που ονομάζουμε φιλοξενία του μοντέλου Large Language.
Μόλις εκτελέσουμε το Llamafile, μπορούμε να αλληλεπιδράσουμε με το αντίστοιχο LLM ως τελικό σημείο, επειδή το μοντέλο εξυπηρετείται στον τοπικό κεντρικό υπολογιστή στο PORT 8080. Ο διακομιστής ακολουθεί το Πρωτόκολλο OpenAI API, δηλαδή, παρόμοιο με το OpenAI GPT Endpoint, κάνοντας έτσι είναι εύκολο να κάνετε εναλλαγή μεταξύ του μοντέλου OpenAI GPT και του LLM που εκτελείται με το Llamafile.
Εδώ, θα τρέξουμε το TinyLlama llamafile που δημιουργήθηκε προηγουμένως. Τώρα, αυτό πρέπει να εκτελείται στον localhost 8080. Τώρα θα το δοκιμάσουμε μέσω του ίδιου του OpenAI API στην Python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1",
api_key = "sk-no-key-required"
)
completion = client.chat.completions.create(
model="TinyLlama",
messages=[
{"role": "system", "content": "You are a usefull AI
Assistant who helps answering user questions"},
{"role": "user", "content": "Distance between earth to moon?"}
]
)
print(completion.choices[0].message.content)
- Εδώ, εργαζόμαστε με τη βιβλιοθήκη OpenAI. Αλλά αντί να καθορίσουμε το τελικό σημείο OpenAI, καθορίζουμε τη διεύθυνση URL όπου φιλοξενείται το TinyLlama και δίνουμε το "sk-no-token-required" για το api_key
- Στη συνέχεια, ο πελάτης θα συνδεθεί στο τελικό σημείο TinyLlama
- Τώρα, όπως εργαζόμαστε με το OpenAI, μπορούμε να χρησιμοποιήσουμε τον κώδικα για να συνομιλήσουμε με το TinyLlama.
- Για αυτό, συνεργαζόμαστε με το συμπληρώσεις τάξη του OpenAI. Δημιουργούμε νέα συμπληρώσεις με .δημιουργώ() αντιταχθείτε και περάστε τα στοιχεία όπως το όνομα του μοντέλου και τα μηνύματα.
- Τα μηνύματα έχουν τη μορφή λίστας λεξικών, όπου έχουμε τον ρόλο, ο οποίος μπορεί να είναι σύστημα, χρήστης ή βοηθός, και έχουμε το περιεχόμενο.
- Τέλος, μπορούμε να ανακτήσουμε τις πληροφορίες που δημιουργήθηκαν μέσω της παραπάνω δήλωσης εκτύπωσης.
Η έξοδος για τα παραπάνω μπορείτε να δείτε παρακάτω.
Με αυτόν τον τρόπο, μπορούμε να αξιοποιήσουμε τα llamafiles και να αντικαταστήσουμε το OpenAI API εύκολα με το llamafile που επιλέξαμε να τρέξουμε.
Llamafiles Limitations
Ενώ είναι επαναστατικά, τα llamafiles είναι ακόμα υπό ανάπτυξη. Μερικοί περιορισμοί περιλαμβάνουν:
- Περιορισμένη επιλογή μοντέλου: Επί του παρόντος, δεν είναι όλα τα LLM διαθέσιμα με τη μορφή llamafiles. Η τρέχουσα επιλογή των προκατασκευασμένων Llamafiles εξακολουθεί να αυξάνεται. Επί του παρόντος, τα Llamafiles είναι διαθέσιμα για τα Llama 2, LlaVa, Mistral και Wizard Coder.
- Απαιτήσεις υλικού: Η εκτέλεση LLM, ακόμη και μέσω των Llamafiles, απαιτεί ακόμα πολλούς υπολογιστικούς πόρους. Αν και είναι πιο εύκολο να εκτελεστούν από τις παραδοσιακές μεθόδους, οι παλαιότεροι ή λιγότερο ισχυροί υπολογιστές μπορεί να χρειάζονται βοήθεια για την ομαλή λειτουργία τους.
- ΘΕΜΑΤΑ ΑΣΦΑΛΕΙΑΣ: Η λήψη και η εκτέλεση εκτελέσιμων αρχείων από μη αξιόπιστες πηγές εγκυμονεί εγγενείς κινδύνους. Πρέπει λοιπόν να υπάρχει μια αξιόπιστη πλατφόρμα όπου μπορούμε να κατεβάσουμε αυτά τα llamafiles.
Llamafiles vs the Rest
Πριν από το Llamafiles, υπήρχαν διαφορετικοί τρόποι εκτέλεσης μοντέλων μεγάλων γλωσσών. Το ένα ήταν μέσω του llama_cpp_python. Αυτή είναι η έκδοση Python του llama.cpp που μας επιτρέπει να εκτελούμε κβαντισμένα μοντέλα μεγάλων γλωσσών σε καταναλωτικό υλικό, όπως φορητούς υπολογιστές και επιτραπέζιους υπολογιστές. Αλλά για να το εκτελέσουμε, πρέπει να κατεβάσουμε και να εγκαταστήσουμε βιβλιοθήκες Python, ακόμη και βαθιάς εκμάθησης, όπως φακό, huggingface, μετασχηματιστές και πολλά άλλα. Και μετά από αυτό, περιλάμβανε τη συγγραφή πολλών γραμμών κώδικα για την εκτέλεση του μοντέλου.
Ακόμη και τότε, μερικές φορές, μπορεί να αντιμετωπίσουμε προβλήματα λόγω προβλημάτων εξάρτησης (δηλαδή, ορισμένες βιβλιοθήκες έχουν χαμηλότερες ή υψηλότερες εκδόσεις από τις αναγκαίες). Και υπάρχει επίσης το Μετασχηματιστές CT βιβλιοθήκη που μας επιτρέπει να τρέξουμε κβαντισμένα LLM. Ακόμη και αυτό απαιτεί την ίδια διαδικασία που έχουμε συζητήσει για το llama_cpp_python
Και τότε, υπάρχει Ολάμα. Το Ollama ήταν εξαιρετικά επιτυχημένο στην κοινότητα AI για την ευκολία χρήσης του για εύκολη φόρτωση και εκτέλεση μοντέλων μεγάλων γλωσσών, ειδικά των κβαντισμένων. Το Ollama είναι ένα είδος TUI (Terminal User Interface) για LLMs. Η μόνη διαφορά μεταξύ του Ollama και του Llamafile είναι η δυνατότητα κοινής χρήσης. Δηλαδή, αν θέλω, μπορώ να μοιραστώ το model.llamafile μου με οποιονδήποτε και μπορεί να το τρέξει χωρίς να κατεβάσει κάποιο επιπλέον λογισμικό. Αλλά στην περίπτωση του Ollama, πρέπει να μοιραστώ το αρχείο model.gguf, το οποίο μπορεί να τρέξει ο άλλος μόνο όταν εγκαταστήσει το λογισμικό Ollama ή μέσω των παραπάνω βιβλιοθηκών Python.
Όσον αφορά τους πόρους, όλοι απαιτούν την ίδια ποσότητα πόρων επειδή όλες αυτές οι μέθοδοι χρησιμοποιούν το llama.cpp από κάτω για να εκτελέσουν τα κβαντισμένα μοντέλα. Αφορά μόνο την ευκολία χρήσης όπου υπάρχουν διαφορές μεταξύ τους.
Συμπέρασμα
Τα Llamafiles σηματοδοτούν ένα κρίσιμο βήμα προς τα εμπρός για να γίνουν τα LLM εύκολα λειτουργικά. Η ευκολία χρήσης και η φορητότητά τους ανοίγει έναν κόσμο δυνατοτήτων για προγραμματιστές, ερευνητές και απλούς χρήστες. Αν και υπάρχουν περιορισμοί, η δυνατότητα των llamafiles να εκδημοκρατίσουν την πρόσβαση LLM είναι εμφανής. Είτε είστε έμπειρος προγραμματιστής είτε περίεργος αρχάριος, το Llamafiles ανοίγει συναρπαστικές δυνατότητες για να εξερευνήσετε τον κόσμο των LLM. Σε αυτόν τον οδηγό, έχουμε ρίξει μια ματιά στον τρόπο λήψης των Llamafiles και ακόμη και στον τρόπο δημιουργίας των δικών μας Llamafiles με τα κβαντισμένα μοντέλα μας . Έχουμε ακόμη ρίξει μια ματιά στον διακομιστή συμβατό με OpenAI που δημιουργείται κατά την εκτέλεση του Llamafiles.
Βασικές τακτικές
- Τα Llamafiles είναι εκτελέσιμα με ένα αρχείο που κάνουν την εκτέλεση μεγάλων γλωσσικών μοντέλων (LLM) ευκολότερη και πιο εύκολα διαθέσιμη.
- Εξαλείφουν την ανάγκη για πολύπλοκες ρυθμίσεις και διαμορφώσεις, επιτρέποντας στους χρήστες να κάνουν λήψη και εκτέλεση LLM απευθείας χωρίς απαιτήσεις Python ή GPU.
- Τα Llamafiles είναι αυτή τη στιγμή διαθέσιμα για περιορισμένη επιλογή LLM ανοιχτού κώδικα, συμπεριλαμβανομένων των LlaVa, Mistral και WizardCoder.
- Αν και είναι βολικό, τα Llamafiles εξακολουθούν να έχουν περιορισμούς, όπως τις απαιτήσεις υλικού και τα προβλήματα ασφάλειας που σχετίζονται με τη λήψη εκτελέσιμων αρχείων από μη αξιόπιστες πηγές.
- Παρά αυτούς τους περιορισμούς, το Llamafiles αντιπροσωπεύει ένα σημαντικό βήμα προς τον εκδημοκρατισμό της πρόσβασης LLM για προγραμματιστές, ερευνητές, ακόμη και περιστασιακούς χρήστες.
Συχνές Ερωτήσεις
Α. Τα Llamafiles παρέχουν αρκετά πλεονεκτήματα σε σχέση με τις παραδοσιακές μεθόδους διαμόρφωσης LLM. Κάνουν τα LLM ευκολότερα και πιο γρήγορα στη ρύθμιση και την εκτέλεση επειδή δεν χρειάζεται να εγκαταστήσετε Python ή να έχετε GPU. Αυτό καθιστά τα LLM πιο εύκολα διαθέσιμα σε ένα ευρύτερο κοινό. Επιπλέον, τα Llamafiles μπορούν να εκτελούνται σε διαφορετικά λειτουργικά συστήματα.
Α. Ενώ τα Llamafile παρέχουν πολλά οφέλη, έχουν επίσης ορισμένους περιορισμούς. Η επιλογή των LLM που διατίθενται στο Llamafiles είναι περιορισμένη σε σύγκριση με τις παραδοσιακές μεθόδους. Επιπλέον, η εκτέλεση LLM μέσω του Llamafiles εξακολουθεί να απαιτεί μεγάλο όγκο πόρων υλικού και οι παλαιότεροι ή λιγότερο ισχυροί υπολογιστές ενδέχεται να μην το υποστηρίζουν. Τέλος, ζητήματα ασφάλειας σχετίζονται με τη λήψη και την εκτέλεση εκτελέσιμων αρχείων από μη αξιόπιστες πηγές.
Α. Για να ξεκινήσετε με το Llamafile, μπορείτε να επισκεφτείτε το επίσημο αποθετήριο Llamafile GitHub. Εκεί, μπορείτε να κάνετε λήψη του Llamafile για το μοντέλο LLM που θέλετε να χρησιμοποιήσετε. Αφού κατεβάσετε το αρχείο, μπορείτε να το εκτελέσετε απευθείας σαν ένα εκτελέσιμο αρχείο.
A. Όχι. Προς το παρόν, το Llamafiles υποστηρίζει μόνο συγκεκριμένα προκατασκευασμένα μοντέλα. Η δημιουργία των δικών μας Llamafiles σχεδιάζεται για μελλοντικές εκδόσεις.
Α. Οι προγραμματιστές του Llamafiles εργάζονται για να επεκτείνουν την επιλογή των διαθέσιμων μοντέλων LLM, να τα τρέξουν πιο αποτελεσματικά και να εφαρμόσουν μέτρα ασφαλείας. Αυτές οι εξελίξεις στοχεύουν να κάνουν τα Llamafiles ακόμα πιο διαθέσιμα και ασφαλή για περισσότερα άτομα που έχουν μικρό τεχνικό υπόβαθρο.
Τα μέσα που εμφανίζονται σε αυτό το άρθρο δεν ανήκουν στο Analytics Vidhya και χρησιμοποιούνται κατά την κρίση του συγγραφέα.
Σχετικά:
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- πηγή: https://www.analyticsvidhya.com/blog/2024/01/using-llamafiles-to-simplify-llm-execution/
- :έχει
- :είναι
- :δεν
- :που
- ][Π
- $UP
- 1
- 11
- 12
- 14
- 3
- 7
- 9
- a
- Ικανός
- Σχετικα
- πάνω από
- πρόσβαση
- απέναντι
- προσθέτω
- Πρόσθετος
- Επιπλέον
- διεύθυνση
- εξελίξεις
- πλεονεκτήματα
- Μετά το
- AI
- στοχεύουν
- Όλα
- Επιτρέποντας
- επιτρέπει
- σχεδόν
- ήδη
- Επίσης
- πάντοτε
- ποσό
- an
- analytics
- Ανάλυση Vidhya
- και
- Άλλος
- απάντηση
- κάθε
- κάποιος
- api
- εμφανής
- πλησιάζω
- ΕΙΝΑΙ
- επιχειρήματα
- γύρω
- άρθρο
- AS
- Βοηθός
- συσχετισμένη
- At
- ακροατήριο
- διαθέσιμος
- φόντο
- Βασικα
- BE
- επειδή
- ήταν
- πριν
- είναι
- παρακάτω
- οφέλη
- μεταξύ
- Δισεκατομμύριο
- BIN
- blogathon
- πρόγραμμα περιήγησης
- Χτίζει
- χτισμένο
- αλλά
- by
- κλήση
- που ονομάζεται
- ήρθε
- CAN
- περίπτωση
- ανέμελος
- προκλήσεις
- πρόκληση
- chat
- έλεγχος
- επέλεξε
- κλικ
- πελάτης
- κωδικός
- κωδικοποιητή
- κοινότητα
- σύγκριση
- σύμφωνος
- ολοκλήρωση
- συγκρότημα
- υπολογιστική
- υπολογιστή
- υπολογιστές
- έννοια
- Πιθανά ερωτήματα
- διαμόρφωση
- έχει ρυθμιστεί
- συνδεδεμένος
- θεωρώντας
- καταναλωτής
- Καταναλωτικό υλικό
- περιέχουν
- Περιέχει
- περιεχόμενο
- Βολικός
- Συνομιλία
- θα μπορούσε να
- CPU
- δημιουργία
- δημιουργήθηκε
- δημιουργία
- Δημιουργικός
- δημιουργός
- κρίσιμος
- περίεργος
- Ρεύμα
- Τη στιγμή
- βαθύς
- βαθιά μάθηση
- Προεπιλογή
- Διαδήλωση
- εκδημοκρατίζω
- Δημοκρατικός
- εξαρτήσεις
- Εξάρτηση
- επιφάνεια εργασίας
- καθέκαστα
- αναπτύχθηκε
- Εργολάβος
- προγραμματιστές
- Ανάπτυξη
- DID
- διαφορά
- διαφορές
- διαφορετικές
- κατευθείαν
- διακριτικότητα
- συζήτηση
- απόσταση
- do
- Μην
- κατεβάσετε
- δυο
- e
- Νωρίτερα
- γη
- ευκολία
- ευκολία στη χρήση
- ευκολότερη
- εύκολα
- εύκολος
- αποτελεσματικά
- αποτελεσματικά
- την εξάλειψη
- Τελικό σημείο
- εξασφαλίζω
- εισάγετε
- εξ ολοκλήρου
- Περιβάλλον
- ειδικά
- Even
- συναρπαστικός
- εκτελέσει
- εκτέλεση
- Ανάπτυξη
- εμπειρογνώμονας
- Εξερευνώντας
- επέκταση
- εκχύλισμα
- Πρόσωπο
- γρηγορότερα
- Αρχεία
- Αρχεία
- Τελικά
- Όνομα
- επιπλέων
- ακολουθείται
- Εξής
- εξής
- Για
- μορφή
- μορφή
- Προς τα εμπρός
- από
- μελλοντικός
- συγκεντρώθηκαν
- παράγουν
- παράγεται
- παραγωγής
- παίρνω
- να πάρει
- GitHub
- Δώστε
- Go
- μετάβαση
- καλός
- GPU
- GPU
- Μεγαλώνοντας
- καθοδηγήσει
- χέρι
- υλικού
- Έχω
- βοήθεια
- βοηθά
- ως εκ τούτου
- εδώ
- υψηλότερο
- υψηλά
- ιστορία
- οικοδεσπότης
- φιλοξενείται
- φιλοξενία
- Πως
- Πώς να
- Πώς Δουλεύουμε
- Ωστόσο
- http
- HTTPS
- Πρόσωπο αγκαλιάς
- i
- if
- εικόνα
- εικόνες
- εφαρμογή
- εισαγωγή
- σημαντικό
- in
- περιλαμβάνουν
- Συμπεριλαμβανομένου
- υποδηλώνει
- υποδεικνύοντας
- πληροφορίες
- πληροφοριακός
- συμφυής
- αρχικός
- καινοτόμες
- εγκαθιστώ
- εγκατάσταση
- εγκατάσταση
- αντί
- αλληλεπιδρούν
- περιβάλλον λειτουργίας
- σε
- συμμετέχουν
- περιλαμβάνει
- θέματα
- IT
- ΤΟΥ
- εαυτό
- μόλις
- Διατήρηση
- Είδος
- Γλώσσα
- Γλώσσες
- φορητούς υπολογιστές
- large
- Επίθετο
- αργότερο
- μάθηση
- μείον
- ας
- Αφήνει
- Μόχλευση
- βιβλιοθήκες
- Βιβλιοθήκη
- Μου αρέσει
- περιορισμούς
- Περιωρισμένος
- γραμμή
- γραμμές
- LINK
- ΣΥΝΔΕΣΜΟΙ
- linux
- Λιστα
- λίγο
- Είδος μικρής καμήλας
- φορτίο
- φόρτωση
- τοπικός
- ματιά
- Παρτίδα
- χαμηλότερα
- mac
- κάνω
- ΚΑΝΕΙ
- Κατασκευή
- πολοί
- χάρτες
- σημάδι
- Ενδέχεται..
- μέτρα
- Εικόνες / Βίντεο
- αναφέρω
- μήνυμα
- μηνύματα
- μέθοδοι
- Microsoft
- μοντέλο
- μοντέλα
- Σελήνη
- περισσότερο
- πλέον
- μετακινήσετε
- κίνηση
- πολύ
- πρέπει
- my
- όνομα
- ονόματα
- Πλοηγηθείτε
- απαραίτητος
- Ανάγκη
- που απαιτούνται
- χρειάζονται
- Νέα
- επόμενη
- Όχι.
- αρχάριος
- τώρα
- αντικείμενο
- of
- off
- επίσημος ανώτερος υπάλληλος
- συχνά
- ηλικιωμένων
- on
- μια φορά
- ONE
- αυτά
- αποκλειστικά
- ανοίξτε
- ανοικτού κώδικα
- OpenAI
- ανοίγει
- λειτουργίας
- λειτουργικά συστήματα
- or
- πρωτότυπο
- ΑΛΛΑ
- Άλλα
- δικός μας
- παραγωγή
- επί
- δική
- ανήκει
- σελίδα
- παράμετρος
- μέρος
- κόμμα
- passieren
- υπολογιστές
- People
- για
- άδεια
- person
- εικόνα
- προγραμματίζονται
- πλατφόρμες
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- Δημοφιλής
- φορητότητα
- δυνατότητες
- δυνατός
- δυναμικού
- ισχυρός
- παρόν
- τύπος
- προηγούμενος
- προηγουμένως
- προβλήματα
- διαδικασια μας
- παράγει
- προοπτικές
- πρωτόκολλο
- παρέχουν
- δημοσιεύθηκε
- πίεσε
- Python
- pytorch
- Ερωτήσεις
- αρκετά
- RAM
- πρόθυμα
- έλαβε
- αντικαθιστώ
- Αποθήκη
- αντιπροσωπεύει
- απαιτούν
- απαιτείται
- απαιτήσεις
- Απαιτεί
- ερευνητές
- Υποστηρικτικό υλικό
- εκείνοι
- απάντησης
- απαντήσεις
- επαναστατικός
- επανάσταση
- δεξιά
- κινδύνους
- Ρόλος
- τρέξιμο
- τρέξιμο
- ίδιο
- Αποθήκευση
- Επιστήμη
- Δεύτερος
- Τμήμα
- προστατευμένο περιβάλλον
- ασφάλεια
- Μέτρα ασφαλείας
- δείτε
- δει
- επιλέξτε
- επιλογή
- επιλογή
- στείλετε
- σερβίρεται
- διακομιστής
- σειρά
- διάφοροι
- Κοινοποίηση
- μοιράζονται
- βολή
- δείχνουν
- παρουσιάζεται
- Δείχνει
- παρόμοιες
- Απλούς
- απλούστερη
- απλοποίηση
- ενιαίας
- μεγέθη
- ομαλά
- So
- λογισμικό
- μερικοί
- κάτι
- μερικές φορές
- Πηγή
- Πηγές
- συγκεκριμένες
- Εκκίνηση
- ξεκίνησε
- Δήλωση
- Βήμα
- Βήματα
- Ακόμη
- αποθηκεύονται
- επιτυχής
- υποστήριξη
- Υποστηρίζει
- διακόπτης
- σύστημα
- συστήματα
- Πάρτε
- λαμβάνεται
- Τεχνικός
- τεχνική
- λέει
- πρότυπο
- τερματικό
- δοκιμή
- κείμενο
- από
- ότι
- Η
- οι πληροφορίες
- ο κόσμος
- τους
- Τους
- τότε
- Εκεί.
- Αυτοί
- αυτοί
- πράγματα
- Τρίτος
- αυτό
- εκείνοι
- αν και?
- τρία
- Μέσω
- Ετσι
- ώρα
- προς την
- κουπόνια
- κορυφή
- δάδα
- προς
- παραδοσιακός
- μετασχηματιστές
- αληθής
- αξιόπιστος
- προσπαθώ
- τύπος
- Ubuntu
- υπό
- κάτω από
- καταλαβαίνω
- URL
- us
- χρήση
- μεταχειρισμένος
- Χρήστες
- Διεπαφής χρήστη
- Χρήστες
- χρησιμοποιεί
- χρησιμοποιώντας
- Αξίες
- εκδοχή
- πολύ
- μέσω
- Επίσκεψη
- vs
- θέλω
- ήταν
- Τρόπος..
- τρόπους
- we
- ιστός
- του web server
- webp
- ΛΟΙΠΌΝ
- ήταν
- Τι
- πότε
- αν
- Ποιό
- ενώ
- Ο ΟΠΟΊΟΣ
- ευρύτερο
- θα
- παράθυρα
- Χρήστες Windows
- με
- χωρίς
- Εργασία
- εργαζόμενος
- κόσμος
- γράφω
- γράψτε κώδικα
- γραφή
- Λανθασμένος
- εσείς
- Σας
- zephyrnet
- Zip