Cómo crear un conjunto de datos para el entrenamiento

Un conjunto de datos de calidad es clave para un entrenamiento de modelos eficaz. Esta guía cubre cómo encontrar o crear uno para diferentes tipos de modelos.

¿Qué es el conjunto de datos?

El conjunto de datos de entrenamiento es la fuente de nuestros modelos. Es esencial usar el tamaño correcto, etiquetado adecuado y ediciones apropiadas para crear un buen conjunto de datos.

  • Por lo general, entre 20 y 40 imágenes son suficientes para muchos tipos de LoRA, pero el entrenamiento de Checkpoints (modelos) requiere muchas más imágenes (mínimo 100, que es el máximo permitido por SeaArt), por lo que se recomienda centrarse únicamente en entrenar LoRA por ahora para ahorrar tiempo y créditos. Si deseas crear una LoRA detallada, puedes optar por usar más imágenes, pero recuerda: Más imágenes no significa mejor LoRA. La mejor opción es elegir imágenes variadas con el mismo contenido para nuestras LoRA.

  • El conjunto de datos puede obtenerse de imágenes de la web, pero también puede generarse mediante imágenes creadas por IA. El conjunto de datos no debe tener errores ni partes defectuosas, por lo que usar IA para crearlo puede ser complicado. Sin embargo, si confías en tus habilidades y suerte, puedes generar el conjunto de datos con imágenes generadas por IA.

Selección/creación de imágenes para el conjunto de datos

Existen diferentes tipos de LoRA y requieren distintos tipos de imágenes, pero hay algunos puntos importantes que se aplican a todos los conjuntos de datos:

¿Puedo usar algo que no puede ser generado por IA?

Las imágenes deben ser cosas que puedan generarse con IA. (No incluye el sujeto principal de la LoRA). Por ejemplo, si deseas crear una LoRA de personaje de un personaje de videojuego, está bien que ese personaje específico no pueda ser generado por IA, pero debes poder generar esa imagen específica con IA para obtener los mejores resultados.

Ejemplo de personaje: Frieren (no puede ser generado con el modelo que deseas usar). El conjunto de datos debe ser imágenes que la IA pueda generar si supiera quién es Frieren.

Ejemplos:

Imagen de Frieren de pie y sonriendo al espectador

  • La IA puede generar personajes de pie y sonriendo aunque no sea Frieren, por lo tanto, la imagen se puede usar.

Retrato de Frieren con expresión triste

  • La IA puede generar el retrato de una mujer con expresión triste aunque no sea Frieren, por lo tanto, la imagen se puede usar.

Imagen de la parte superior del cuerpo de Frieren atrapada en un “mimic” (cofre monstruo)

  • Muchos modelos no pueden generar correctamente una persona atrapada en un “mimic”, aunque no sea Frieren, por lo tanto, la imagen no se puede usar para modelos que no puedan generarla.

Ahora digamos que quiero crear una LoRA de estilo: el estilo no es problema si la IA no puede generarlo, pero debe poder generar el sujeto.

Estilo: oscuro, gótico (no puede ser generado con el modelo que deseas usar).

Ejemplos:

Ilustración de un castillo con estilo oscuro y gótico

  • La IA puede generar un castillo aunque no tenga el estilo que deseas, por lo tanto, la imagen se puede usar.

Imagen de una mitad manzana, mitad gato ciborg con armadura en estilo gótico

  • Muchos modelos fallan al generar una manzana-gato ciborg con armadura aunque no sea el estilo deseado, por lo tanto, la imagen no se puede usar.

Puede sonar absurdo, pero es muy importante para el etiquetado correcto. Las mejores LoRA provienen de conjuntos de datos correctamente etiquetados. El punto principal es que la imagen no debe incluir elementos confusos o difíciles de generar a menos que estos sean el sujeto principal de tu LoRA.

Selección del conjunto de datos para LoRA de personaje

El estilo de tu personaje debe ser similar al modelo que deseas usar. Por ejemplo:

  • LoRA de Naruto en estilo anime con un modelo de anime: el conjunto de datos debe contener imágenes de estilo anime.

  • LoRA fotorrealista de Luffy con un modelo fotorrealista: el conjunto de datos debe incluir imágenes realistas del personaje, no en estilo anime.

Por lo general, entre 25 y 40 imágenes del personaje son suficientes si no vas a crear una LoRA con muchos detalles. Usar demasiadas imágenes puede provocar LoRA sobreentrenadas (overcooked).

Utiliza imágenes del mismo personaje con algunas variaciones en posturas, ángulos, vistas, ropa, expresiones, fondo, etc., y combínalas para crear imágenes variadas.

Ejemplo

  • Personaje: Luffy de One Piece

  • Postura: De pie, sentado, posturas de acción (puede estar saludando, haciendo el signo de paz, gran sonrisa con ojos cerrados u otra pose que pueda generarse con IA)

  • Ángulo/vista: Vista frontal, plano medio, cuerpo entero, retrato, vista trasera, etc.

  • Ropa: Ropa original de Luffy, ropa formal, camiseta y jeans, traje, etc.

  • Expresiones (recomendadas solo en retratos o primeros planos): Sonriendo, enojado, triste, confundido, tímido, etc.

  • Fondo: Ciudad, playa, mar, barco, casa, etc.

Imágenes:

  • plano medio, Luffy, sonriendo, de pie, ropa formal, playa

  • plano medio, Luffy, triste, llorando, saludando al espectador, ropa original, barco

  • cuerpo entero, Luffy, sentado, camiseta y jeans, casa ...

Después de encontrar/crear imágenes específicas combinando términos diferentes, ya tienes un buen conjunto de datos con imágenes variadas. Esto aumenta la flexibilidad y capacidad de generación de tu LoRA.

Si usas retratos en todas las imágenes, la LoRA favorecerá los planos de retrato y causará deformaciones en otros ángulos. Si usas la ropa original de Luffy en todas las imágenes, tenderá a generar ropa como el sombrero de paja o la chaqueta roja todo el tiempo, incluso cuando no lo desees.

Si usas la playa como fondo en todas las imágenes, la LoRA generará imágenes con fondo de playa incluso si no lo solicitas.

  • El punto óptimo es usar un término como máximo en 3 a 6 imágenes. Los ángulos o vistas pueden repetirse más, por ejemplo:

Conjunto de datos con 30 imágenes: 12 planos de retrato, 4 con fondo de playa, 4 con expresión sonriente, 6 imágenes con ropa original, 4 vistas traseras, 6 planos medios, 8 de cuerpo completo, 6 sentado, 8~10 de pie, etc.

  • Intenta encontrar o crear combinaciones diferentes; no uses etiquetas similares para un mismo término. Si creas seis imágenes de Luffy con ropa original y todas son vistas traseras, es posible que obtengas una vista trasera al intentar generar su ropa original, o que la IA genere su ropa (como la chaqueta roja o el sombrero de paja) al pedir una vista trasera, aunque no lo hayas solicitado.

Selección del conjunto de datos para LoRA de estilo

  • El modelo base que vas a usar debe ser flexible o similar al estilo que deseas crear.

  • El sujeto debe ser algo que la IA pueda generar.

  • Usa imágenes variadas con diferentes sujetos pero mismo estilo.

  • 30-40 imágenes es suficiente para una LoRA de estilo.

  • 15-20 imágenes si el estilo es muy uniforme (ej. pixel art).

  • Más de 50 imágenes si deseas un estilo muy detallado y flexible que pueda aplicarse a cualquier sujeto (elige la mayor variedad de sujetos posible).

Ejemplo para conjunto de 30-40 imágenes (puedes ajustar según la cantidad total):

Nota: Todas las imágenes deben tener el mismo estilo (el estilo que deseas generar como LoRA).

Los valores sugeridos se basan en lo que la gente prioriza al generar con IA. Puedes cambiar los valores según tu propósito, pero para una LoRA de estilo estándar, se recomienda seguir esta cantidad:

  • 10-14 imágenes de mujeres (con diferentes características, ángulos, vistas, posturas, ropa, fondos)

  • 8-10 imágenes de hombres (con diferentes características, ángulos, vistas, posturas, ropa, fondos)

  • 6 imágenes de paisajes o escenarios con al menos 3 lugares diferentes (sin ningún objeto principal)

  • Varios objetos con diferentes vistas, pueden ser una fruta, coche, casa, bolígrafo, fuego o cualquier cosa que desees. Lo importante es que todas las imágenes compartan el mismo estilo. Esto es útil para conjuntos de datos grandes y aumenta la flexibilidad de la LoRA.

Modo de recorte

El recorte es importante para que nuestro conjunto de datos tenga la resolución correcta. Hay 3 opciones de recorte y cada una tiene efectos diferentes:

  • Center Crop: Usa el centro de la imagen como referencia y recorta al tamaño correcto.

  • Focus Crop: Usa el sujeto principal como referencia y recorta al tamaño correcto.

  • No Crop: No recorta. Úsalo solo si las imágenes ya tienen el tamaño correcto.

Focus Crop es el más recomendado para LoRA de personajes si las imágenes no están en tamaño adecuado.

Resolución

  • 512x512, 512x768, 768x512 son recomendadas para LoRA basadas en Stable Diffusion 1.5. También puedes usar 768x768 si deseas una LoRA muy detallada.

  • 1024x1024 es recomendada para SDXL, Flux y Stable Diffusion 3.5.

Etiquetado del conjunto de datos

El etiquetado es muy importante para crear mejores LoRA. Puede tomar tiempo, pero los resultados valdrán la pena.

¿Cómo funciona el etiquetado y qué significa?

Puede parecer confuso a primera vista, pero en realidad es bastante similar a cómo escribimos un prompt para generar imágenes. Explicado de forma sencilla:

  • Tenemos una imagen en el conjunto de datos, pero la IA no sabe qué es.

  • Le añadimos etiquetas a la imagen, básicamente creamos un prompt sin un orden específico para que la IA entienda y aprenda qué prompt (etiquetas) generó esa imagen. Por eso se recomienda usar cosas que puedan ser generadas por IA: si la IA no es capaz de generar esa imagen con las etiquetas proporcionadas, terminarás enseñándole algo que no puede crear, lo que provocará muchas generaciones erróneas o deformadas.

  • Después de eso, la IA aprende esas etiquetas y la imagen, y podrá generar resultados similares usando su conjunto de datos.

Algoritmos de etiquetado

Podemos establecer las etiquetas manualmente o usar un algoritmo de etiquetado para hacerlo más rápido y sencillo. Existen dos algoritmos de etiquetado diferentes que utilizamos al crear un conjunto de datos.

BLIP

Este sistema se parece más al lenguaje natural, usa frases cortas e incompletas para identificar las imágenes. Se recomienda para modelos basados en SDXL y estilo fotorrealista. Es la mejor opción para entrenamientos en Flux y SD3.5, aunque si tienes tiempo y paciencia, es mejor etiquetar manualmente.

Deepbooru

Un sistema que usa etiquetas de sitios como Danbooru, Safebooru, e621, etc. Son términos específicos usados en esas plataformas con una base de datos muy amplia. Se recomienda para creación de LoRA basadas en SD1.5 y especialmente para modelos de anime/furry/cómic.

Umbral de etiquetado

Puede usarse entre 0 y 1 y ajusta la cantidad de etiquetas y el nivel de detalle.

  • Valores bajos crean muchas etiquetas y tratan de describir todos los detalles. Suena bien, pero añade muchas etiquetas innecesarias.

  • Valores altos crean pocas etiquetas y solo identifican los detalles generales, lo que puede causar problemas por falta de definición.

  • Se recomienda usar entre 0.5 y 0.8 según lo que estés creando y el nivel de detalle que desees.

Edición de etiquetas y uso de palabra clave (Trigger Word)

Lamentablemente, el sistema de etiquetado automático no es 100% preciso, así que debemos editar la base de datos para eliminar etiquetas innecesarias y agregar las importantes. La parte más esencial de una LoRA son las Trigger Words, ya que contienen la información que queremos enseñar a la IA.

Trigger Word

Trigger Word debe utilizarse para que los LoRAs funcionen mejor, es una parte muy importante de la fase de provocación.

La palabra clave (trigger word) es la clave de activación de las LoRA; básicamente son etiquetas que no están escritas en los datos de la imagen, pero que se muestran en la imagen. Las partes consistentes de la LoRA deben identificarse mediante las palabras clave, no con sus propias etiquetas.

Por ejemplo, si nuestro personaje tiene cabello amarillo y queremos crear una LoRA de ella, los datos de las etiquetas no deben incluir términos como “cabello amarillo” o “rubio”, para que la IA los considere parte de la palabra clave.

¿Cómo editar las etiquetas?

  • Elimina etiquetas innecesarias, como detalles pequeños (lunar, collar, etc.). Depende de lo que priorices.

  • Elimina etiquetas de detalles consistentes. Si quieres una LoRA de personaje rubio, elimina términos como "cabello amarillo" o "rubio". Si es una LoRA de estilo de ilustración con tinta, elimina etiquetas relacionadas a tinta, ilustración, estilo artístico, etc.

  • Añade etiquetas importantes que describan la imagen pero que no estén relacionadas al sujeto principal de tu LoRA.

Por ejemplo:

  • Para LoRA de personaje: añade etiquetas de fondo, iluminación, desenfoque, pose, expresión.

  • Para LoRA de estilo: describe el sujeto principal con detalles adicionales.

Fin de la guía

Ahora tu conjunto de datos tiene imágenes correctamente preparadas con etiquetas importantes que describen la imagen como lo haría un prompt, así que la IA entenderá qué generó esas imágenes.

Tu trigger word será el marcador de posición del sujeto principal de tu LoRA (las etiquetas faltantes de las imágenes que usaste). De este modo, la IA aprenderá qué significa tu trigger word y se entrenará en ese tema.

Ejemplo

  • LoRA: LoRA del personaje Naruto

  • Imagen: Naruto de pie frente a un árbol y sonriendo

  • Etiquetas: 1chico, de pie, árbol, sonriendo, etc.

  • Trigger Word: Naruto

La trigger word sustituye las características específicas de Naruto como cabello amarillo, ojos azules, marcas en las mejillas, etc.

No añadas estas características como etiquetas, así la IA considerará tu trigger word como clave de activación de esas características.

Por eso entrenamos LoRA: para convertir nuestra trigger word en una palabra clave con significado.