Je eigen Vicuna in Linux
Dit artikel leidt je door het proces van het implementeren van een basis LLaMA alternatief op een LeaderGPU server. We gebruiken hiervoor het FastChat project en het vrij beschikbare Vicuna model.
Voorinstallatie
Laten we ons voorbereiden op de installatie van FastChat door de packages cache repository bij te werken:
sudo apt update && sudo apt -y upgrade
Installeer Nvidia-stuurprogramma's automatisch met het volgende commando:
sudo ubuntu-drivers autoinstall
Je kunt deze stuurprogramma's ook handmatig installeren met onze stap-voor-stap handleiding. Start de server vervolgens opnieuw op:
sudo shutdown -r now
De volgende stap is het installeren van PIP (Package Installer for Python):
sudo apt install python3-pip
FastChat installeren
Van PyPi
Er zijn twee mogelijke manieren om FastChat te installeren. U kunt het rechtstreeks vanuit PyPi installeren:
pip3 install "fschat[model_worker,webui]"
Van GitHub
Als alternatief kun je de FastChat repository van GitHub clonen en installeren:
git clone https://github.com/lm-sys/FastChat.git
cd FastChat
Vergeet niet om PIP te upgraden voordat je verder gaat:
pip3 install --upgrade pip
pip3 install -e ".[model_worker,webui]"
FastChat uitvoeren
Eerste start
Om zeker te zijn van een succesvolle eerste start, is het aan te raden om FastChat handmatig direct vanaf de commandoregel aan te roepen:
python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5
Deze actie haalt automatisch het aangewezen model van je keuze op en downloadt het, wat gespecificeerd moet worden met de --model-path parameter. De 7b staat voor een model met 7 miljard parameters. Dit is het lichtste model, geschikt voor GPU's met 16 GB videogeheugen. Links naar modellen met een groter aantal parameters zijn te vinden in het Readme-bestand van het project.
Nu heb je de optie om een gesprek aan te gaan met de chatbot direct binnen de opdrachtregelinterface of je kunt een webinterface instellen. Deze bevat drie componenten:
- Controller
- Werkers
- Gradio webserver
Diensten instellen
Laten we van elke component een aparte systemd service maken. Maak 3 aparte bestanden met de volgende inhoud:
sudo nano /etc/systemd/system/vicuna-controller.service
[Unit]
Description=Vicuna controller service
[Service]
User=usergpu
WorkingDirectory=/home/usergpu
ExecStart=python3 -m fastchat.serve.controller
Restart=always
[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/vicuna-worker.service
[Unit]
Description=Vicuna worker service
[Service]
User=usergpu
WorkingDirectory=/home/usergpu
ExecStart=python3 -m fastchat.serve.model_worker --model-path lmsys/vicuna-7b-v1.5
Restart=always
[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/vicuna-webserver.service
[Unit]
Description=Vicuna web server
[Service]
User=usergpu
WorkingDirectory=/home/usergpu
ExecStart=python3 -m fastchat.serve.gradio_web_server
Restart=always
[Install]
WantedBy=multi-user.target
Systemd werkt zijn daemons database meestal bij tijdens het opstartproces van het systeem. Je kunt dit echter ook handmatig doen met het volgende commando:
sudo systemctl daemon-reload
Laten we nu drie nieuwe services toevoegen aan het opstarten en ze onmiddellijk starten met de optie --now:
sudo systemctl enable vicuna-controller.service --now && sudo systemctl enable vicuna-worker.service --now && sudo systemctl enable vicuna-webserver.service --now
Als je echter een webinterface probeert te openen op http://[IP_ADDRESS]:7860, krijg je een volledig onbruikbare interface zonder beschikbare modellen. U kunt dit probleem oplossen door de webinterface-service te stoppen:
sudo systemctl stop vicuna-webserver.service
Voer de webservice handmatig uit:
python3 -m fastchat.serve.gradio_web_server
Een verificatie toevoegen
Deze actie roept een ander script aan, dat het eerder gedownloade model zal registreren in een interne database van Gradio. Wacht een paar seconden en onderbreek het proces met de snelkoppeling Ctrl + C. We zorgen ook voor de beveiliging en activeren een eenvoudig authenticatiemechanisme voor toegang tot de webinterface. Open het volgende bestand als je FastChat hebt geïnstalleerd vanuit PyPI:
sudo nano /home/usergpu/.local/lib/python3.10/site-packages/fastchat/serve/gradio_web_server.py
of
sudo nano /home/usergpu/FastChat/fastchat/serve/gradio_web_server.py
Scroll naar beneden naar het einde. Zoek deze regel:
auth=auth,
Wijzig deze door een gebruikersnaam of wachtwoord in te stellen:
auth=(“username”,”password”),
Sla het bestand op en sluit het af met de snelkoppeling Ctrl + X. Start tot slot de webinterface:
sudo systemctl start vicuna-webserver.service
Open http://[IP_ADDRESS]:7860 in je browser en geniet van FastChat met Vicuna:
Zie ook:
Bijgewerkt: 13.09.2024
Gepubliceerd: 17.07.2024