Logotipo de VRAMfarm VRAMfarm
ES
Registrarse

12 de noviembre de 2026 · Equipo de VRAMfarm

Entrena un LoRA de Flux con tus propias fotos: 20 imágenes, 24 GB y unas dos horas

Una cuadrícula de veinte retratos que entra en una GPU y sale convertida en un pequeño archivo LoRA: entrenar un LoRA de Flux con tus propias fotos

Veinte fotos buenas, unos 2000 pasos de entrenamiento y una tarjeta de 24 GB: eso es todo lo que necesita un LoRA de parecido para Flux.1 dev. En una RTX 4090 alquilada, el entrenamiento en sí dura de 1 a 2,5 horas, y una primera tanda con la preparación y las imágenes de prueba sale por unos 1,24 € de tiempo de GPU. La mayoría de los LoRA fallidos fallan antes de que arranque la GPU, en las fotos y en las descripciones, así que esos dos pasos merecen tanto cuidado como los comandos.

El dataset: cuántas fotos y cuáles

Para una persona, el rango útil es de 15 a 30 fotos. Con menos de 10, el modelo no consigue separar tu cara de la iluminación de esas fotos concretas. Más de 40 rara vez ayuda y hace más difícil mantener una calidad uniforme. Veinte fotos nítidas y variadas ganan a cien parecidas.

Así es un buen conjunto:

  • Variedad donde quieres flexibilidad. Ángulos distintos (de frente, tres cuartos, de perfil), luz (de día, en interior, al atardecer), fondos, ropa y expresiones. Todo lo que se repite en el conjunto acaba grabado en el LoRA. Si llevas el mismo jersey negro en 15 fotos, ese jersey volverá en cada imagen.
  • Sobre todo cabeza y hombros, y unas pocas de medio cuerpo y cuerpo entero. Que unos dos tercios sean primeros planos da a la cara suficientes píxeles; el resto enseña las proporciones.
  • Solo tú en el encuadre. Recorta a las demás personas o deja fuera esa foto. Una segunda cara confunde al entrenamiento más que ninguna otra cosa.
  • Sin filtros fuertes, modos belleza ni escalados con IA. El LoRA aprende el filtro como si fuera parte de tu cara.
  • Al menos 1024 píxeles en el lado corto después de recortar. Las fotos del móvil sirven. Las imágenes pequeñas las amplía el entrenador y quedan blandas.

No hace falta recortarlo todo en cuadrado: ai-toolkit y kohya agrupan las imágenes por proporción. Pon las imágenes en una carpeta con un nombre neutro, como dataset, con nombres de archivo como 01.jpg, 02.jpg. Tu nombre no pinta nada en los nombres de archivo que van a una máquina alquilada.

Para un LoRA de estilo (un estilo de ilustración, el aspecto de un producto), las cifras son parecidas: 20–50 imágenes que comparten el estilo y cambian de tema.

Descripciones y palabra clave

Cada imagen lleva un archivo de texto con el mismo nombre (01.txt junto a 01.jpg). La descripción le dice al modelo qué parte de la imagen es el concepto nuevo y qué parte es corriente.

Elige una palabra clave (trigger word) que todavía no signifique nada, como annx o mrkv. Una palabra real como «anna» ya tiene un significado en el modelo y pelea contra tu entrenamiento. Después escribe descripciones cortas que mencionen la palabra clave y describan lo que cambia de una foto a otra:

photo of annx, a woman with curly hair, smiling, sitting at a cafe table, daylight
photo of annx, close-up portrait, serious expression, dark background

Dos reglas deciden casi todo el resultado. Describe lo que quieres que siga siendo cambiable (ropa, fondo, luz), porque lo descrito se trata como algo separado del concepto. No describas la cara en detalle, porque eso es lo que debe absorber la palabra clave.

Flux es indulgente en esto. Unas descripciones que solo dicen photo of annx funcionan sorprendentemente bien para una sola cara, y mucha gente entrena así. Las descripciones detalladas ayudan cuando el conjunto es desigual o cuando más tarde quieres cambiar ropa y escenarios con libertad. Los generadores automáticos de descripciones (FluxGym usa Florence-2; JoyCaption es popular) te ahorran teclear, pero lee lo que generan y quita lo que esté mal, sobre todo las descripciones de la cara.

ai-toolkit, FluxGym o kohya: qué entrenador

Los tres son gratuitos y funcionan en un servidor vacío con PyTorch y Jupyter.

Entrenador Cómo se usa Bueno para Ajustes de VRAM
ai-toolkit (Ostris) Un archivo YAML de configuración y un comando; interfaz web opcional Los mejores valores por defecto para Flux, imágenes de muestra durante el entrenamiento, también FLUX.2, Qwen-Image, Wan Configuración para 24 GB; opción low_vram para menos
FluxGym Una página web sencilla: subir, describir, entrenar Primer LoRA, sin archivos de configuración Ajustes para 12, 16 y 20 GB
kohya sd-scripts Línea de comandos con muchas opciones Control fino; son los scripts que FluxGym ejecuta por debajo Cualquiera, con fp8 e intercambio de bloques

Si te manejas con la terminal, elige ai-toolkit: su configuración de ejemplo train_lora_flux_24gb.yaml es un punto de partida sensato y genera imágenes de muestra cada pocos cientos de pasos, que es como eliges el mejor checkpoint. FluxGym es más fácil para un primer intento, sobre todo en una tarjeta de 16 GB.

Los dos entrenan sobre Flux.1 dev. Es un modelo de acceso restringido en Hugging Face: para ai-toolkit, acepta su licencia en la página del modelo y crea un token de lectura; FluxGym descarga sus archivos de modelo en el primer arranque, como explica su README. Los pesos de Flux.1 dev tienen una licencia no comercial; revisa sus condiciones actuales antes de usar las imágenes en trabajos de pago. Si eso te importa, ai-toolkit puede entrenar sobre Flux.1 schnell (Apache 2.0) con un adaptador de entrenamiento.

VRAM, tiempo y coste por tarjeta

Flux.1 dev tiene 12 000 millones de parámetros, unos 24 GB en bf16. Los entrenadores lo cargan en 8 bits, lo que lo reduce a la mitad y deja sitio para el LoRA, el optimizador y las imágenes a 1024 px. Por eso 24 GB es el tamaño cómodo. En 16 GB, el entrenador además mueve bloques del modelo a la RAM del sistema y de vuelta en cada paso, lo que funciona pero va bastante más lento.

Una tanda típica: 20 fotos, 2000 pasos, rango 16, grupos de resolución de hasta 1024 px.

Tarjeta VRAM Tiempo de entrenamiento (rango) Coste del entrenamiento en el punto medio del rango
RTX 4080, RTX 5080 (con trucos para 16 GB) 16 GB 3–6 h 1,40 € en una RTX 4080
RTX 3090 24 GB 2,5–4 h 0,90 €
RTX 4090 24 GB 1–2,5 h 0,89 €
RTX 5090 32 GB 0,8–1,6 h 0,84 €
H100 80 GB 0,5–1 h 2,93 €

Toma los tiempos como rangos para planificar, no como benchmarks: la resolución, el rango, el número de imágenes de muestra y la versión del entrenador los mueven. Entrenar solo a 512 px reduce el tiempo más o menos a la mitad, con menos detalle fino. Una H100 es la más rápida, pero rara vez la más barata; un LoRA es un trabajo demasiado pequeño para aprovecharla del todo. La RTX 4090 y la RTX 3090 son las opciones habituales, y la 3090, más barata, a menudo gana en precio por LoRA cuando no vas con prisa. En la página de precios están las tarifas actuales.

Sobre los pasos: unos 100 pasos por foto es un buen comienzo, así que 1500–2500 para un conjunto de 15–25. Una tasa de aprendizaje de 1e-4 y rango 16 (los valores por defecto de ai-toolkit) van bien para caras. Guarda un checkpoint cada 250 pasos y juzga por las muestras. El mejor muchas veces no es el último.

Lanzar el entrenamiento en un servidor alquilado

Lanza un servidor vacío PyTorch + Jupyter con una tarjeta de 24 GB. El driver y la versión de CUDA de la máquina se muestran antes de lanzar; los entrenadores actuales piden CUDA 12.x o posterior, así que compruébalo ahí. Abre Jupyter → File → New → Terminal, o conéctate por SSH (guía de claves SSH).

Sube tu carpeta dataset con el botón de subida de Jupyter (comprímela antes y luego unzip dataset.zip). Después instala ai-toolkit siguiendo su README para las versiones exactas:

cd /workspace
git clone https://github.com/ostris/ai-toolkit
cd ai-toolkit
pip install -r requirements.txt
echo "HF_TOKEN=<your read token>" > .env
cp config/examples/train_lora_flux_24gb.yaml config/annx.yaml

En config/annx.yaml, fija name, trigger_word: "annx", folder_path: "/workspace/dataset", steps: 2000 y los prompts de muestra (pon en ellos tu palabra clave). Luego arráncalo dentro de tmux, para que siga funcionando cuando cierres el navegador:

tmux new -s lora
python run.py config/annx.yaml
# sal con Ctrl+B y luego D; vuelve con: tmux attach -t lora

El primer arranque descarga Flux.1 dev y sus codificadores de texto, unos 30–35 GB. Esos minutos se facturan, y los gigas cuentan como tráfico con la tarifa de la máquina que se muestra antes de lanzar. Los checkpoints y las imágenes de muestra aparecen en /workspace/ai-toolkit/output/<name>/. Abre las muestras en Jupyter a medida que llegan; si ya se ven bien en el paso 1250, puedes parar antes.

FluxGym levanta una página web en su propio puerto. En un servidor PyTorch vacío solo SSH y Jupyter son accesibles desde fuera, así que abre FluxGym a través de un túnel SSH (ssh -L 7860:localhost:7860 ... con el host y el puerto de Mis servidores) y visita http://localhost:7860 en tu ordenador.

Un entrenamiento mantiene ocupada la GPU, así que la protección por inactividad no lo toca. Cuando termina, la GPU se queda en reposo. Si estás durmiendo y no hay nada conectado, recibes un aviso de inactividad al cabo de unas dos horas, y una hora después el servidor guarda /workspace y se detiene (la carpeta de un servidor PyTorch se puede guardar; donde no se puede, solo recibes los avisos). Esas horas inactivas se pagan. Para detenerlo justo al terminar, añade una llamada a la API después de python run.py, o simplemente pon una alarma.

Tus fotos en una máquina alquilada

Es la pregunta que la gente hace en voz baja, así que aquí va una respuesta clara.

Nuestras GPU vienen de anfitriones verificados, no de centros de datos propios. Antes de lanzar ves el país de la máquina. Tu servidor funciona en su propio contenedor, separado de los demás clientes, y su disco se elimina cuando se detiene. El anfitrión maneja el ordenador físico, y quien tiene control físico de una máquina puede, en principio, leer lo que hay en ella. Eso vale para cualquier servidor alquilado, desde un marketplace hasta una gran nube, y es el riesgo que estás valorando.

Con un conjunto de retratos, estos hábitos lo reducen a muy poco:

  • Elimina los metadatos antes de subir. Las fotos del móvil llevan coordenadas GPS y el nombre del dispositivo. exiftool -all= *.jpg en tu ordenador los quita.
  • Sube solo el conjunto de entrenamiento, no tu fototeca, y usa nombres de archivo neutros.
  • Borra el dataset cuando termine el entrenamiento (rm -rf /workspace/dataset /workspace/dataset.zip), sobre todo antes de Guardar y detener, para que las fotos no se queden en la carpeta guardada.
  • Trata el LoRA como una foto tuya. Reproduce tu cara cuando se le pide. No lo publiques a menos que sea lo que quieres.
  • Elige el país de la máquina si te importa; se muestra antes de lanzar.

Las fotos de otras personas necesitan su consentimiento. Según el RGPD, una cara reconocible es un dato personal, y un modelo que genera imágenes nuevas de alguien va más allá que compartir una foto. Hay más sobre quién puede ver qué en ¿están seguros mis datos en una GPU alquilada?.

Conserva el LoRA y úsalo en ComfyUI

Un LoRA de Flux con rango 16 ocupa unos 100–170 MB, y con rango 32, más o menos el doble. Descarga el checkpoint que te haya gustado desde Jupyter (clic derecho → Download) para tener una copia en casa. Luego, en /workspace/ai-toolkit/output/<name>/, borra los checkpoints que no quieras y usa Guardar y detener. La carpeta guardada conserva /workspace para el siguiente servidor, aunque sea con otra tarjeta, a 0,03 € por GB al mes; unos cuantos LoRA juntos se quedan muy por debajo de un giga. Flux.1 dev vive en la caché de Hugging Face, fuera de /workspace, así que no se guarda y no suma 30 GB a tu factura. Los detalles están en qué pasa con tus archivos al detener una GPU.

Para generar con él, arranca ComfyUI, pon el archivo en /workspace/ComfyUI/models/loras, añade un nodo LoraLoader entre el modelo y el sampler y usa la palabra clave en tu prompt. La app de Flux lista para usar ejecuta Flux.1 schnell, donde un LoRA de dev funciona pero se parece menos a ti; descarga Flux.1 dev en ComfyUI para el parecido completo. La guía de ComfyUI muestra dónde va cada archivo y cómo descargar Flux dev con tu token.

Empieza con una intensidad de 0,8–1,0. Si todas las imágenes se parecen a tus fotos en vez de a ti en una escena nueva, baja la intensidad o vuelve a un checkpoint anterior. Si el parecido es flojo, súbela o entrena 500 pasos más.

Preguntas sobre el tema

¿Funcionará mi LoRA en la app de Flux lista para usar?

La app trae Flux.1 schnell. Un LoRA entrenado sobre Flux.1 dev normalmente carga en schnell, pero el parecido es menor. Para el mejor resultado, descarga tú mismo Flux.1 dev en ComfyUI, o entrena sobre schnell con el adaptador de entrenamiento para schnell de ai-toolkit.

¿Puedo entrenar un LoRA con fotos de mi pareja o de un cliente?

Técnicamente, sí, pero consigue antes su consentimiento claro, mejor por escrito. Una cara es un dato personal, y un LoRA que reproduce el aspecto de alguien se puede usar mal de formas que una sola foto no permite.

¿Cómo sé si el LoRA está sobreentrenado?

Todas las muestras empiezan a parecerse: una sola expresión, los fondos y la ropa de tus fotos, piel demasiado nítida o colores quemados. Vuelve a un checkpoint anterior, normalmente el de 250–500 pasos antes.

¿Puedo entrenar un LoRA para FLUX.2 o Qwen-Image de la misma forma?

ai-toolkit admite los dos, con sus propias configuraciones de ejemplo. Son modelos más grandes (Qwen-Image tiene unos 20 000 millones de parámetros, y FLUX.2 dev, unos 32 000 millones), así que en 24 GB solo funcionan con más cuantización y descarga a la RAM; una tarjeta de 48 GB o más es la opción cómoda. Consulta los ejemplos actuales del entrenador para ver los ajustes exactos de memoria.

Encuentra la GPU en la que cabe tu modelo

Elige un modelo y verás la tarjeta más barata con VRAM suficiente, con facturación por minuto en euros.