Interrogez-nous, nous vous répondrons !

Applications et Guides

Votre propre Vicuna sous Linux

Cet article vous guidera à travers le processus de déploiement d'une alternative LLaMA de base sur un serveur LeaderGPU. Pour ce faire, nous utiliserons le projet FastChat et le modèle Vicuna disponible gratuitement.

Le modèle que nous utiliserons est basé sur l'architecture LLaMA de Meta mais a été optimisé pour un déploiement efficace sur du matériel grand public. Cette configuration offre un bon équilibre entre les performances et les besoins en ressources, ce qui la rend adaptée aux environnements de test et de production.

Préinstallation

Préparons l'installation de FastChat en mettant à jour le dépôt de cache des paquets :

sudo apt update && sudo apt -y upgrade

Installez automatiquement les pilotes NVIDIA® à l'aide de la commande suivante :

sudo ubuntu-drivers autoinstall

Vous pouvez également installer ces pilotes manuellement à l'aide de notre guide étape par étape. Redémarrez ensuite le serveur :

sudo shutdown -r now

L'étape suivante consiste à installer PIP (Package Installer for Python) :

sudo apt install python3-pip

Installer FastChat

Depuis PyPi

Il y a deux façons d'installer FastChat. Vous pouvez l'installer directement depuis PyPi :

pip3 install "fschat[model_worker,webui]"

Depuis GitHub

Alternativement, vous pouvez cloner le dépôt FastChat depuis GitHub et l'installer :

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

N'oubliez pas de mettre à jour PIP avant de continuer :

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

Lancer FastChat

Premier départ

Pour assurer un lancement initial réussi, il est recommandé d'appeler manuellement FastChat directement depuis la ligne de commande :

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

Cette action récupère et télécharge automatiquement le modèle désigné de votre choix, qui doit être spécifié en utilisant le paramètre --model-path. Le 7b représente un modèle avec 7 milliards de paramètres. Il s'agit du modèle le plus léger, adapté aux GPU dotés de 16 Go de mémoire vidéo. Des liens vers des modèles avec un plus grand nombre de paramètres peuvent être trouvés dans le fichier Readme du projet.

Sample Vicuna conversation

Vous avez maintenant la possibilité d'engager une conversation avec le chatbot directement dans l'interface de ligne de commande ou de configurer une interface Web. Elle contient trois composants :

  • Le contrôleur
  • Travailleurs
  • Serveur web Gradio

Mise en place des services

Transformons chaque composant en un service systemd séparé. Créez 3 fichiers séparés avec le contenu suivant :

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 met généralement à jour sa base de données de démons au cours du processus de démarrage du système. Cependant, vous pouvez le faire manuellement à l'aide de la commande suivante :

sudo systemctl daemon-reload

Ajoutons maintenant trois nouveaux services au démarrage et lançons-les immédiatement à l'aide de l'option --now:

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

Cependant, si vous tentez d'ouvrir une interface web à l'adresse http://[IP_ADDRESS]:7860, vous tomberez sur une interface totalement inutilisable, sans aucun modèle disponible. Pour résoudre ce problème, arrêtez le service d'interface web :

sudo systemctl stop vicuna-webserver.service

Exécutez le service web manuellement :

python3 -m fastchat.serve.gradio_web_server

Ajouter une authentification

Cette action appelle un autre script, qui va enregistrer le modèle précédemment téléchargé dans une base de données interne de Gradio. Attendez quelques secondes et interrompez le processus en utilisant le raccourci Ctrl + C. Nous allons également nous occuper de la sécurité et activer un mécanisme d'authentification simple pour accéder à l'interface web. Ouvrez le fichier suivant si vous avez installé FastChat depuis PyPI :

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

ou

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

Faites défiler l'écran jusqu'à la fin. Trouvez cette ligne :

auth=auth,

Modifiez-la en définissant le nom d'utilisateur ou le mot de passe de votre choix :

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

Sauvegardez le fichier et quittez en utilisant le raccourci Ctrl + X. Enfin, démarrez l'interface web :

sudo systemctl start vicuna-webserver.service

Ouvrez http://[IP_ADDRESS]:7860 dans votre navigateur et profitez de FastChat avec Vicuna :

Sample Vicuna poem

Voir aussi:



Mis à jour: 28.03.2025

Publié: 20.01.2025