Sie fragen - wir antworten!

Ihr eigenes Vicuna unter Linux

Vicuna main illustration

Dieser Artikel führt Sie durch den Prozess der Bereitstellung einer einfachen LLaMA-Alternative auf einem LeaderGPU-Server. Zu diesem Zweck werden wir das FastChat-Projekt und das frei verfügbare Vicuna-Modell verwenden.

Vorinstallation

Bereiten wir die Installation von FastChat vor, indem wir das Paket-Cache-Repository aktualisieren:

sudo apt update && sudo apt -y upgrade

Installieren Sie die Nvidia-Treiber automatisch mit dem folgenden Befehl:

sudo ubuntu-drivers autoinstall

Sie können diese Treiber auch manuell mit unserer Schritt-für-Schritt-Anleitung installieren. Starten Sie dann den Server neu:

sudo shutdown -r now

Der nächste Schritt ist die Installation von PIP (Package Installer for Python):

sudo apt install python3-pip

FastChat installieren

Von PyPi

Es gibt zwei Möglichkeiten, FastChat zu installieren. Sie können es direkt von PyPi aus installieren:

pip3 install "fschat[model_worker,webui]"

Von GitHub

Alternativ können Sie das FastChat-Repository von GitHub klonen und es installieren:

git clone https://github.com/lm-sys/FastChat.git
cd FastChat

Vergessen Sie nicht, PIP zu aktualisieren, bevor Sie fortfahren:

pip3 install --upgrade pip
pip3 install -e ".[model_worker,webui]"

FastChat ausführen

Erster Start

Um einen erfolgreichen ersten Start zu gewährleisten, empfiehlt es sich, FastChat manuell direkt von der Kommandozeile aus aufzurufen:

python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5

Dabei wird automatisch das gewünschte Modell, das mit dem Parameter --model-path angegeben werden muss, abgerufen und heruntergeladen. Die 7b steht für ein Modell mit 7 Milliarden Parametern. Dies ist das leichteste Modell, das für GPUs mit 16 GB Videospeicher geeignet ist. Links zu Modellen mit einer größeren Anzahl von Parametern finden Sie in der Readme-Datei des Projekts.

Sample Vicuna conversation

Nun haben Sie die Möglichkeit, direkt in der Befehlszeilenschnittstelle mit dem Chatbot zu kommunizieren oder eine Webschnittstelle einzurichten. Es enthält drei Komponenten:

  • Controller
  • Arbeiter
  • Gradio-Webserver

Dienste einrichten

Lassen Sie uns jede Komponente in einen separaten systemd-Dienst umwandeln. Erstellen Sie 3 separate Dateien mit dem folgenden Inhalt:

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 aktualisiert seine Daemon-Datenbank normalerweise während des Systemstarts. Sie können dies jedoch auch manuell mit dem folgenden Befehl tun:

sudo systemctl daemon-reload

Fügen wir nun drei neue Dienste zum Startvorgang hinzu und starten sie sofort mit der Option --now:

sudo systemctl enable vicuna-controller.service --now && sudo systemctl enable vicuna-worker.service --now && sudo systemctl enable vicuna-webserver.service --now

Wenn Sie jedoch versuchen, eine Webschnittstelle unter http://[IP_ADDRESS]:7860 zu öffnen, wird eine völlig unbrauchbare Schnittstelle ohne verfügbare Modelle angezeigt. Um dieses Problem zu beheben, beenden Sie den Webinterface-Dienst:

sudo systemctl stop vicuna-webserver.service

Führen Sie den Webdienst manuell aus:

python3 -m fastchat.serve.gradio_web_server

Hinzufügen einer Authentifizierung

Diese Aktion ruft ein weiteres Skript auf, das das zuvor heruntergeladene Modell in einer Gradio-internen Datenbank registrieren wird. Warten Sie ein paar Sekunden und unterbrechen Sie den Prozess mit der Abkürzung Ctrl + C. Wir werden uns auch um die Sicherheit kümmern und einen einfachen Authentifizierungsmechanismus für den Zugriff auf das Webinterface aktivieren. Öffnen Sie die folgende Datei, wenn Sie FastChat von PyPI installiert haben:

sudo nano /home/usergpu/.local/lib/python3.10/site-packages/fastchat/serve/gradio_web_server.py

oder

sudo nano /home/usergpu/FastChat/fastchat/serve/gradio_web_server.py

Blättern Sie bis zum Ende. Finden Sie diese Zeile:

auth=auth,

Ändern Sie sie, indem Sie einen beliebigen Benutzernamen oder ein beliebiges Passwort eingeben:

auth=(“username”,”password”),

Speichern Sie die Datei und beenden Sie sie mit Ctrl + X. Starten Sie schließlich die Webschnittstelle:

sudo systemctl start vicuna-webserver.service

Öffnen Sie http://[IP_ADDRESS]:7860 in Ihrem Browser und genießen Sie FastChat mit Vicuna:

Sample Vicuna poem

Siehe auch:



Aktualisiert: 20.01.2025

Veröffentlicht: 17.07.2024


Haben Sie noch Fragen? Schreiben Sie uns!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.