Jah, saate Raspberry Pi-l käivitada LLM-i "AI vestlusroti"! Lihtsalt järgige seda samm-sammult protsessi ja seejärel küsige midagi.

Suured keelemudelid, mida üldiselt (ja ebatäpselt) AI-dena tuntakse, on juba kuid ähvardanud kirjastamis-, kunsti- ja õigusmaailma pea peale lüüa. Üks negatiivne külg on see, et LLM-ide (nt ChatGPT) kasutamine tähendab konto loomist ja selle töö laskmist kellegi teise arvutis. Kuid saate oma Raspberry Pi-s käivitada koolitatud LLM-i, et kirjutada luulet, vastata küsimustele ja teha muud.

Mis on suur keelemudel?

Suured keelemudelid kasutavad sõnade ja fraaside vaheliste seoste ja mustrite leidmiseks masinõppe algoritme. Olles koolitatud tohutute andmehulkade alal, suudavad nad ennustada, millised sõnad on statistiliselt tõenäoliselt järgmised, kui neile viipa antakse.

Kui te küsiksite tuhandetelt inimestelt, kuidas nad end täna tunnevad, vastaksid vastused: "Minuga on kõik korras", "Võiks olla hullemini", "OK, aga mu põlved mängivad üles". Vestlus pöörduks siis teise suunda. Võib-olla küsiks inimene teie enda tervise kohta või ütleks: „Vabandust, ma pean jooksma. Ma jään tööle hiljaks."

instagram viewer

Arvestades neid andmeid ja esialgset viipa, peaks suur keelemudel suutma anda oma veenva ja originaalse vastuse, mis põhineb tõenäosus, et teatud sõna tuleb jadas järgmisena, kombineerituna eelseadistatud juhuslikkuse, korduste karistuste ja muuga parameetrid.

Tänapäeval kasutatavad suured keelemudelid ei ole treenitud mõne tuhande inimese vokaalile. Selle asemel antakse neile kujuteldamatu hulk andmeid, mis on kogutud avalikult kättesaadavatest kogudest, sotsiaalmeedia platvormidelt, veebilehtedelt, arhiividest ja aeg-ajalt kohandatud andmekogumitest.

LLM-e koolitavad inimteadlased, kes tugevdavad teatud mustreid ja annavad need algoritmile tagasi. Kui küsite suurelt keelemudelilt "milline on parim koer?", suudab see anda vastuse, mis ütleb teile, et Jack Russelli terjer on parim koer, ja põhjendab seda.

Kuid hoolimata sellest, kui intelligentne või veenvalt ja inimlikult loll vastus on, ei mudel ega masin seda jookseb on mõistus ja nad ei suuda mõista ei küsimust ega sõnu, mis moodustavad vastuseks. See on lihtsalt matemaatika ja palju andmeid.

Miks kasutada Raspberry Pi-s suurt keelemudelit?

Suured keelemudelid on kõikjal ja suured otsinguettevõtted võtavad need kasutusele, et aidata päringutele vastata.

Kuigi on ahvatlev visata loomuliku keele küsimus ettevõtte musta kasti, soovite mõnikord otsida inspiratsiooni või esitada küsimusi, ilma et peaksite lisama uusi andmeid. järelevalvekapitalism.

Eksperimentaalse plaadina nokitsejatele Raspberry Pi ühe pardaarvuti on filosoofiliselt, kui mitte füüsiliselt, selleks ettevõtmiseks sobiv.

2023. aasta veebruaris kuulutas Meta (endise nimega Facebook) välja LLaMA, uue LLM-i, millel on 7–65 miljardi parameetriga keelemudelid. LLaMA koolitati avalikult kättesaadavate andmekogumite abil,

LLaMA kood on avatud lähtekoodiga, mis tähendab, et igaüks saab seda kasutada ja kohandada ning "kaalud" või parameetrid postitati järgmiselt. torrentid ja magnetlingid projekti lõimes GitHubi leht.

2023. aasta märtsis avaldas arendaja Georgi Gerganov lama.cpp, mis võib töötada suure hulga riistvaraga, sealhulgas Raspberry Pi-ga. Kood töötab lokaalselt ja Metale andmeid ei saadeta.

Installige llama.cpp rakendusse Raspberry Pi

Lama.cpp jaoks pole avaldatud riistvarajuhiseid, kuid see nõuab väga palju protsessorit, RAM-i ja salvestusruumi. Veenduge, et kasutate seda Raspberry Pi 4B või 400-ga, millel on nii palju mälu, Virtuaalne mälu, ja SSD ruumi on saadaval nii palju kui võimalik. SD-kaart ei hakka seda lõikama ja korraliku jahutusega korpus on kohustuslik.

Me kasutame 7 miljardi parameetri mudelit, nii et külastage seda LLamA GitHubi niitja laadige alla 7B torrent, kasutades sellist klienti nagu qBittorrent või Aria.

Kloonige hoidla llama.cpp ja kasutage seejärel faili cd käsk uude kataloogi liikumiseks:

git kloon https://github.com/ggerganov/llama.cpp
cdlaama.cpp

Kui teil pole kompilaatorit installitud, installige see kohe koos:

sudo apt-saada installige g++

Nüüd koostage projekt selle käsuga:

tegema

On võimalus, et faili llama.cpp kompileerimine ebaõnnestub ja näete hulga veateateid, mis on seotud "vdotq_s32"-ga. Kui see juhtub, peate kohustuse tagasi võtma. Esmalt määrake oma kohalik git-kasutaja:

git config user.name "Taavet"

Nüüd saate eelmise kohustuse tagasi võtta:

git revert 84d9015

Nano tekstiredaktoris avaneb git commit teade. Vajutage Ctrl + O säästma siis Ctrl + X nanost väljumiseks. llama.cpp peaks nüüd ilma vigadeta kompileerima, kui sisestate:

tegema

Peate looma kataloogi kaalutud mudelite jaoks, mida kavatsete kasutada:

mkdir mudelid

Nüüd teisaldage kaalutud mudelid saidilt LlaMa kataloog:

mv ~/Downloads/LLaMA/* ~/llama.cpp/models/

Veenduge, et teie Pi-sse oleks installitud Python 3, ja installige llama.cpp sõltuvused:

python3 -m pip installida tõrvik tuim lause

NumPy versioon võib põhjustada probleeme. Uuendage seda:

pip installida tuim -- uuendada

Nüüd teisendage 7B mudel ggml FP16 vormingusse:

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

Eelmine samm on äärmiselt mälumahukas ja kasutab meie hinnangul vähemalt 16 GB muutmälu. See on ka üliaeglane ja ebaõnnestub.

Parema tulemuse saavutate, kui järgite neid juhiseid paralleelselt lauaarvutis ja kopeerite seejärel faili /models/7B/ggml-model-q4_0.bin samasse asukohta oma Raspberry Pi-s.

Kvantige mudel 4-bitiseks:

./quantize.sh 7B

See on kõik. LLaMA LLM on nüüd teie Raspberry Pi-sse installitud ja kasutamiseks valmis!

Lama.cpp kasutamine Raspberry Pi-s

Lama.cpp kasutamise alustamiseks veenduge, et olete projektikataloogis ja sisestage järgmine käsk:

./main -m ./models/7B/ggml-model-q4_0.bin -t 4 -n 128 -lk "Mis on Linuxi kernel?"

The -m võimalus on suunata llama.cpp mudelile, mida soovid seda kasutada; -t näitab lõimede arvu, mida soovite kasutada; -n on ennustatavate märkide arv; -lk on teie viip. Saate kohandada kõiki neid muutujaid.

Seadke end pikaks ootamiseks, sest kuigi Raspberry Pi on oma töös suurepärane, pole see mõeldud seda tüüpi protsessori tegevuseks. Meie näiteviipa jagas laama teksti kaheksaks üksikuks märgiks, enne kui andis järgmise vastuse:

Lühidalt, Linuxi tuuma on alati nimetatud operatsioonisüsteemiks. Kuid seda ei peeta tegelikult üheks, kuna praktilistel eesmärkidel on enamik selle funktsioone avaldatakse API-de ja utiliitide kaudu, mida saab kasutada mis tahes muu OS, mis soovib (või vajab) neile juurdepääsu API(d). Mis puutub Linuxi tuumasse, siis pole tegeliku tuumaga palju pistmist. See lihtsalt käivitub, saab konfiguratsiooniparameetrid teie valitud alglaadurist/initrd-st, seejärel käivitab selle mõne riistvaraga ja hakkate tegelema mis tahes äriga, mis sel hetkel kaasa toob

Kuigi see oli üsna ühtne vastus, saadi teise katse tulemuseks midagi jämedalt tükeldatud sõna salatit:

Enamik teist on ilmselt sellest kuulnud, kuid ei tea tegelikult, millest nad räägivad. Arutame seda üksikasjalikult, sest nende täielik mõistmine aitab meil arvuteid rohkem kasutada tõhusalt ja ka paremaid otsuseid teha, kui ostate uut riist- või tarkvara koju või kontorisse jne.. Linuxi kernel on enamiku operatsioonisüsteemide selgroog, mis töötab arvutisüsteemis, näiteks Androidis, mis on osaliselt sellel tuumal põhinev avatud lähtekoodiga operatsioonisüsteem. Aga mida nad täpselt mõtlevad, öeldes linux kernal?

Linus Torvalds on oma mõtted kirja pannud (teadmised)

Siinkohal tasub mainida, et kõigi nende vastuste valmistamine võttis peaaegu kaks tundi ja kõik neli protsessorituuma töötasid 100% ulatuses. Töö projektiga liigub aga kiiresti ja võite oodata, et eelseisvad ARM-i optimeerimised vähendavad aega.

Saate simuleerida ka terveid vestlusi oma LLM-iga, selle asemel, et seda ükshaaval ette anda. Lisades -i suvand käivitab laama interaktiivses režiimis, samas --interaktiivne-start küsib alguses sisendit. Saadaolevate valikute täieliku loendi vaatamiseks käivitage:

peamine -h

Pidage meeles, et LlaMA-l ei ole piiravaid reegleid. See on mõnikord seksistlik, rassistlik, homofoobne ja väga vale.

Suur keelemudel ei asenda tõelisi teadmisi

Meta LLaMA kasutamine Raspberry Pi peal on meeletult lahe ja sul võib tekkida kiusatus pöörduda oma virtuaalse guru poole tehniliste küsimuste, elunõuannete, sõpruse või tõelise teadmiste allikana. Ärge laske end petta. Suured keelemudelid ei tea midagi, ei tunne midagi ega mõista midagi. Kui vajate milleski abi, on parem rääkida inimesega või lugeda midagi inimese kirjutatud.

Kui aega napib, saate seda oma Linuxi terminalis kiirlugeda!