Lag en personlig AI-chatbot ved å kjøre en stor språkmodell lokalt på din Linux-maskin.
Store språkmodeller har potensial til å revolusjonere måten du bor og jobber på, og kan føre samtaler og svare på spørsmål med en variabel grad av nøyaktighet.
For å bruke en, trenger du vanligvis en konto hos en LLM-leverandør, og for å logge på via et nettsted eller en dedikert app. Men visste du at du kan kjøre din egen store språkmodell helt offline på Linux?
Hvorfor kjøre en stor språkmodell på Linux?
Store språkmodeller (LLM) er overalt i disse dager og kan behandle naturlig språk og gi passende svar som kan lure deg til å tro at et menneske har svart. Microsoft lanserer en ny AI-drevet versjon av Bing, mens alfabetets Bard er nå en integrert del av Google-søk.
Bortsett fra søkemotorer kan du bruke såkalte «AI chatbots» for å svare på spørsmål, komponere poesi eller til og med gjøre leksene dine for deg.
Men ved å få tilgang til LLM-er online, er du avhengig av godviljen til en tredjepartsleverandør – som kan trekkes tilbake når som helst.
Du er også underlagt bruksbegrensninger. Be OpenAI om å skrive en erotisk novelle på 6000 ord som foregår i Nazi-Tyskland, for eksempel, og du vil få et svar i retning av "Jeg beklager, men jeg vil ikke kunne generere den historien for deg."
Alt du legger inn til online LLM-er brukes til å trene dem videre, og data som du kanskje ønsker å forbli konfidensiell, kan bli spyttet ut i fremtiden som en del av et svar på andres spørsmål.
Du er også underlagt mangel på service ettersom systemet oversvømmes av brukere, og mases til å abonnere, slik at du kan få tilgang til plattformen når etterspørselen er stor.
Dalai er en gratis og åpen kildekode-implementering av Metas LLaMa LLM og Stanfords Alpakka. Den vil kjøre komfortabelt på beskjeden maskinvare og gir et hendig nettgrensesnitt og en rekke spørremaler – slik at du kan spørre hva som helst du vil, uten frykt for at en administrator skal stenge kontoen din, vil LLM nekte å svare, eller tilkoblingen din kommer til å miste.
Når du installerer en LLM lokalt på Linux, er den din, og du kan bruke den slik du vil.
Hvordan installere Dalai på Linux
Den enkleste måten å installere Dalai på Linux er å bruke Docker og Docker Compose. Hvis du ikke allerede har disse, se vår veiledning om hvordan du gjør det installer Docker og Docker Compose.
Med det ute av veien, er du klar til å begynne å installere Dalai. Klon Dalai GitHub-depotet og bruk cd-kommandoen for å flytte inn i det:
git klone https://github.com/cocktailpeanut/dalai.git && cd dalai
For å få Dalai i gang med et nettgrensesnitt, må du først bygge Docker Compose-filen:
docker-compose build
Docker Compose vil laste ned og installere Python 3.11, Node Version Manager (NVM) og Node.js.
På trinn sju av ni vil bygningen se ut til å fryse ettersom Docker Compose laster ned Dalai. Ikke bekymre deg: sjekk båndbreddebruken din for å forsikre deg om at noe skjer, og simuler utviklingen av virtuelle organismer i terminalen din mens du venter.
Til slutt vil du bli returnert til ledeteksten.
Dalai og LLaMa/Alpakka-modellene krever mye minne for å kjøre. Selv om det ikke er noen offisiell spesifikasjon, er en god grov guide 4GB for 7B-modellen, 8GB for 13B-modellen, 16GB for 30B-modellen og 32GB for 65B-modellen.
Alpakka-modellene er relativt små, med 13B-modellen som når beskjedne 7,6 GB, men LLaMA-vektene kan være enorme: tilsvarende 13B nedlasting kommer inn på 60,21GB, og 65B-modellen vil ta opp en episk halv terabyte på harddisken din disk.
Bestem hvilken modell som er best egnet for ressursene dine, og bruk følgende kommando for å installere den:
docker-compose kjøre dalai npx dalai alpaca install 13B
Eller:
docker-compose kjøre dalai npx dalai llama install 13B
Det er en sjanse for at modellene som er lastet ned via Dalai, kan være ødelagt. Hvis dette er tilfelle, ta dem fra Klemende ansikt i stedet.
Etter at du er kommet tilbake til ledeteksten, henter du opp Docker Compose i løsrevet modus:
docker-komponere opp -d
Sjekk om beholderen fungerer som den skal med:
docker-compose ps
Hvis alt fungerer som det skal, åpne en nettleser og gå inn lokal vert: 3000 i adressefeltet.
Ha det gøy med din egen store språkmodell på Linux
Når nettgrensesnittet åpnes, vil du se en tekstboks der du kan skrive spørsmålene dine.
Det er vanskelig å skrive effektive meldinger, og Dalai-utviklerne har hjelpsomt gitt en rekke maler som vil hjelpe deg å få et nyttig svar fra Dalai.
Disse er AI-dialog, Chatbot, Misligholde, Instruksjon, Omskrive, Oversette, og Tweet-sentiment.
Som du forventer, den AI-dialog og Chatbot maler er strukturert på en måte som lar deg holde en slags samtale med LLM. Hovedforskjellen mellom de to er at chatboten skal være "svært intelligent", mens AI-dialogen er "hjelpsom, snill, lydig, ærlig og kjenner sine egne grenser".
Selvfølgelig er dette din "AI", og hvis det behager deg, kan du endre ledeteksten slik at chatboten er dum, og AI-dialogkarakteristikkene er "sadistiske" og "unyttige". Det er opp til deg.
Vi testet ut Oversette funksjon ved å kopiere åpningsavsnittet til en BBC-nyhetsartikkel og be Dalai om å oversette den til spansk. Oversettelsen var god, og da vi kjørte den gjennom Google Translate for å gjøre den tilbake til engelsk, fant vi ut at den var ganske lesbar og gjentok fakta og følelsene til det originale stykket.
På samme måte Omskrive malen snurret teksten overbevisende inn i åpningen av en ny artikkel.
De Misligholde og Instruksjon forespørsler er strukturert for å hjelpe deg med å stille spørsmål eller direkte instruere Dalai.
Dalais nøyaktighet i responsen vil variere sterkt avhengig av hvilken modell du bruker. En 30B-modell vil være mye mer nyttig enn en 7B-modell. Men selv da blir du påminnet om at LLM-er ganske enkelt er sofistikerte systemer for å gjette neste ord i en setning.
Verken 7B eller 13B Alpakka-modellene var i stand til å gi et nøyaktig 200-ords sammendrag av novellen, "Cat in the Rain" av Ernest Hemingway, og begge laget grundig overbevisende handlingslinjer og detaljer om hva historien inneholdt.
Og mens den "hjelpsomme, snille, lydige, ærlige" AI-dialogen som "kjenner sine egne grenser", og "svært intelligente" Chatbot vil svikte kontroversielle forespørsler, kan du gi Dalai en rett instruksjon eller standardforespørsel, og den vil skrive hva du vil – hvordan du vil den.
En stor språkmodell på din Linux-maskin er din
Ved å kjøre en stor språkmodell på din egen Linux-boks, er du ikke underlagt tilsyn eller tilbaketrekking av tjenesten. Du kan bruke det slik du finner det passende uten frykt for konsekvenser for brudd på retningslinjene for bedriftens innhold.
Hvis dataressursene dine er få, kan du til og med kjøre en LLM lokalt på en ydmyk Raspberry Pi.