Jā, jūs varat palaist LLM "AI tērzēšanas robotu" Raspberry Pi! Vienkārši izpildiet šo soli pa solim procesu un pēc tam jautājiet tam jebko.

Lieli valodu modeļi, kas parasti (un neprecīzi) pazīstami kā AI, jau vairākus mēnešus ir draudējuši apgāzt izdevējdarbības, mākslas un juridisko pasauli. Viens mīnuss ir tas, ka, izmantojot LLM, piemēram, ChatGPT, ir jāizveido konts un darbs jāveic kādam citam datoram. Bet jūs varat vadīt apmācītu LLM savā Raspberry Pi, lai rakstītu dzeju, atbildētu uz jautājumiem un daudz ko citu.

Kas ir lielas valodas modelis?

Lielos valodu modeļos tiek izmantoti mašīnmācīšanās algoritmi, lai atrastu attiecības un modeļus starp vārdiem un frāzēm. Apmācīti par lielu datu daudzumu, viņi spēj paredzēt, kādi vārdi statistiski varētu nākt pēc uzvednes.

Ja jautātu tūkstošiem cilvēku, kā viņi jūtas šodien, atbildes būtu šādas: "Man viss ir kārtībā", "Varētu būt sliktāk", "Labi, bet mani ceļi slīd". Pēc tam saruna pavērsīsies citā virzienā. Iespējams, persona jautās par jūsu veselību vai sekos: “Atvainojiet, man jāskrien. Es kavēju darbu."

instagram viewer

Ņemot vērā šos datus un sākotnējo uzvedni, lielam valodas modelim jāspēj pašam sniegt pārliecinošu un oriģinālu atbildi, pamatojoties uz iespējamība, ka secībā nākamais nāk konkrēts vārds, apvienojumā ar iepriekš noteiktu nejaušības pakāpi, atkārtošanās sodiem un citiem parametrus.

Mūsdienās izmantotie lielie valodu modeļi nav apmācīti dažu tūkstošu cilvēku izpratnē. Tā vietā viņiem tiek piešķirts neiedomājams datu apjoms, kas iegūts no publiski pieejamām kolekcijām, sociālo mediju platformām, tīmekļa lapām, arhīviem un neregulārām pielāgotām datu kopām.

LLM apmāca cilvēku pētnieki, kuri pastiprinās noteiktus modeļus un ievadīs tos atpakaļ algoritmā. Kad jūs jautāsiet lielas valodas modelim: “Kāds ir labākais suns?”, tas varēs sniegt atbildi, norādot, ka Džeka Rasela terjers ir vislabākais suns, un paskaidros, kāpēc.

Bet neatkarīgi no tā, cik inteliģenta vai pārliecinoši un cilvēciski mēma atbilde, ne modelis, ne mašīna darbojas, ir prāts, un viņi nespēj saprast ne jautājumu, ne vārdus, kas veido jautājumu atbildi. Tā ir tikai matemātika un daudz datu.

Kāpēc lietot Raspberry Pi lielu valodas modeli?

Lieli valodu modeļi ir visur, un tos izmanto lielie meklēšanas uzņēmumi, lai palīdzētu atbildēt uz jautājumiem.

Lai gan ir vilinoši uzdot dabiskās valodas jautājumu uzņēmuma melnajā kastē, dažreiz jūs vēlaties meklēt iedvesmu vai uzdot jautājumu, neievadot vēl vairāk datu uzraudzības kapitālisms.

Kā eksperimentāls dēlis viltotājiem Raspberry Pi viena borta dators ir filozofiski, ja ne fiziski, piemērots centieniem.

2023. gada februārī Meta (uzņēmums, kas agrāk bija pazīstams kā Facebook) paziņoja par LLaMA — jaunu LLM, kas lepojas ar valodu modeļiem no 7 līdz 65 miljardiem parametru. LLaMA tika apmācīts, izmantojot publiski pieejamas datu kopas,

LLaMA kods ir atvērtā koda kods, kas nozīmē, ka ikviens to var izmantot un pielāgot, un “svari” vai parametri tika publicēti kā torrenti un magnētu saites projekta pavedienā GitHub lapa.

2023. gada martā izlaida izstrādātājs Georgijs Gerganovs lama.cpp, kas var darboties ar milzīgu aparatūras klāstu, tostarp Raspberry Pi. Kods darbojas lokāli, un uz Meta netiek nosūtīti dati.

Instalējiet llama.cpp vietnē Raspberry Pi

Vietnei llama.cpp nav publicētu aparatūras vadlīniju, taču tam ir ļoti nepieciešams procesors, RAM un krātuves. Pārliecinieties, vai izmantojat Raspberry Pi 4B vai 400 ar tik daudz atmiņas, virtuālā atmiņa, un pēc iespējas pieejama vieta SSD. SD karte to nesagriezīs, un korpuss ar pienācīgu dzesēšanu ir obligāts.

Mēs izmantosim 7 miljardu parametru modeli, tāpēc apmeklējiet šo LLamA GitHub pavediens, un lejupielādējiet 7B torrentu, izmantojot tādu klientu kā qBittorrent vai Aria.

Klonējiet llama.cpp repozitoriju un pēc tam izmantojiet cd komanda, lai pārietu uz jauno direktoriju:

git klons https://github.com/ggerganov/llama.cpp
cdlama.cpp

Ja jums nav instalēts kompilators, instalējiet to tūlīt, izmantojot:

sudo apt-gūt instalēt g++

Tagad apkopojiet projektu ar šo komandu:

veidot

Pastāv iespēja, ka failu llama.cpp neizdosies kompilēt, un jūs redzēsit virkni kļūdu ziņojumu saistībā ar "vdotq_s32". Ja tā notiek, jums ir jāatsauc saistības. Vispirms iestatiet savu vietējo git lietotāju:

git config user.name "dāvids"

Tagad varat atsaukt iepriekšējo apņemšanos:

git revert 84d9015

Nano teksta redaktorā tiks atvērts git commit ziņojums. Nospiediet Ctrl+O lai glābtu, tad Ctrl+X lai izietu no nano. Tagad llama.cpp jākompilē bez kļūdām, ievadot:

veidot

Jums būs jāizveido direktorijs svērtajiem modeļiem, kurus plānojat izmantot:

mkdir modeļi

Tagad pārsūtiet svērtos modeļus no LLaMa direktorijs:

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

Pārliecinieties, vai jūsu Pi ir instalēts Python 3, un instalējiet llama.cpp atkarības:

python3 -m pip uzstādīt lāpa numpy teikums

NumPy versija var radīt problēmas. Jauniniet to:

pip uzstādīt nejutīgs -- jauninājums

Tagad konvertējiet 7B modeli uz ggml FP16 formātu:

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

Iepriekšējā darbība ir ļoti intensīva atmiņai un, pēc mūsu domām, izmanto vismaz 16 GB RAM. Tas ir arī ļoti lēns un pakļauts neveiksmēm.

Jūs iegūsit labākus rezultātus, paralēli izpildot šos norādījumus galddatorā un pēc tam kopējot failu /models/7B/ggml-model-q4_0.bin uz to pašu Raspberry Pi atrašanās vietu.

Kvantējiet modeli līdz 4 bitiem:

./quantize.sh 7B

Tieši tā. LLaMA LLM tagad ir instalēts jūsu Raspberry Pi un gatavs lietošanai!

Izmantojot vietni llama.cpp vietnē Raspberry Pi

Lai sāktu darbu ar llama.cpp, pārliecinieties, vai esat projekta direktorijā, un ievadiet šādu komandu:

./main -m ./models/7B/ggml-model-q4_0.bin -t 4 -n 128 -lpp "Kas ir Linux kodols?"

The -m iespēja ir novirzīt llama.cpp uz modeli, kuru vēlaties to izmantot; -t norāda pavedienu skaitu, ko vēlaties izmantot; -n ir prognozējamo marķieru skaits; -lpp ir jūsu uzvedne. Varat pielāgot jebkuru un visus šos mainīgos.

Saņemieties uz ilgu gaidīšanu, jo, lai gan Raspberry Pi ir izcils savā darbībā, tas nebija paredzēts šāda veida CPU darbībai. Mūsu piemēra uzvednē lama sadalīja tekstu astoņos atsevišķos marķieros, pirms sniedza šādu atbildi:

Īsumā Linux kodols vienmēr ir saukts par operētājsistēmu. Tomēr tas netiek uzskatīts par tādu, jo praktiskiem nolūkiem lielākā daļa tā funkciju ir tiek atklāti, izmantojot API un utilītas, kuras var izmantot jebkura cita OS, kas vēlas (vai kurai ir nepieciešama) tiem piekļūt API. Ciktāl tas attiecas uz pašu Linux kodolu, tam nav daudz ko darīt ar faktisko kodolu. Tas tikai sāksies, saņems konfigurācijas parametrus no jūsu izvēlētā sāknēšanas ielādētāja/initrd, pēc tam aktivizēs to ar kādu aparatūru, un jūs turpināsiet visu, kas šajā brīdī ir saistīts.

Lai gan šī bija diezgan sakarīga atbilde, otrā mēģinājuma rezultātā radās kaut kas līdzīgs rupji sasmalcinātiem vārdu salātiem:

Lielākā daļa no jums, iespējams, ir dzirdējuši par to, bet īsti nezina, par ko viņi runā. Mēs to apspriedīsim sīkāk, jo to pilnīga izpratne palīdz mums vairāk izmantot datorus efektīvi un arī pieņemt labākus lēmumus, pērkot jaunu aparatūru vai programmatūru saviem datoriem mājās, birojos utt.. Linux kodols ir mugurkauls lielākajai daļai operētājsistēmu, kas darbojas datorsistēmā, piemēram, Android, kas ir atvērtā pirmkoda operētājsistēma, kas daļēji balstīta uz šo kodolu. Bet ko tieši viņi domā, sakot Linux kernal?

Linuss Torvalds ir pierakstījis savas domas (zināšanas)

Šajā brīdī ir vērts pieminēt, ka katra no šīm atbildēm ilga gandrīz divas stundas, un visi četri CPU kodoli darbojās 100% apmērā. Tomēr darbs pie projekta virzās ātri, un jūs varat sagaidīt, ka gaidāmā ARM optimizācija samazinās laiku.

Varat arī simulēt visas sarunas ar savu LLM, tā vietā, lai pa vienai ievadītu uzvednes. Pievienojot -i opcija sāks lamu interaktīvajā režīmā, kamēr --interactive-start sākumā lūgs ievadīt informāciju. Lai iegūtu pilnu pieejamo opciju sarakstu, palaidiet:

galvenais -h

Ņemiet vērā, ka LlaMA nav ierobežojošu noteikumu. Reizēm tas būs seksistisks, rasistisks, homofobisks un ļoti nepareizi.

Liels valodas modelis nevar aizstāt reālas zināšanas

Palaist Meta's LLaMA uz Raspberry Pi ir neprātīgi forši, un jums var rasties kārdinājums vērsties pie sava virtuālā guru, lai uzzinātu tehniskus jautājumus, padomus par dzīvi, draudzību vai kā īstu zināšanu avotu. Neļaujiet sevi apmānīt. Lielie valodu modeļi neko nezina, neko nejūt un neko nesaprot. Ja jums ir nepieciešama palīdzība, labāk parunājiet ar cilvēku vai izlasiet kaut ko cilvēka rakstītu.

Ja jums trūkst laika, varat to ātri izlasīt savā Linux terminālī!