Kyllä, voit käyttää LLM "AI chatbotia" Raspberry Pi: llä! Seuraa vain tätä vaiheittaista prosessia ja kysy sitten mitä tahansa.
Suuret kielimallit, jotka tunnetaan yleisesti (ja epätarkasti) tekoälyinä, ovat uhanneet kaataa julkaisu-, taide- ja lakimaailman kuukausia. Yksi haittapuoli on, että LLM: iden, kuten ChatGPT: n, käyttö tarkoittaa tilin luomista ja jonkun muun tietokoneen suorittamista. Mutta voit ajaa koulutetun LLM: n Raspberry Pi: lläsi kirjoittaaksesi runoja, vastataksesi kysymyksiin ja paljon muuta.
Mikä on suuri kielimalli?
Suuret kielimallit käyttävät koneoppimisalgoritmeja löytääkseen suhteita ja malleja sanojen ja ilmausten välillä. Valtaisiin tietomääriin koulutettuna he pystyvät ennustamaan, mitkä sanat tilastollisesti todennäköisesti tulevat seuraavaksi, kun heille annetaan kehote.
Jos kysyisit tuhansilta ihmisiltä, miltä heistä tuntui tänään, vastaukset olisivat seuraavanlaisia: "Olen kunnossa", "Voisi olla huonomminkin", "OK, mutta polveni leikkivät". Keskustelu kääntyisi sitten toiseen suuntaan. Ehkä henkilö kysyisi omasta terveydestäsi tai sanoisi "Anteeksi, minun täytyy juosta. Olen myöhässä töistä."
Kun otetaan huomioon nämä tiedot ja ensimmäinen kehote, suuren kielimallin pitäisi pystyä antamaan oma vakuuttava ja omaperäinen vastaus, joka perustuu todennäköisyys, että tietty sana tulee seuraavana peräkkäin yhdistettynä ennalta määrättyyn satunnaisuusasteeseen, toistorangaistuksiin ja muihin parametrit.
Nykyään käytössä olevia suuria kielimalleja ei ole koulutettu muutaman tuhannen ihmisen poppiin. Sen sijaan he saavat käsittämättömän määrän dataa, joka on kerätty julkisesti saatavilla olevista kokoelmista, sosiaalisen median alustoista, verkkosivuilta, arkistoista ja satunnaisista mukautetuista tietojoukoista.
LLM: itä kouluttavat ihmistutkijat, jotka vahvistavat tiettyjä malleja ja syöttävät ne takaisin algoritmiin. Kun kysyt suurelta kielimallilta "mikä on paras koiralaji?", se pystyy pyörittämään vastauksen, joka kertoo, että jackrussellinterrieri on paras koiralaji, ja perustelee miksi.
Mutta riippumatta siitä, kuinka älykäs tai vakuuttavasti ja inhimillisesti tyhmä vastaus on, ei malli eikä kone sitä juoksee eteenpäin on mieli, eivätkä he kykene ymmärtämään kysymystä tai sanoja, jotka muodostavat kysymyksen vastaus. Se on vain matematiikkaa ja paljon dataa.
Miksi käyttää suurta kielimallia Raspberry Pi: llä?
Suuria kielimalleja on kaikkialla, ja suuret hakuyritykset ottavat niitä käyttöön auttaakseen kyselyihin vastaamisessa.
Vaikka on houkuttelevaa heittää luonnollisen kielen kysymys yrityksen mustaan laatikkoon, joskus haluat etsiä inspiraatiota tai kysyä kysymyksen syöttämättä vielä enemmän tietoja valvontakapitalismi.
Kokeellisena lautana tinkijille Raspberry Pi yksilevyinen tietokone on filosofisesti, ellei fyysisesti, sopiva tähän pyrkimykseen.
Helmikuussa 2023 Meta (yritys, joka tunnettiin aiemmin nimellä Facebook) julkisti LLaMA: n, uuden LLM: n, jonka kielimalleja on 7–65 miljardia parametria. LLaMA koulutettiin käyttämällä julkisesti saatavilla olevia aineistoja,
LLaMA-koodi on avoimen lähdekoodin, mikä tarkoittaa, että kuka tahansa voi käyttää ja muokata sitä, ja "painot" tai parametrit on julkaistu torrentit ja magneettilinkit projektin ketjussa GitHub-sivu.
Maaliskuussa 2023 kehittäjä Georgi Gerganov julkaisi llama.cpp, joka voi toimia laajalla valikoimalla laitteistoja, mukaan lukien Raspberry Pi. Koodi toimii paikallisesti, eikä Metalle lähetetä tietoja.
Asenna llama.cpp Raspberry Pi: hen
Lama.cpp: lle ei ole julkaistu laitteistoohjeita, mutta se vaatii erittäin paljon prosessoria, RAM-muistia ja tallennustilaa. Varmista, että käytät sitä Raspberry Pi 4B: llä tai 400:lla, jossa on niin paljon muistia, virtuaalinen muisti, ja SSD-tilaa käytettävissä mahdollisimman paljon. SD-kortti ei aio leikata sitä, ja kotelo kunnollisella jäähdytyksellä on pakko.
Käytämme 7 miljardin parametrin mallia, joten käy tässä LLamA GitHub lanka, ja lataa 7B torrent käyttämällä asiakasohjelmaa, kuten qBittorrent tai Aria.
Kloonaa llama.cpp-arkisto ja käytä sitten CD komento siirtyäksesi uuteen hakemistoon:
git klooni https://github.com/ggerganov/llama.cpp
CDlaama.cpp
Jos sinulla ei ole kääntäjää asennettuna, asenna se nyt:
sudo apt-saada asenna g++
Kääntäkää nyt projekti tällä komennolla:
tehdä
On mahdollista, että llama.cpp ei pysty kääntämään, ja näet joukon virheilmoituksia liittyen "vdotq_s32". Jos näin tapahtuu, sinun on peruutettava sitoumus. Aseta ensin paikallinen git-käyttäjä:
git config user.name "daavid"
Nyt voit palauttaa edellisen sitoumuksen:
git revert 84d9015
Git commit -viesti avautuu nanotekstieditorissa. Lehdistö Ctrl + O säästämään siis Ctrl + X poistuaksesi nanosta. llama.cpp: n pitäisi nyt kääntää ilman virheitä, kun kirjoitat:
tehdä
Sinun on luotava hakemisto painotetuille malleille, joita aiot käyttää:
mkdir mallit
Siirrä nyt painotetut mallit kohteesta Laama hakemisto:
mv ~/Downloads/Laama/* ~/llama.cpp/models/
Varmista, että Python 3 on asennettu Pi-laitteeseesi, ja asenna llama.cpp-riippuvuudet:
python3 -m pip Asentaa soihtu numpy lausekappale
NumPy-versio voi aiheuttaa ongelmia. Päivitä se:
pip Asentaa nuhjuinen --päivitys
Muunna nyt 7B-malli ggml FP16 -muotoon:
python3 convert-pth-to-ggml.py models/7B/ 1
Edellinen vaihe on erittäin muistiintensiivinen ja käyttää arviomme mukaan vähintään 16 Gt RAM-muistia. Se on myös erittäin hidas ja altis epäonnistumiselle.
Saat parempia tuloksia noudattamalla näitä ohjeita samanaikaisesti pöytätietokoneella ja kopioimalla tiedoston /models/7B/ggml-model-q4_0.bin samaan paikkaan Raspberry Pi: lläsi.
Kvantisoi malli 4-bittiseksi:
./quantize.sh 7B
Se siitä. LLaMA LLM on nyt asennettu Raspberry Pi -laitteeseen ja valmis käytettäväksi!
Lama.cpp: n käyttäminen Raspberry Pi: ssä
Aloita llama.cpp: n käyttäminen varmistamalla, että olet projektihakemistossa ja antamalla seuraava komento:
./main -m ./mallit/7B/ggml-model-q4_0.bin -t 4 -n 128 -s "Mikä on Linux-ydin?"
The -m vaihtoehto on ohjata llama.cpp malliin, jota haluat sen käyttävän; -t ilmaisee lankojen määrän, jonka haluat sen käyttävän; -n on ennustettavien merkkien lukumäärä; -s on kehotteenne. Voit mukauttaa mitä tahansa ja kaikkia näitä muuttujia.
Odota pitkään, sillä vaikka Raspberry Pi on erinomainen siinä, mitä se tekee, sitä ei ole suunniteltu tällaiseen suorittimen toimintaan. Esimerkkikehotteessamme laama jakoi tekstin kahdeksaan yksittäiseen merkkiin ennen kuin antoi seuraavan vastauksen:
Linux-ytimen pähkinänkuoressa on aina kutsuttu käyttöjärjestelmäksi. Sitä ei kuitenkaan pidetä sellaisena, koska käytännössä suurin osa sen toiminnoista on sovellusliittymien ja apuohjelmien kautta, joita voi käyttää mikä tahansa muu käyttöjärjestelmä, joka haluaa (tai tarvitsee) pääsyn niihin API(t). Mitä tulee Linux-ytimen itseensä, sillä ei ole paljon tekemistä varsinaisen ytimen kanssa. Se vain käynnistyy, vastaanottaa määritysparametrit valitulta käynnistyslataimeltasi ja käynnistää sen sitten jollakin laitteistolla ja teet mitä tahansa liiketoimintaa, johon tässä vaiheessa liittyy
Vaikka tämä oli melko johdonmukainen vastaus, toinen yritys johti jotain, joka muistutti karkeasti pilkottua sanasalaattia:
Useimmat teistä ovat luultavasti kuulleet siitä, mutta eivät oikein tiedä, mistä he puhuvat. Keskustelemme tästä yksityiskohtaisesti, koska niiden ymmärtäminen auttaa meitä käyttämään tietokoneitamme enemmän tehokkaasti ja tehdä parempia päätöksiä ostaessasi uusia laitteita tai ohjelmistoja tietokoneillesi kotona tai toimistossa jne.. Linux-ydin on useimpien käyttöjärjestelmien selkäranka, jotka toimivat tietokonejärjestelmissä, kuten Androidissa, joka on osittain tähän ytimeen perustuva avoimen lähdekoodin käyttöjärjestelmä. Mutta mitä he tarkalleen tarkoittavat sanomalla linux kernal?
Linus Torvalds on kirjoittanut ajatuksensa (Tieto)
Tässä vaiheessa on syytä mainita, että kunkin vastauksen tuottaminen kesti lähes kaksi tuntia ja että kaikki neljä CPU-ydintä toimivat 100-prosenttisesti. Työ projektin parissa etenee kuitenkin nopeasti, ja voit odottaa tulevien ARM-optimointien lyhentävän aikaa.
Voit myös simuloida kokonaisia keskusteluja LLM: n kanssa sen sijaan, että syöttäisit kehotteita yksi kerrallaan. Lisäämällä -i vaihtoehto käynnistää laman interaktiivisessa tilassa, kun --interactive-start pyytää sinulta syötteitä alussa. Saat täydellisen luettelon käytettävissä olevista vaihtoehdoista suorittamalla:
pää -h
Huomaa, että LlaMA: lla ei ole rajoittavia sääntöjä. Se on toisinaan seksististä, rasistista, homofobista ja erittäin väärin.
Suuri kielimalli ei korvaa todellista tietoa
Metan LLaMA: n ajaminen Raspberry Pi: llä on järjettömän siistiä, ja saatat tuntea houkutusta kääntyä virtuaaligurusi puoleen teknisissä kysymyksissä, elämänneuvoissa, ystävyydessä tai todellisena tiedon lähteenä. Älä mene lankaan. Suuret kielimallit eivät tiedä mitään, tunne mitään eivätkä ymmärrä mitään. Jos tarvitset apua jossain, on parempi puhua ihmisen kanssa tai lukea jotain ihmisen kirjoittamaa.
Jos sinulla ei ole aikaa, voit lukea sen nopeasti Linux-päätteessäsi!