Installering av lokal språkmodell

Innhold

1. Om lokale språkmodeller.

Et problem med tjenester som ChatGPT, er at de kjører på noen andres datamaskin.

For eksempel med ChatGPT er at det er sensurert, og koster penger å bruke.

Ved å kjøre en modell lokalt så kan man ha full kontroll over hva som skjer, men hovedsakelig så gjør man det for erfaringen, og fordi det er gratis.

2. Nødvendige spesifikasjoner.

llama.cpp, «motoren» som kjører språkmodellen, kan kjøre på alt fra en Raspberry Pi, til en svær server.

Forskjellen er kvaliteten på modellen man kjører.

2.1. 1B

Dette kunne ha kjørt på en Raspberry Pi 4, men er veldig dårlig til det de fleste bruker en språkmodell til.

2.2. 7B

Dette kjører med en tålig god fart på min laptop med en i3-prosessor. Dette bruker ca. 8GB med RAM.

På min stasjonære PC med en Ryzen 7 2700X og en RTX 2070, så genererer denne størrelsen modell tekst nærmest ummidelbart. Hele modellen får plass på skjermkortet.

2.3. 13B

Dette kjører greit på min Ryzen 7 2700X og RTX 2070, jeg klarer å få 12 ut av 34 lag over på skjermkortet. Denne modellen bruker ca. 16GB med RAM.

Denne størrelsen gir gode svar, men av og til rart formulert. Logikken kunne ha vært bedre.

2.4. 30B

Denne størrelsen kjører så vidt på min Ryzen 7 2700X og RTX 2070. Jeg får flyttet 8 lag over til skjermkortet mitt. Moddelen bruker ca. 25GB med RAM.

Denne modellen gir veldig gode svar og skriver veldig naturlig.

2.5. 70B

Denne størrelsen er for stor for at jeg kan teste den ut.

3. Installasjon av Oobabooga sin text-generation-webui

3.1. Hent text-generation-webui

3.1.1. Klon repoet

Det mest anbefalte er å klone repoet, da kan man lett oppdatere når det kommer en oppdatering. Dette krever at Git er installert.

Åpne terminalen på Linux, eller Git Bash på Windows. Skriv inn:

 git clone https://github.com/oobabooga/text-generation-webui.git

3.1.2. Last ned ZIP-fil.

Om det er vanskelig å få Git til å fungere, gå til https://github.com/oobabooga/text-generation-webui og trykk påCode->Download zip. Så pakk ut ZIP-filen til et sted man finner det igjen.

3.2. Start opp text-generation-webui

3.2.1. Linux

Åpne terminalen og navigér til der repoet ble klonet til. Så kjør:

 ./start_linux.sh

Om man får:

ikke tilgang: ./start_linux.sh

Så må man tillate filen å kunne kjøres. Dette kan gjøres ved å kjøre:

chmod +x start_linux.sh

Programmet vil så lede igjennom forskjellige valg, svar så på spørsmålene.

Etter det, så går man inn på http://127.0.0.1:7860 i nettleseren.

3.2.2. Windows

Åpne filutforsker (WIN+E) og navigér til der repoet ligger. Dobbeltklikk så på start_windows.bat.

Svar så på spørsmålene som kommer opp.

Om dette ikke fungerer så kan man åpne PowerShell eller Windows Terminal, navigere til text-generation-webui, og så kjøre start_windows.bat ved å bruke

.\start_windows.bat

Åpne så http://127.0.0.1:7860 i nettleseren.

4. Valg av språkmodell.

Fordelen med å kjøre modellene lokalt, er at man kan fritt frem velge hvilken språkmodell man ønsker å bruke.

text-generation-webui bruker GGUF-filer.

4.1. Laste ned modeller.

Her er en liste av modeller:

4.1.1. Llama 2

4.1.2. ToRA

Denne modellen er utviklet av Microsoft. Denne oppleves best for matte.

4.2. Legg inn modellen i text-generation-webui

Flytt GGUF-filen til text-generation-webui/models/

4.3. Aktivér modellen

Aktivér modellen ved å gå inn på webui-et, (127.0.0.1:7860), så gå til fanen ved navnet Model.

Velg modellen som ønsket brukt fra listen, så velg llama.cpp som Model loader.

Model-fane.png

Velg så Load.

5. Konfigurering

5.1. Bruk av skjermkort

Man kan laste opp deler av modellen over på skjermkortet, hvor mye kommer an på mengde VRAM på skjermkortet.

For å gjøre dette, går man inn på Model og endrer på n-gpu-layers.

6. Kontakt:

Foreslag for endringer kan sendes til: kimandre+spraakmodell@bjorkede.no

Forfatter: Kim André Bjørkede

Created: 2023-10-30 ma. 15:32