Saltar al contenido principal

Devin postentrenando un LoRA de FLUX en una GPU de Modal, desplegando el mejor checkpoint y agregándolo a una aplicación de chat

Devin se ejecuta allí donde el job tenga que ejecutarse. Con Devin Outposts, una sesión puede ejecutarse en tu propia infraestructura o en la plataforma de un socio; en este caso, se ejecuta en un sandbox con GPU de Modal, de modo que el mismo Devin que escribe tu código puede entrenar, evaluar y desplegar un modelo de principio a fin. En este tutorial, Devin ajusta un LoRA de FLUX con 18 imágenes de nutrias para que «Devin the software engineer» se genere como una nutria, lo despliega como endpoint de Modal y lo agrega al selector de modelos de la aplicación de ejemplo, otterchat.

Antes de empezar

  • Crea un puesto avanzado de Modal: ejecuta uvx modal-devin init y elige una GPU para la aplicación de Modal generada. Consulta Ejecutar Devin en Modal y el inicio rápido de Outposts.
  • Conecta tu repositorio: el repositorio de ejemplo, otterchat, es una aplicación de chat con un selector de modelos de imagen. El puesto avanzado lo clona en un Modal Volume persistente.
  • Prepara tus datos de entrenamiento: agrega imágenes con sus descripciones al repositorio o a un Modal Volume que monte el puesto avanzado. El ejemplo usa 18 imágenes de nutrias en estilo de dibujos animados con descripciones como «Devin the software engineer in a data center».
  • Agrega secretos: guarda tu clave de Weights & Biases en Configuración > Secretos. El sandbox de Modal ya incluye credenciales de Modal, por lo que Devin puede desplegar endpoints sin configuración adicional.
  • Define reglas para ejecuciones largas: agrega reglas de organización (o inclúyelas en el prompt), por ejemplo: publicar una actualización del progreso cada 15 minutos, generar imágenes de validación en cada checkpoint e incluir el enlace de vista previa en cada PR.
  • Conecta Slack (opcional): las ejecuciones de entrenamiento tardan horas, así que sincroniza la sesión con un hilo de Slack para seguir su avance.

Paso 1: Inicia una sesión en el puesto avanzado

Abre Devin, elige tu puesto avanzado de Modal en el menú Virtual environment, situado debajo del cuadro del prompt, y activa el interruptor de Slack en el editor. Comprueba el hardware:
Devin indica que dispone de una NVIDIA B200 con PyTorch y diffusers instalados, y de que el proyecto se encuentra en un Modal Volume persistente.

Paso 2: Revisa los datos de entrenamiento

Devin encuentra el conjunto de datos en el proyecto y publica las 18 imágenes, con sus pies de foto, en la sesión y en el hilo de Slack.

Paso 3: Inicia la ejecución de entrenamiento

Devin ejecuta el job por su cuenta, siguiendo las reglas anteriores:
  1. Entrena el LoRA: unos 1,000 pasos, registrados en Weights & Biases, con renderizados de validación cada 100 pasos.
  2. Informa en Slack: comparte el progreso cada 15 minutos junto con los renderizados más recientes. Los primeros renderizados muestran personas; la nutria va apareciendo a medida que avanza el entrenamiento.
  3. Elige el mejor checkpoint: el del paso 700, ya que los pasos 900 y 1,000 mostraron indicios de sobreajuste.
  4. Despliega y publica: sirve el paso 700 como un endpoint serverless de Modal, agrega otterimage 1.0 al selector de modelos de la aplicación de chat, graba una prueba de extremo a extremo y abre un PR con un enlace de vista previa.
Cuadrícula de imágenes de validación en cada checkpoint

Renderizados de validación del paso 500 al paso 1,000

Paso 4: Prueba el modelo

Abre el enlace de vista previa del PR y pide una imagen:
La aplicación de chat genera una nutria de dibujos animados comiendo espaguetis
Con el mismo prompt, un modelo de imágenes de propósito general genera una persona.

Paso 5: Itera con sesiones secundarias

El post-entrenamiento rara vez se resuelve en una sola ejecución. Pásale a Devin un artículo y deja que pruebe las alternativas en paralelo:
Devin agrega los nuevos métodos al script de entrenamiento en un PR e inicia tres sesiones secundarias en el puesto avanzado: una para LoHa, otra para LoKr y otra para el ajuste fino nativo.
Sesión de Devin con tres sesiones secundarias para LoHa, LoKr y el ajuste fino nativo

Próximos pasos

Ejecutar Devin en Modal

Crea un puesto avanzado basado en Modal con GPU, Volumes y Secrets

Devin Outposts

Ejecuta sesiones en tu propia infraestructura o en la plataforma de un partner

Integración con Slack

Haz seguimiento de sesiones de larga duración desde un hilo de Slack

Devins gestionados

Inicia y supervisa sesiones secundarias para realizar experimentos en paralelo