Taip, Raspberry Pi galite paleisti LLM „AI pokalbių robotą“! Tiesiog atlikite šį žingsnis po žingsnio procesą ir paklauskite bet ko.
Dideli kalbų modeliai, paprastai (ir netiksliai) žinomi kaip AI, jau kelis mėnesius grasino apversti leidybos, meno ir teisinį pasaulį. Vienas trūkumas yra tas, kad naudojant LLM, pvz., „ChatGPT“, reikia sukurti paskyrą ir atlikti darbą kieno nors kito kompiuteryje. Bet jūs galite paleisti apmokytą LLM savo Raspberry Pi, kad galėtumėte rašyti poeziją, atsakyti į klausimus ir daugiau.
Kas yra didelės kalbos modelis?
Dideli kalbų modeliai naudoja mašininio mokymosi algoritmus, kad surastų ryšius ir šablonus tarp žodžių ir frazių. Apmokyti naudotis didžiuliu duomenų kiekiu, jie gali nuspėti, kokie žodžiai statistiškai gali pasirodyti po to, kai jie bus raginami.
Jei paklaustumėte tūkstančių žmonių, kaip jie jaučiasi šiandien, atsakymai būtų tokie: „Man viskas gerai“, „Galėtų būti ir blogiau“, „Gerai, bet mano keliai svyruoja“. Tada pokalbis pasisuks kita linkme. Galbūt asmuo paklaustų apie jūsų sveikatą arba pasakytų: „Atsiprašau, aš turiu bėgti. Aš vėluoju į darbą“.
Atsižvelgiant į šiuos duomenis ir pradinį raginimą, didelis kalbos modelis turėtų sugebėti pateikti įtikinamą ir originalų atsakymą, pagrįstą tikimybė, kad tam tikras žodis ateis toliau iš eilės, kartu su iš anksto nustatytu atsitiktinumo laipsniu, pasikartojimo baudomis ir kt. parametrus.
Šiandien naudojami dideli kalbų modeliai nėra mokomi kelių tūkstančių žmonių „vox pop“. Vietoj to, jiems suteikiamas neįsivaizduojamas kiekis duomenų, surinktų iš viešai prieinamų kolekcijų, socialinės žiniasklaidos platformų, tinklalapių, archyvų ir retkarčiais pritaikytų duomenų rinkinių.
LLM moko žmonių tyrinėtojai, kurie sustiprins tam tikrus modelius ir grąžins juos į algoritmą. Kai paklausite didelės kalbos modelio „koks yra geriausias šuo?“, jis galės atsakyti, kad Džeko Raselio terjeras yra geriausia šunų rūšis, ir paaiškins, kodėl.
Bet nesvarbu, koks protingas ar įtikinamai ir žmogiškai kvailas atsakymas, nei modelis, nei mašina bėga turi proto, ir jie nesugeba suprasti nei klausimo, nei žodžių, sudarančių klausimą atsakymą. Tai tik matematika ir daug duomenų.
Kodėl Raspberry Pi paleisti didelės kalbos modelį?
Dideli kalbų modeliai yra visur ir juos priima didelės paieškos įmonės, kad padėtų atsakyti į užklausas.
Nors kyla pagunda mesti klausimą natūralia kalba į įmonės juodąją dėžę, kartais norisi ieškoti įkvėpimo arba užduoti klausimą nepateikiant dar daugiau duomenų. priežiūros kapitalizmas.
Kaip eksperimentinė lenta skardininkams, Raspberry Pi vienos plokštės kompiuteris yra filosofiškai, jei ne fiziškai, tinkamas pastangoms.
2023 m. vasarį „Meta“ (bendrovė anksčiau vadinosi „Facebook“) paskelbė apie LLaMA – naują LLM, galinčią pasigirti nuo 7 iki 65 milijardų parametrų kalbų modeliais. LLaMA buvo apmokyta naudojant viešai prieinamus duomenų rinkinius,
LLaMA kodas yra atvirojo kodo, tai reiškia, kad kiekvienas gali jį naudoti ir pritaikyti, o „svoriai“ arba parametrai buvo paskelbti kaip torrentai ir magnetinės nuorodos projekto gijoje GitHub puslapis.
2023 m. kovą išleido kūrėjas Georgi Gerganov lama.cpp, kuris gali veikti su daugybe aparatinės įrangos, įskaitant Raspberry Pi. Kodas veikia lokaliai ir į Meta nesiunčiami jokie duomenys.
Įdiekite llama.cpp Raspberry Pi
Nėra paskelbtų llama.cpp techninės įrangos gairių, tačiau jis labai reikalauja procesoriaus, RAM ir saugyklos. Įsitikinkite, kad naudojate Raspberry Pi 4B arba 400 su tiek pat atminties, Virtuali atmintisir kiek įmanoma laisvos vietos SSD. SD kortelė jos neiškirps ir dėklas su tinkamu aušinimu privaloma.
Mes naudosime 7 milijardų parametrų modelį, todėl apsilankykite čia LLamA GitHub gija, ir atsisiųskite 7B torrentą naudodami tokį klientą kaip qBittorrent arba Aria.
Klonuokite llama.cpp saugyklą ir naudokite cd komanda pereiti į naują katalogą:
git klonas https://github.com/ggerganov/llama.cpp
cdlama.cpp
Jei nesate įdiegę kompiliatoriaus, įdiekite jį dabar naudodami:
sudo apt-gauti įdiegti g++
Dabar sukompiliuokite projektą naudodami šią komandą:
padaryti
Yra tikimybė, kad llama.cpp nepavyks sukompiliuoti ir pamatysite daugybę klaidų pranešimų, susijusių su „vdotq_s32“. Jei taip atsitiks, turite atšaukti įsipareigojimą. Pirmiausia nustatykite vietinį git vartotoją:
git config user.name "Deividas"
Dabar galite grąžinti ankstesnį įsipareigojimą:
git revert 84d9015
Nano teksto rengyklėje bus atidarytas git commit pranešimas. Paspauskite Ctrl + O tada taupyti Ctrl + X išeiti iš nano. llama.cpp dabar turėtų kompiliuoti be klaidų, kai įvesite:
padaryti
Turėsite sukurti svertinių modelių, kuriuos ketinate naudoti, katalogą:
mkdir modeliai
Dabar perkelkite svertinius modelius iš LLAMa katalogas:
mv ~/Downloads/LLAMA/* ~/llama.cpp/models/
Įsitikinkite, kad „Pi“ įdiegėte „Python 3“, ir įdiekite llama.cpp priklausomybes:
python3 -m pip diegti deglas numpy sakinys
NumPy versija gali sukelti problemų. Atnaujinkite:
pip diegti nelygus --patobulinti
Dabar konvertuokite 7B modelį į ggml FP16 formatą:
python3 convert-pth-to-ggml.py models/7B/ 1
Ankstesnis veiksmas reikalauja itin daug atminties ir, mūsų skaičiavimais, naudoja mažiausiai 16 GB RAM. Jis taip pat labai lėtas ir linkęs į nesėkmę.
Geresnių rezultatų pasieksite lygiagrečiai vykdydami šias instrukcijas staliniame kompiuteryje ir nukopijavę failą /models/7B/ggml-model-q4_0.bin į tą pačią Raspberry Pi vietą.
Kvantifikuokite modelį iki 4 bitų:
./quantize.sh 7B
Viskas. LLaMA LLM dabar įdiegta jūsų Raspberry Pi ir paruošta naudoti!
Lama.cpp naudojimas Raspberry Pi
Norėdami pradėti naudotis llama.cpp, įsitikinkite, kad esate projekto kataloge ir įveskite šią komandą:
./main -m ./models/7B/ggml-model-q4_0.bin -t 4 -n 128 -p "Kas yra Linux branduolys?"
The -m galimybė yra nukreipti llama.cpp į modelį, kurį norite naudoti; -t nurodo gijų, kurias norite naudoti, skaičių; -n yra nuspėjamų žetonų skaičius; -p yra jūsų raginimas. Galite tinkinti bet kurį ir visus šiuos kintamuosius.
Įsistenkite ilgai laukti, nes nors Raspberry Pi puikiai atlieka savo veiklą, jis nebuvo sukurtas tokiai CPU veiklai. Mūsų raginimo pavyzdyje lama suskirstė tekstą į aštuonis atskirus žetonus, prieš pateikdama tokį atsakymą:
Trumpai tariant, Linux branduolys visada buvo vadinamas operacine sistema. Tačiau jis tikrai nėra laikomas vienu, nes visais praktiniais tikslais dauguma jo funkcijų yra atskleistos per API ir komunalines paslaugas, kurias gali naudoti bet kuri kita OS, kuri nori (ar jai reikia) prieiti prie jų API. Kalbant apie patį Linux branduolį, su tikruoju branduoliu nėra daug ką daryti. Jis tiesiog prasidės, gaus konfigūracijos parametrus iš pasirinktos įkrovos tvarkyklės / paleidimo įrenginio, tada pradės naudoti tam tikrą aparatinę įrangą ir imsitės bet kokio verslo, kuris šiuo metu susijęs
Nors tai buvo gana nuoseklus atsakymas, antrojo bandymo rezultatas buvo kažkas panašaus į grubiai supjaustytas žodžių salotas:
Daugelis iš jūsų tikriausiai girdėjote apie tai, bet nelabai žinote, apie ką jie kalba. Mes tai išsamiai aptarsime, nes jų supratimas padeda mums daugiau naudotis kompiuteriais efektyviai ir priimti geresnius sprendimus pirkdami naują aparatinę ar programinę įrangą kompiuteriams namuose, biuruose ir tt. „Linux“ branduolys yra daugumos operacinių sistemų, veikiančių tokioje kompiuterinėje sistemoje, kaip „Android“, kuri yra atvirojo kodo operacinė sistema, iš dalies pagrįsta šio branduolio, pagrindas. Bet ką tiksliai jie turi omenyje sakydami „Linux kernal“?
Linusas Torvaldsas užrašė savo mintis (Žinios)
Šiuo metu verta paminėti, kad kiekvienas iš šių atsakymų užtruko beveik dvi valandas, o visi keturi procesoriaus branduoliai veikė 100 %. Tačiau darbas su projektu vyksta sparčiai ir galite tikėtis, kad būsimi ARM optimizavimai sutrumpins laiką.
Taip pat galite imituoti visus pokalbius su savo LLM, užuot teikę raginimus po vieną. Pridedant -i parinktis paleis lamą interaktyviu režimu, o --interaktyvus startas pradžioje paprašys jūsų įvesti. Norėdami gauti visą galimų parinkčių sąrašą, paleiskite:
pagrindinis -h
Atminkite, kad LlaMA neturi ribojančių taisyklių. Kartais tai bus seksistiška, rasistiška, homofobiška ir labai neteisinga.
Didelės kalbos modelis nepakeičia tikrų žinių
Paleisti Meta LLaMA naudojant Raspberry Pi yra beprotiškai šaunu, todėl gali kilti pagunda kreiptis į savo virtualų guru techniniais klausimais, gyvenimo patarimais, draugyste ar kaip tikru žinių šaltiniu. Neapsigaukite. Dideli kalbų modeliai nieko nežino, nieko nejaučia ir nieko nesupranta. Jei jums reikia pagalbos dėl ko nors, geriau pasikalbėkite su žmogumi arba perskaitykite ką nors, ką parašė žmogus.
Jei trūksta laiko, galite greitai jį perskaityti savo Linux terminale!