Chatbots zijn momenteel een rage en iedereen wil een deel van de actie. Google heeft Bard, Microsoft heeft Bing Chat en OpenAI’s ChatGPT is op dit moment praktisch synoniem met AI. Maar wat als u niet wilt vertrouwen op een cloudservice voor uw chatbot? We hebben een ChatGPT-achtige AI die je kunt downloaden: een alpaca.
Wat is alpaca?
Hoe verhoudt Alpaca zich tot ChatGPT?
Wat heb je nodig om Alpaca te runnen?
Alpaca lokaal op uw pc uitvoeren
Installeer Windows Subsystem voor Linux 2
Docker installeren
Installeer GIT op Windows
Installeer Serge en Alpaca
Gebruik Serge en Alpaca
Wat is alpaca?
Alpaca is een taalmodel (eigenlijk een chatbot), net als ChatGPT. Het is in staat om vragen te beantwoorden, te redeneren, grappen te vertellen en zo ongeveer alles wat we van chatbots gewend zijn. Alpaca is gemaakt door Stanford-onderzoekers door de LLaMA van Facebook te verfijnen.
In tegenstelling tot ChatGPT en de meeste andere chatbots die tegenwoordig beschikbaar zijn, draait Alpaca volledig op uw eigen pc. Dat betekent dat niemand kan snuffelen in je gesprekken of wat je Alpaca vraagt, en je uitwisselingen kunnen ook niet per ongeluk worden gelekt. Het betekent ook dat u geen maandelijkse kosten hoeft te betalen, dat u het model verder kunt trainen om beter aan uw behoeften te voldoen als u over de hardware beschikt, en dat u het kunt integreren in elke gewenste toepassing. Je wordt alleen beperkt door je hardware en je programmeerkarbonades.
Het werkt echter ook prachtig als gewone oude chatbot waarmee je kunt praten, en we gaan je laten zien hoe je het op vrijwel elke pc kunt gebruiken.
Hoe verhoudt Alpaca zich tot ChatGPT?
We zullen het eerst uit de weg ruimen: ChatGPT, met name ChatGPT met GPT-4, is op dit moment slimmer en sneller dan Alpaca.
De snelheid van Alpaca wordt meestal beperkt door de computer waarop het draait – als je een razendsnelle gaming-pc hebt met heel veel kernen en veel RAM, haal je er goede prestaties uit. Langzamere pc’s met minder kernen hebben meer tijd nodig om reacties te genereren. Het is natuurlijk niet helemaal eerlijk of zelfs maar redelijk om het in dit opzicht te vergelijken met ChatGPT – we weten niet op wat voor soort computer ChatGPT draait, maar het is zeker krachtiger dan je gemiddelde desktop-pc.
Er zijn momenteel drie hoofdvarianten van Alpaca, 7B, 13B en 30B. Over het algemeen geldt: hoe groter het aantal, hoe slimmer de chatbot zal zijn.
Alpaca, vooral het 7B-model, is merkbaar “dommer” dan ChatGPT. Het redeneert minder goed en zal de Turing-test zeker niet doorstaan. 7B is echter nog steeds geweldig als je een receptsuggestie wilt.
De modellen 13B en 30B zijn een heel ander verhaal. 13B is in staat om een ​​coherent, menselijk gesprek te voeren en kan complexe vragen beantwoorden. 30B is zelfs nog indrukwekkender, als je de hardware hebt om het uit te voeren, en bevindt zich op zeer korte afstand van ChatGPT. Het zal filosofisch doorgaan of een grap maken zonder een beat te missen als daarom wordt gevraagd.
Wat heb je nodig om Alpaca te runnen?
Alpaca heeft behoorlijk flexibele systeemvereisten. Deze richtlijnen zijn boven het absolute minimum, maar zijn goede richtlijnen. We gaan dit ook op Windows installeren. Als u dit installeert op een systeem met Linux of macOS, sla dan gewoon het gedeelte Windows Subsystem for Linux over – het is niet relevant voor u.
- 16 GB RAM-geheugen
-
32 GB is beter en is nodig als u het 30B-model wilt gebruiken
-
- 35 GB opslagruimte op een SSD als je alle drie de modellen wilt.
- 4 GB voor het 7B-model, 8 GB voor het 13B-model en 20 GB voor het 30B-model
- 500 MB voor standaard Ubuntu met WSL2
- Nog een paar GB tussen andere afhankelijkheden
- Een moderne CPU is ideaal
- Elke Ryzen-CPU
- 7e generatie Intel-processor of nieuwer
- Windows-subsysteem voor Linux 2 (WSL2)
- GIT
- Dokwerker
- Een gemeenschapsproject, Serge, dat Alpaca een mooie webinterface geeft
Waarschuwing: Er is momenteel geen reden om te vermoeden dat dit specifieke project grote beveiligingsfouten bevat of kwaadaardig is. We hebben de code doorgenomen en de software zelf uitgevoerd en niets gevonden. Dat betekent niet dat het veilig is of zal blijven. Wees altijd voorzichtig met dingen die u op internet vindt en evalueer de veiligheid regelmatig opnieuw.
Alpaca lokaal op uw pc uitvoeren
Het is belangrijk dat u deze stappen volgt in de aangegeven volgorde. Docker zal waarschijnlijk kapot gaan als u dat niet doet, waardoor zowel WSL2 als Docker volledig opnieuw moeten worden geïnstalleerd.
Installeer Windows Subsystem voor Linux 2
Met het Windows-subsysteem voor Linux 2 (WSL2) van Microsoft kunt u Linux-software in Windows uitvoeren. Het heeft een lage overhead en is in veel gevallen erg handig. Docker voor Windows is afhankelijk van WSL2, dus we moeten eerst WSL2 installeren.
Opmerking: Als u WSL2 al hebt geïnstalleerd, voert u gewoon wsl –update uit in PowerShell om te controleren of alles is bijgewerkt.
Open een PowerShell-venster als beheerder en voer vervolgens de opdracht in:
wsl --install
Het duurt even om alle WSL2-bestanden en Ubuntu te downloaden. U moet uw pc opnieuw opstarten nadat de installatie is voltooid.
Nadat de herstart is uitgevoerd, heropent u PowerShell (niet noodzakelijkerwijs als beheerder) en voert u het volgende uit:
wsl -l -vÂ
Je zou zoiets als de onderstaande afbeelding moeten zien als alles correct werkte. U hoeft Ubuntu ook niet in het bijzonder te installeren. Je kunt elke gewenste distro installeren, Ubuntu is gewoon de standaard.
Docker installeren
Docker is een programma waarmee u programma’s in een ‘container’ kunt uitvoeren. Containers zijn vergelijkbaar met virtuele machines, maar ze hebben meestal minder overhead en presteren beter voor veel toepassingen. Serge gebruikt Docker om de installatie supergemakkelijk te maken.
Download eerst het Docker-installatieprogramma van de Docker-website. Als je Docker op Linux of macOS gaat gebruiken, zorg er dan voor dat je het juiste installatieprogramma pakt.
Opmerking: Als je een headless Linux-server gebruikt, wil je de juiste instructies voor je Linux-distro volgen om Docker aan de praat te krijgen.
Voer het installatieprogramma uit en wees bereid om een ​​paar minuten te wachten. Docker zal een tijdje duren en achter de schermen een heleboel dingen opzetten. Als het klaar is, wil je je pc opnieuw opstarten.
Na het opnieuw opstarten, opent u PowerShell en voert u het uit wsl -l -v
opnieuw. Deze keer zou u ook enkele vermeldingen met betrekking tot Docker moeten zien.
Installeer GIT op Windows
De laatste vereiste is Git, die we zullen gebruiken om Serge automatisch te downloaden (en bij te werken) van Github. Het is niet strikt noodzakelijk omdat je altijd de ZIP kunt downloaden en handmatig kunt uitpakken, maar Git is beter.
Ga naar de Git-website en download de juiste versie voor uw besturingssysteem. Windows-gebruikers hoeven alleen het uitvoerbare bestand uit te voeren. Zorg ervoor dat u op zijn minst naar de installatie-opties kijkt in plaats van gewoon snel door alle opties te klikken. Eén, weergegeven in de onderstaande schermafbeelding, is absoluut cruciaal.
Zodra Git klaar is met installeren, ben je klaar om Serge en Alpaca te installeren.
Installeer Serge en Alpaca
Zorg er eerst voor dat Docker Desktop actief is. Open vervolgens PowerShell of Windows Terminal met een geopend PowerShell-venster (niet als admin) en voer de volgende opdracht uit:
git clone https://github.com/nsarrazin/serge.git && cd serge
Hiermee worden de bestanden van GitHub naar een map op uw pc gedownload en wordt vervolgens de actieve map gewijzigd in de map die is gemaakt.
De volgende opdracht die u moet uitvoeren is:
cp .env.sample .env
Die regel maakt een kopie van .env.sample en noemt de kopie “.env.” Het bestand bevat argumenten met betrekking tot de lokaal database die uw gesprekken opslaat en de poort die de lokale webserver gebruikt wanneer u verbinding maakt.
Voer dan uit:
docker compose up -d
Docker compose bindt een aantal verschillende containers samen tot een overzichtelijk pakket. Je kunt het bestand docker-compose.yml in de Serge-map bekijken als je specifieker wilt zien wat hier bij komt kijken.
De laatste opdracht start een download en hier moet u een keuze maken voordat u verder gaat. Er zijn drie verschillende varianten die u kunt downloaden: 7B, 13B en 30B. 7B is het eenvoudigste en “domste” model, terwijl 30B het meest geavanceerde en slimste is. 13B is de middenweg.
Variant | Grootte downloaden | Gratis RAM vereist | Systeem-RAM Aanbevolen op Windows | Systeem-RAM Aanbevolen op Linux |
7B | 4GB | 4GB | 16 GB | 8GB |
13B | 8GB | 8GB | 16 GB | 16 GB |
30B | 20 | 20GB | 64 GB (waarschijnlijk) | 32GB |
Linux (en waarschijnlijk macOS) installaties zullen wegkomen met minder systeem-RAM dan Windows-installaties – Windows is een beetje een RAM-varken. U moet waarschijnlijk eerst met de 7B-variant beginnen, aangezien dit de minst veeleisende optie is. Je kunt later altijd 13B of 30B downloaden als je wilt.
Voer de volgende opdracht uit om het 7B-model te downloaden (of vervang 13B of 30B).
docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B
Wees bereid om te wachten, zeker als je kiest voor de 30B-variant. De Huggingface-server lijkt uit te komen op ongeveer 20 megabytes per seconde, dus in het beste geval kijk je naar 50 seconden per gedownloade gigabyte.
Gebruik Serge en Alpaca
Docker en alle vereiste containers zijn momenteel actief als u deze instructies hebt gevolgd, maar u moet ze weer inschakelen als u uw computer opnieuw opstart. Om dat te doen, opent u gewoon Docker Desktop en klikt u op de kleine driehoekige knoppen. De pictogrammen links van de kolom “Naam” worden groen wanneer de containers draaien.
Alles is op dit moment geïnstalleerd en klaar voor gebruik. Open gewoon uw browser en voer “localhost:8008” in de adresbalk in, net zoals u zou doen om Facebook of een andere website te bezoeken.
Opmerking: Als u Alpaca/Serge op een andere computer host, moet u het lokale IP-adres van dat apparaat invoeren in plaats van localhost.
Op het hoofdscherm worden uw eerdere gesprekken aan de linkerkant weergegeven en in het midden de instellingen voor een nieuwe chat.
Er is een behoorlijk aantal instellingen beschikbaar, maar er zijn er vijf waar u echt op wilt letten:
- Temperatuur – Bepaalt hoe vrij de AI antwoordt. Lagere getallen resulteren in meer rigide antwoorden, terwijl hogere getallen creatiever zijn.
- Maximale gegenereerde tekstlengte in tokens – Hoe lang de antwoorden die de bot schrijft kunnen zijn.
- Model keuze – Kies tussen 7B, 13B, 30B en elk ander model dat u installeert.
- n_threads – Het aantal threads dat Serge/Alpaca op je CPU kan gebruiken. Meer toewijzen zal de prestaties verbeteren
- Pre-prompt voor het initialiseren van een gesprek – Biedt context voordat het gesprek wordt gestart om de manier waarop de chatbot reageert te vertekenen.
In dit geval hebben we de temperatuur en threads verhoogd, het 13B-model geselecteerd en de chatbot verteld dat het een piraat is.
Hier is een voorbeeld van hoe het gesprek verliep.
U kunt met Alpaca over alles praten wat u maar wilt, en u hoeft zich geen zorgen te maken over wat er met uw gegevens gebeurt. Het blijft op uw apparaat staan, te allen tijde onder uw controle.
Onthoud dat ChatGPT, Alpaca en andere chatbots betrouwbaar lijken, maar dat zijn ze op dit moment niet. Ze belichamen heel goed het gevoel: “Als je ze niet kunt verblinden met schittering, verbijster ze dan met BS.” Hun neiging om dingen te verzinnen wordt wel ‘hallucinerend’ genoemd. Vertrouw niet op hen voor iets essentieels, vooral niet voor iets dat cruciaal is voor uw werk of gezondheid. Ze mogen op dit moment alleen worden gebruikt voor amusement of experimentele doeleinden.
De technologie zal echter met de tijd alleen maar beter worden – het zal niet lang duren voordat we Alpaca (of andere lokaal beheerde AI) geïntegreerd zien in Discord-servers, Minecraft-mods en een aantal andere creatieve toepassingen. Verdere verfijning zal ook resulteren in snellere, nauwkeurigere modellen die op zwakkere hardware kunnen draaien.