Igen, futtathat egy LLM "AI chatbotot" egy Raspberry Pi-n! Csak kövesse ezt a lépésről lépésre, majd kérdezzen tőle bármit.
Az általánosan (és pontatlanul) mesterséges intelligenciaként ismert nagy nyelvi modellek hónapok óta azzal fenyegetnek, hogy felforgatják a kiadói, művészeti és jogi világot. Az egyik hátránya, hogy az LLM-ek, például a ChatGPT használata azt jelenti, hogy létrehoz egy fiókot, és valaki más számítógépe végzi el a munkát. De futtathat egy képzett LLM-et Raspberry Pi-n, hogy verseket írjon, kérdéseket válaszoljon meg stb.
Mi az a nagynyelvi modell?
A nagy nyelvi modellek gépi tanulási algoritmusokat használnak a szavak és kifejezések közötti kapcsolatok és minták megtalálására. Hatalmas adatmennyiségre oktatva képesek megjósolni, hogy statisztikailag mely szavak következnek majd, ha felszólítást kapnak.
Ha emberek ezreit kérdeznéd meg, hogy érzik magukat ma, a válaszok a következőképpen hangzanak el: "Jól vagyok", "Lehetne rosszabb", "Rendben, de a térdem nem játszik". A beszélgetés ezután más irányba fordulna. Lehet, hogy a személy megkérdezi a saját egészségi állapotát, vagy ezt követi: "Sajnálom, futnom kell. Késésben vagyok a munkából."
Ezen adatok és a kezdeti felszólítás alapján egy nagy nyelvi modellnek képesnek kell lennie arra, hogy meggyőző és eredeti választ adjon a maga annak a valószínűsége, hogy egy bizonyos szó következik a sorozatban, előre beállított véletlenszerűséggel, ismétlési büntetésekkel és egyéb paramétereket.
A manapság használatos nagy nyelvi modellek nem néhány ezer ember voksolásán vannak kiképezve. Ehelyett elképzelhetetlen mennyiségű adatot kapnak nyilvánosan elérhető gyűjteményekből, közösségi média platformokról, weboldalakról, archívumokból és alkalmanként egyedi adatkészletekből.
Az LLM-eket humán kutatók képezik ki, akik megerősítenek bizonyos mintákat, és visszaadják őket az algoritmusnak. Ha megkérdezi egy nagy nyelvű modellt, hogy "mi a legjobb kutyafajta?", akkor képes lesz arra a választ adni, hogy a Jack Russell terrier a legjobb kutyafajta, és megindokolja, hogy miért.
De függetlenül attól, hogy mennyire intelligens vagy meggyőzően és emberileg buta a válasz, sem a modell, sem a gép nem futásnak van esze, és képtelenek megérteni sem a kérdést, sem a szavakat, amelyekből a válasz. Ez csak matematika és sok adat.
Miért futtasson nagy nyelvű modellt a Raspberry Pi-n?
A nagy nyelvi modellek mindenhol megtalálhatók, és a nagy keresőcégek alkalmazzák őket, hogy segítsenek a kérdések megválaszolásában.
Bár csábító egy természetes nyelvű kérdést egy vállalati fekete dobozra dobni, néha szeretne ihletet keresni, vagy feltenni egy kérdést anélkül, hogy még több adatot táplálna be felügyeleti kapitalizmus.
A bütykök kísérleti táblájaként a Raspberry Pi egylapos számítógép filozófiailag, ha nem is fizikailag, de alkalmas a törekvésre.
2023 februárjában a Meta (a korábban Facebook néven ismert cég) bejelentette a LLaMA-t, egy új LLM-et, amely 7 és 65 milliárd közötti paraméteres nyelvi modellekkel büszkélkedhet. A LLaMA-t nyilvánosan elérhető adatkészletek segítségével képezték ki,
A LLaMA kód nyílt forráskódú, ami azt jelenti, hogy bárki használhatja és adaptálhatja, a „súlyok” vagy paraméterek pedig torrentek és mágneses hivatkozások a projekt egyik szálában GitHub oldal.
2023 márciusában a fejlesztő Georgi Gerganov kiadta láma.cpp, amely számos hardveren futhat, beleértve a Raspberry Pi-t is. A kód helyileg fut, és nem küldenek adatokat a Metának.
Telepítse a llama.cpp-t a Raspberry Pi-re
A llama.cpp-hez nincsenek közzétett hardver irányelvek, de rendkívül processzor-, RAM- és tárhelyéhes. Győződjön meg róla, hogy Raspberry Pi 4B-n vagy 400-on futtatja annyi memóriával, virtuális memória, és lehetőség szerint elérhető SSD-terület. Egy SD-kártya nem fogja levágni, és tok tisztességes hűtéssel elengedhetetlen.
A 7 milliárd paraméteres modellt fogjuk használni, ezért látogassa meg ezt LLamA GitHub szál, és töltse le a 7B torrentet egy olyan kliens segítségével, mint a qBittorrent vagy az Aria.
Klónozza a llama.cpp tárat, majd használja a CD parancs az új könyvtárba lépéshez:
git klón https://github.com/ggerganov/llama.cpp
CDláma.cpp
Ha nincs telepítve fordítóprogram, telepítsen egyet most a következővel:
sudo apt-kap telepítse a g++-t
Most fordítsa le a projektet ezzel a paranccsal:
készítsenek
Lehetséges, hogy a llama.cpp nem fordítható le, és egy csomó hibaüzenetet fog látni a "vdotq_s32"-vel kapcsolatban. Ha ez megtörténik, vissza kell vonnia a kötelezettségvállalást. Először állítsa be a helyi git felhasználót:
git config user.name "Dávid"
Most már visszaállíthatod a korábbi véglegesítést:
git revert 84d9015
A nano szövegszerkesztőben megnyílik egy git commit üzenet. nyomja meg Ctrl + O akkor menteni Ctrl + X a nanoból való kilépéshez. A llama.cpp-nek most hiba nélkül kell lefordítania, amikor beírja:
készítsenek
Létre kell hoznia egy könyvtárat a használni kívánt súlyozott modellekhez:
mkdir modellek
Most vigye át a súlyozott modelleket a Láma Könyvtár:
mv ~/Downloads/Láma/* ~/llama.cpp/models/
Győződjön meg arról, hogy a Python 3 telepítve van a Pi-re, és telepítse a llama.cpp függőségeket:
python3 -m pip telepítés fáklya numpy mondatrész
A NumPy verzió problémákat okozhat. Frissítse:
csipog telepítés zsibbadt --frissítés
Most alakítsa át a 7B modellt ggml FP16 formátumba:
python3 convert-pth-to-ggml.py models/7B/ 1
Az előző lépés rendkívül memóriaigényes, és számításaink szerint legalább 16 GB RAM-ot használ. Szuper lassú és hajlamos a kudarcra.
Jobb eredményeket érhet el, ha ezeket az utasításokat párhuzamosan követi egy asztali számítógépen, majd másolja a fájlt /models/7B/ggml-model-q4_0.bin ugyanarra a helyre a Raspberry Pi-n.
Kvantálja a modellt 4 bitesre:
./quantize.sh 7B
Ez az. A LLaMA LLM már telepítve van Raspberry Pi-re, és használatra kész!
A llama.cpp használata Raspberry Pi-n
A llama.cpp használatának megkezdéséhez győződjön meg arról, hogy a projektkönyvtárban van, és írja be a következő parancsot:
./main -m ./models/7B/ggml-model-q4_0.bin -t 4 -n 128 -o "Mi az a Linux kernel?"
A -m lehetőség a llama.cpp átirányítása a használni kívánt modellre; -t jelzi a használni kívánt szálak számát; -n a megjósolandó tokenek száma; -o az Ön felszólítása. Bármelyik változót testreszabhatja.
Várjon sokáig, mert bár a Raspberry Pi kiváló abban, amit csinál, nem erre a fajta CPU-tevékenységre tervezték. Példaparancsunkban a láma nyolc egyedi tokenre bontotta a szöveget, mielőtt a következő választ adta volna:
Dióhéjban a Linux Kernelt mindig is operációs rendszerként emlegették. Azonban nem igazán tekinthető annak, mivel gyakorlati szempontból a legtöbb funkciója az API-kon és segédprogramokon keresztül érhető el, amelyeket bármely más operációs rendszer használhat, amely hozzá akar férni (vagy szüksége van rá). API-k. Ami magát a Linux kernelt illeti, nincs sok köze a tényleges rendszermaghoz. Csak elindul, megkapja a konfigurációs paramétereket a választott rendszerindítótól/initrd-től, majd elindítja valamilyen hardveren, és folytathatja az ezzel járó üzleti tevékenységet.
Noha ez meglehetősen koherens válasz volt, a második próbálkozás valami durvára vágott szósalátára emlékeztetett:
A legtöbben valószínűleg hallottak róla, de nem igazán tudják, miről beszélnek. Ezt részletesen meg fogjuk tárgyalni, mert ezek teljes megértése segít bennünket abban, hogy többet használjunk számítógépeinken hatékonyan és jobb döntéseket hoz, amikor új hardvert vagy szoftvert vásárol otthoni vagy irodai számítógépéhez stb.. A Linux Kernel a legtöbb operációs rendszer gerince, amely olyan számítógépes rendszeren fut, mint például az android, amely egy nyílt forráskódú operációs rendszer, amely részben ezen a kernelen alapul. De mit értenek pontosan azon, hogy Linux kernal?
Linus Torvalds leírta a gondolatait (Tudás)
Ezen a ponton érdemes megemlíteni, hogy a válaszok mindegyike közel két órát vett igénybe, és mind a négy CPU-mag végig 100%-on működött. A projekten végzett munka azonban gyorsan halad, és várhatóan a közelgő ARM-optimalizálások lerövidítik az időt.
Egész beszélgetéseket is szimulálhat az LLM-mel, ahelyett, hogy egyesével beadná a figyelmeztetéseket. Hozzátéve a -én opció elindítja a lámát interaktív módban, miközben --interaktív-start az elején kérni fogja Öntől a bevitelt. Az elérhető opciók teljes listájához futtassa:
fő -h
Ne feledje, hogy az LlaMA-nak nincsenek korlátozó szabályai. Alkalmanként szexista, rasszista, homofób és nagyon helytelen lesz.
Egy nagy nyelvi modell nem helyettesíti a valódi tudást
A Meta LLaMA-ját Raspberry Pi-n futtatni őrülten menő, és lehet, hogy kísértést érezhet, hogy virtuális gurujához forduljon technikai kérdésekkel, életvezetési tanácsokkal, barátsággal vagy valódi tudásforrásként. Ne hagyd magad becsapni. A nagy nyelvi modellek semmit sem tudnak, semmit nem éreznek és semmit sem értenek. Ha valamiben segítségre van szüksége, jobb, ha egy emberrel beszél, vagy elolvas valamit, amit egy ember írt.
Ha kevés az időd, gyorsan elolvashatod a Linux terminálodban!