Ναι, μπορείτε να εκτελέσετε ένα LLM "AI chatbot" σε ένα Raspberry Pi! Απλώς ακολουθήστε αυτή τη διαδικασία βήμα προς βήμα και μετά ρωτήστε το οτιδήποτε.

Τα μεγάλα γλωσσικά μοντέλα, γνωστά γενικά (και ανακριβώς) ως AI, απειλούν να ανατρέψουν τον εκδοτικό, τον καλλιτεχνικό και τον νομικό κόσμο εδώ και μήνες. Ένα μειονέκτημα είναι ότι η χρήση LLM όπως το ChatGPT σημαίνει ότι δημιουργείτε έναν λογαριασμό και έχετε τον υπολογιστή κάποιου άλλου να κάνει τη δουλειά. Αλλά μπορείτε να εκτελέσετε ένα εκπαιδευμένο LLM στο Raspberry Pi σας για να γράψετε ποίηση, να απαντήσετε σε ερωτήσεις και πολλά άλλα.

Τι είναι ένα μοντέλο μεγάλων γλωσσών;

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

Αν ρωτούσατε χιλιάδες ανθρώπους πώς αισθάνονται σήμερα, οι απαντήσεις θα ήταν όπως, "Είμαι καλά", "Θα μπορούσε να είναι χειρότερο", "Εντάξει, αλλά τα γόνατά μου παίζουν ψηλά". Στη συνέχεια, η συζήτηση θα είχε διαφορετική κατεύθυνση. Ίσως το άτομο να ρωτήσει για τη δική σας υγεία ή να ακολουθήσει «Συγγνώμη, πρέπει να τρέξω. Έχω αργήσει στη δουλειά».

instagram viewer

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

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

Τα LLM εκπαιδεύονται από ανθρώπινους ερευνητές που θα ενισχύσουν ορισμένα μοτίβα και θα τα ανατροφοδοτήσουν στον αλγόριθμο. Όταν ρωτάτε ένα μεγαλόσωμο γλωσσικό μοντέλο «ποιο είναι το καλύτερο είδος σκύλου;», θα μπορέσει να απαντήσει ότι το τεριέ Jack Russell είναι το καλύτερο είδος σκύλου και να σας εξηγήσει γιατί.

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

Γιατί να εκτελέσετε ένα μοντέλο μεγάλης γλώσσας στο Raspberry Pi;

Μεγάλα μοντέλα γλωσσών υπάρχουν παντού και υιοθετούνται από μεγάλες εταιρείες αναζήτησης για να βοηθήσουν στην απάντηση ερωτημάτων.

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

Ως πειραματικός πίνακας για τεχνίτες, το Υπολογιστής μονής πλακέτας Raspberry Pi είναι φιλοσοφικά, αν όχι φυσικά, κατάλληλο για την προσπάθεια.

Τον Φεβρουάριο του 2023, η Meta (η εταιρεία παλαιότερα γνωστή ως Facebook) ανακοίνωσε το LLaMA, ένα νέο LLM που διαθέτει μοντέλα γλώσσας μεταξύ 7 και 65 δισεκατομμυρίων παραμέτρων. Το LLaMA εκπαιδεύτηκε χρησιμοποιώντας δημόσια διαθέσιμα σύνολα δεδομένων,

Ο κώδικας LLaMA είναι ανοιχτού κώδικα, που σημαίνει ότι ο καθένας μπορεί να τον χρησιμοποιήσει και να τον προσαρμόσει και τα «βαρίδια» ή οι παράμετροι δημοσιεύτηκαν ως torrents και μαγνητικές συνδέσεις σε ένα νήμα στο έργο Σελίδα GitHub.

Τον Μάρτιο του 2023, ο προγραμματιστής Georgi Gerganov κυκλοφόρησε λάμα.cpp, το οποίο μπορεί να λειτουργήσει σε μια τεράστια γκάμα υλικού, συμπεριλαμβανομένου του Raspberry Pi. Ο κώδικας εκτελείται τοπικά και δεν αποστέλλονται δεδομένα στο Meta.

Εγκαταστήστε το llama.cpp στο Raspberry Pi

Δεν υπάρχουν δημοσιευμένες οδηγίες υλικού για το llama.cpp, αλλά είναι εξαιρετικά απαιτητικό για επεξεργαστή, RAM και αποθήκευση. Βεβαιωθείτε ότι το χρησιμοποιείτε σε Raspberry Pi 4B ή 400 με τόση μνήμη, εικονική μνήμη, και όσο το δυνατόν περισσότερο διαθέσιμος χώρος SSD. Μια κάρτα SD δεν πρόκειται να το κόψει, και μια θήκη με αξιοπρεπή ψύξη επιβάλλεται.

Θα χρησιμοποιήσουμε το μοντέλο παραμέτρων των 7 δισεκατομμυρίων, οπότε επισκεφτείτε αυτό Νήμα LLamA GitHubκαι κατεβάστε το torrent 7B χρησιμοποιώντας έναν πελάτη όπως το qBittorrent ή το Aria.

Κλωνοποιήστε το αποθετήριο llama.cpp και, στη συνέχεια, χρησιμοποιήστε το CD εντολή για να μετακινηθείτε στον νέο κατάλογο:

git κλώνος https://github.com/ggerganov/llama.cpp
CDείδος μικρής καμήλας.cpp

Εάν δεν έχετε εγκατεστημένο μεταγλωττιστή, εγκαταστήστε έναν τώρα με:

sudo apt-παίρνω εγκαταστήστε το g++

Τώρα μεταγλωττίστε το έργο με αυτήν την εντολή:

φτιαχνω, κανω

Υπάρχει περίπτωση να αποτύχει η μεταγλώττιση του llama.cpp και θα δείτε ένα σωρό μηνύματα σφάλματος που σχετίζονται με το "vdotq_s32". Εάν συμβεί αυτό, πρέπει να επαναφέρετε μια δέσμευση. Πρώτα, ορίστε τον τοπικό σας χρήστη git:

git config user.name "Δαβίδ"

Τώρα μπορείτε να επαναφέρετε μια προηγούμενη δέσμευση:

git revert 84d9015

Θα ανοίξει ένα μήνυμα git commit στο nano πρόγραμμα επεξεργασίας κειμένου. Τύπος Ctrl + O για να σώσει, λοιπόν Ctrl + X για έξοδο νανο. Το llama.cpp θα πρέπει τώρα να μεταγλωττιστεί χωρίς σφάλματα όταν εισάγετε:

φτιαχνω, κανω

Θα χρειαστεί να δημιουργήσετε έναν κατάλογο για τα σταθμισμένα μοντέλα που σκοπεύετε να χρησιμοποιήσετε:

μοντέλα mkdir

Τώρα μεταφέρετε τα σταθμισμένα μοντέλα από το Είδος μικρής καμήλας Ευρετήριο:

mv ~/Downloads/Είδος μικρής καμήλας/* ~/llama.cpp/models/

Βεβαιωθείτε ότι έχετε εγκαταστήσει την Python 3 στο Pi σας και εγκαταστήστε τις εξαρτήσεις llama.cpp:

python3 -m pip εγκαθιστώ πυρσός μουδιασμένος ποινή

Η έκδοση NumPy μπορεί να προκαλέσει προβλήματα. Αναβαθμίστε το:

κουκούτσι εγκαθιστώ μουδιασμένος --αναβαθμίζω

Τώρα μετατρέψτε το μοντέλο 7B σε μορφή ggml FP16:

python3 convert-pth-to-ggml.py models/7B/ 1

Το προηγούμενο βήμα είναι εξαιρετικά εντάσεως μνήμης και, κατά την άποψή μας, χρησιμοποιεί τουλάχιστον 16 GB RAM. Είναι επίσης εξαιρετικά αργό και επιρρεπές σε αποτυχία.

Θα έχετε καλύτερα αποτελέσματα ακολουθώντας αυτές τις οδηγίες παράλληλα σε έναν επιτραπέζιο υπολογιστή και, στη συνέχεια, αντιγράφοντας το αρχείο /models/7B/ggml-model-q4_0.bin στην ίδια τοποθεσία στο Raspberry Pi.

Κβαντίστε το μοντέλο σε 4 bit:

./quantize.sh 7B

Αυτό είναι. Το LLaMA LLM είναι τώρα εγκατεστημένο στο Raspberry Pi σας και έτοιμο για χρήση!

Χρησιμοποιώντας το llama.cpp στο Raspberry Pi

Για να ξεκινήσετε με το llama.cpp, βεβαιωθείτε ότι βρίσκεστε στον κατάλογο του έργου και εισαγάγετε την ακόλουθη εντολή:

./main -m ./models/7B/ggml-model-q4_0.bin -t 4 -n 128"Τι είναι ο πυρήνας του Linux;"

ο Η επιλογή είναι να κατευθύνετε το llama.cpp στο μοντέλο που θέλετε να χρησιμοποιήσετε. υποδεικνύει τον αριθμό των νημάτων που θέλετε να χρησιμοποιήσει. -n είναι ο αριθμός των μαρκών που πρέπει να προβλεφθούν. είναι η προτροπή σας. Μπορείτε να προσαρμόσετε όλες αυτές τις μεταβλητές.

Εγκαταστήστε για πολλή αναμονή, γιατί ενώ το Raspberry Pi είναι εξαιρετικό σε αυτό που κάνει, δεν σχεδιάστηκε για αυτού του είδους τη δραστηριότητα της CPU. Στην προτροπή του παραδείγματός μας, η λάμα αναλύει το κείμενο σε οκτώ μεμονωμένα διακριτικά, πριν δώσει την ακόλουθη απάντηση:

Το Linux Kernel, με λίγα λόγια, αναφέρεται πάντα ως λειτουργικό σύστημα. Ωστόσο, δεν θεωρείται πραγματικά ένα, καθώς για όλους τους πρακτικούς σκοπούς είναι οι περισσότερες από τις λειτουργίες του εκτίθενται μέσω API και βοηθητικών προγραμμάτων που μπορούν να χρησιμοποιηθούν από οποιοδήποτε άλλο λειτουργικό σύστημα που θέλει (ή χρειάζεται) πρόσβαση σε αυτά API(α). Όσον αφορά τον πυρήνα του Linux, δεν έχει πολλά να κάνει με τον πραγματικό πυρήνα. Θα ξεκινήσει μόλις, θα λάβει παραμέτρους διαμόρφωσης από το bootloader/initrd της επιλογής σας και, στη συνέχεια, θα τεθεί σε λειτουργία σε κάποιο υλικό και θα προχωρήσετε σε ό, τι συνεπάγεται σε αυτό το σημείο

Αν και αυτή ήταν μια αρκετά συνεκτική απάντηση, μια δεύτερη προσπάθεια οδήγησε σε κάτι που έμοιαζε με χοντροκομμένη λεκτική σαλάτα:

Οι περισσότεροι από εσάς πιθανότατα έχετε ακούσει για αυτό, αλλά δεν ξέρετε πραγματικά για τι πράγμα μιλάνε. Θα το συζητήσουμε λεπτομερώς γιατί η πλήρης κατανόηση τους μας βοηθά να χρησιμοποιούμε περισσότερο τους υπολογιστές μας αποτελεσματικά και επίσης να λαμβάνετε καλύτερες αποφάσεις όταν αγοράζετε νέο υλικό ή λογισμικό για τους υπολογιστές σας στο σπίτι, στα γραφεία και τα λοιπά.. Ο πυρήνας Linux είναι η ραχοκοκαλιά των περισσότερων λειτουργικών συστημάτων που εκτελούνται σε ένα σύστημα υπολογιστή όπως το android που είναι ένα λειτουργικό σύστημα ανοιχτού κώδικα που βασίζεται εν μέρει σε αυτόν τον πυρήνα. Αλλά τι ακριβώς εννοούν λέγοντας linux kernal;

Ο Linus Torvalds έχει γράψει τις σκέψεις του (Γνώση)

Αξίζει να αναφέρουμε σε αυτό το σημείο ότι καθεμία από αυτές τις αποκρίσεις χρειάστηκε σχεδόν δύο ώρες για να παραχθεί και ότι και οι τέσσερις πυρήνες CPU λειτουργούσαν στο 100% καθ' όλη τη διάρκεια. Ωστόσο, οι εργασίες για το έργο προχωρούν γρήγορα και μπορείτε να περιμένετε ότι οι επερχόμενες βελτιστοποιήσεις ARM θα μειώσουν τον χρόνο.

Μπορείτε επίσης να προσομοιώσετε ολόκληρες συνομιλίες με το LLM σας αντί να τροφοδοτείτε τις προτροπές μία κάθε φορά. Προσθέτοντας το -Εγώ η επιλογή θα ξεκινήσει το λάμα σε διαδραστική λειτουργία, ενώ --διαδραστική-έναρξη θα σας ζητήσει στοιχεία στην αρχή. Για μια πλήρη λίστα με τις διαθέσιμες επιλογές, εκτελέστε:

κύριος -η

Λάβετε υπόψη ότι το LlaMA δεν έχει περιοριστικούς κανόνες. Περιστασιακά, θα είναι σεξιστικό, ρατσιστικό, ομοφοβικό και πολύ λάθος.

Ένα μεγάλο μοντέλο γλώσσας δεν υποκαθιστά την πραγματική γνώση

Το να τρέχετε το LLaMA του Meta στο Raspberry Pi είναι τρελά και μπορεί να μπείτε στον πειρασμό να απευθυνθείτε στον εικονικό γκουρού σας για τεχνικές ερωτήσεις, συμβουλές ζωής, φιλία ή ως πραγματική πηγή γνώσης. Μην ξεγελιέστε. Τα μεγάλα γλωσσικά μοντέλα δεν ξέρουν τίποτα, δεν αισθάνονται τίποτα και δεν καταλαβαίνουν τίποτα. Αν χρειάζεσαι βοήθεια σε κάτι, καλύτερα να μιλήσεις με έναν άνθρωπο ή να διαβάσεις κάτι γραμμένο από άνθρωπο.

Εάν δεν έχετε χρόνο, μπορείτε να το διαβάσετε γρήγορα στο τερματικό Linux!