Guía completa para desplegar Flux.1-Dev en Ubuntu 20.04: De la preparación del entorno a la generación de imágenes con IA

Introducción

El modelo de generación de imágenes Flux.1-Dev (conocido popularmente como "Deep Sea Illusion") ofrece resultados impresionantes y detallados. Sin embargo, la configuración inicial en un sistema Linux como Ubuntu puede representar un desafío. Esta guía proporciona un flujo de trabajo integral y verificado para desplegar el modelo en Ubuntu 20.04 LTS mediante contenedores Docker, simplificando drásticamente la gestión de dependencias complejas como los controladores de GPU y CUDA.

Requisitos previos del sistema y hardware

Antes de proceder, verifique que su entorno cumple con las especificaciones mínimas necesarias para ejecutar el modelo de forma estable.

  • Sistema Operativo: Ubuntu 20.04 LTS. Confirme la versión con el comando lsb_release -a.
  • GPU: Se requiere una tarjeta gráfica NVIDIA con al menos 8 GB de VRAM (por ejemplo, GTX 1070 Ti o superior). Se recomiendan 12 GB o más (RTX 3060, RTX 3080, etc.) para trabajar con resoluciones más altas.
  • Controlador NVIDIA: Es fundamental. Verifíquelo con nvidia-smi. El comando debe mostrar una tabla con la información de la GPU y la versión de CUDA compatible. Si no está instalado, utilice la herramienta "Controladores Adicionales" de Ubuntu para instalar la versión propietaria recomendada y reinicie el sistema.

Preparación del entorno de contenedores

Utilizaremos Docker para encapsular la aplicación y todas sus dependencias, lo que garantiza un despliegue limpio y reproducible.

Instalación de Docker

Ejecute los siguientes comandos en orden para instalar Docker Engine:

# Eliminar versiones antiguas potencialmente conflictivas
sudo apt-get remove docker docker-engine docker.io containerd runc

# Instalar paquetes necesarios y agregar la clave GPG oficial
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /usr/share/keyrings/docker.asc

# Agregar el repositorio estable de Docker
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# Instalar Docker Engine, CLI y plugins
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Probar la instalación
sudo docker run hello-world

# Permitir ejecutar docker sin sudo (requiere logout)
sudo usermod -aG docker $USER

Importante: Después de ejecutar el último comando, cierre sesión y vuelva a iniciarla para que los cambios en los grupos de usuario surtan efecto.

Instalación de NVIDIA Container Toolkit

Este componente es esencial para que los contenedores Docker puedan acceder a la GPU.

# Configurar repositorio y clave GPG
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update

# Instalar el toolkit
sudo apt-get install -y nvidia-container-toolkit

# Configurar Docker para usar NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Verificación final: ejecutar un contenedor de prueba con GPU
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu20.04 nvidia-smi

Si el último comando muestra la tabla de información de su GPU, el entorno está listo para el siguiente paso.

Despliegue y ejecución del modelo Flux.1-Dev

Con el entorno preparado, desplegar el modelo es un proceso directo mediante contenedores Docker preconfigurados.

Obtención y ejecución de la imagen contenedor

Extraiga la imagen del modelo de un registro y ejecútela con los parámetros adecuados. Asegúrese de crear primero un diretcorio en su sistema para almacenar las imágenes generadas.

# (Ejemplo) Crear un directorio de salida en el host
mkdir ~/flux-output

# Ejecutar el contenedor del modelo
docker run -d \
  --name flux-illusion \
  --gpus all \
  -p 7860:7860 \
  -v ~/flux-output:/app/output \
  registry.example.com/flux.1-dev:latest

Desglose de los parámetros clave:

  • -d: Ejecuta el contenedor en segundo plano.
  • --name flux-illusion: Asigna un nombre identificable al contenedor.
  • --gpus all: Otorga acceso al contenedor a todos los recursos de la GPU del host.
  • -p 7860:7860: Mapea el puerto 7860 del contenedor al host. La interfaz web del modelo estará disponible en este puerto.
  • -v ~/flux-output:/app/output: Monta el directorio ~/flux-output de su máquina host dentro del contenedor en la ruta /app/output. Las imágenes creadas se guardarán aquí y persistirán aunque el contenedor se elimine.

Acceso y validación del servicio

Una vez iniciado, verifique el estado y acceda a la interfaz:

  1. Compruebe que el contenedor está en ejecución: docker ps | grep flux-illusion.
  2. Revise los registros para confirmar la carga exitosa del modelo: docker logs flux-illusion. Busque mensajes como "Model loaded" o "Running on http://0.0.0.0:7860".
  3. Abra su navegador web y navegue a http://localhost:7860 (o la dirección IP de su servidor).
  4. Ingrese una descripción en el campo de texto (ej: "un paisaje oceánico con ruinas submarinas al atardecer, estilo fantástico"), ajuste los parámetros si es necesario y haga clic en "Generar".
  5. La imagen resultante aparecerá en la interfaz y se guardará automáticamente en el directorio del host que configuró.

Solución de problemas y administración

Errores comunes

  • Error con el parámetro --gpus: Indica que NVIDIA Container Toolkit no se instaló o configuró correctamente. Repita los pasos de la sección de instalación del toolkit, centrándose en la verificación final con nvidia-smi.
  • Falta de memoria (Out of Memory - OOM): Reduzca la resolución de salida (ej: de 1024x1024 a 512x512) y establezca el tamaño del lote (Batch Size) en 1 dentro de la interfaz web. Considere usar un programador (scheduler) más eficiente como DPMSolverMultistep si está disponible.

Comandos útiles para la administración del contenedor

# Detener el contenedor
docker stop flux-illusion

# Iniciar un contenedor detenido
docker start flux-illusion

# Ver los registros en tiempo real
docker logs -f flux-illusion

# Eliminar el contenedor (debe estar detenido primero)
docker rm flux-illusion

# Para actualizar a una nueva versión de la imagen:
docker stop flux-illusion && docker rm flux-illusion
docker pull registry.example.com/flux.1-dev:latest
# Volver a ejecutar con el mismo comando docker run inicial

Etiquetas: Flux.1-Dev Docker Ubuntu 20.04 nvidia CUDA

Publicado el 7-17 00:14