¡Pregunte, nosotros le respondemos!

Aplicaciones y Guías

Tu propia Vicuña en Linux

Este artículo te guiará a través del proceso de despliegue de una alternativa LLaMA básica en un servidor LeaderGPU. Para ello utilizaremos el proyecto FastChat y el modelo Vicuna de libre acceso.

El modelo que utilizaremos está basado en la arquitectura LLaMA de Meta pero ha sido optimizado para un despliegue eficiente en hardware de consumo. Esta configuración proporciona un buen equilibrio entre el rendimiento y los requisitos de recursos, por lo que es adecuado tanto para pruebas como para entornos de producción.

Preinstalación

Preparémonos para instalar FastChat actualizando el repositorio caché de paquetes:

sudo apt update && sudo apt -y upgrade

Instala los drivers de NVIDIA® automáticamente usando el siguiente comando:

sudo ubuntu-drivers autoinstall

También puede instalar estos controladores manualmente con nuestra guía paso a paso. A continuación, reinicie el servidor:

sudo shutdown -r now

El siguiente paso es instalar PIP (Package Installer for Python):

sudo apt install python3-pip

Instalar FastChat

Desde PyPi

Hay dos formas posibles de instalar FastChat. Puedes instalarlo directamente desde PyPi:

pip3 install "fschat[model_worker,webui]"

Desde GitHub

Alternativamente, puedes clonar el repositorio de FastChat desde GitHub e instalarlo:

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

No olvides actualizar PIP antes de continuar:

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

Ejecutar FastChat

Primer inicio

Para garantizar el éxito del primer inicio, se recomienda llamar manualmente a FastChat directamente desde la línea de comandos:

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

Esta acción recupera y descarga automáticamente el modelo designado de su elección, que debe especificarse mediante el parámetro --model-path. El 7b representa un modelo con 7.000 millones de parámetros. Se trata del modelo más ligero, adecuado para GPUs con 16 GB de memoria de vídeo. En el archivo Léame del proyecto encontrarás enlaces a modelos con un mayor número de parámetros.

Sample Vicuna conversation

Ahora tienes la opción de entablar una conversación con el chatbot directamente dentro de la interfaz de línea de comandos o puedes configurar una interfaz web. Contiene tres componentes:

  • Controlador
  • Trabajadores
  • Servidor web de Gradio

Configurar servicios

Transformemos cada componente en un servicio systemd independiente. Crea 3 archivos separados con el siguiente contenido:

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 suele actualizar su base de datos de demonios durante el proceso de arranque del sistema. Sin embargo, puede hacerlo manualmente utilizando el siguiente comando:

sudo systemctl daemon-reload

Ahora, agreguemos tres nuevos servicios al inicio y lancémoslos inmediatamente usando la opción --now:

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

Sin embargo, si intenta abrir una interfaz web en http://[DIRECCIÓN_IP]:7860, se encontrará con una interfaz completamente inutilizable y sin modelos disponibles. Para resolver este problema, detenga el servicio de interfaz web:

sudo systemctl stop vicuna-webserver.service

Ejecute el servicio web manualmente:

python3 -m fastchat.serve.gradio_web_server

Añadir una autenticación

Esta acción llama a otro script, que registrará el modelo previamente descargado en una base de datos interna de Gradio. Espera unos segundos e interrumpe el proceso utilizando el acceso directo Ctrl + C. También nos ocuparemos de la seguridad y activaremos un sencillo mecanismo de autenticación para acceder a la interfaz web. Abre el siguiente archivo si instalaste FastChat desde PyPI:

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

o

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

Desplácese hasta el final. Encuentra esta línea:

auth=auth,

Cámbiala poniendo el nombre de usuario o la contraseña que quieras:

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

Guarde el archivo y salga, usando el acceso directo Ctrl + X. Por último, inicie la interfaz web:

sudo systemctl start vicuna-webserver.service

Abre http://[IP_ADDRESS]:7860 en tu navegador y disfruta de FastChat con Vicuña:

Sample Vicuna poem

Ver también:



Actualizado: 28.03.2025

Publicado: 20.01.2025