¿Cómo funciona una red neuronal para generar imágenes? Lo explicamos con palabras sencillas en una lección escolar.
Traductor traducir
En esta lección exprés, te acompañaremos de una forma un poco inusual de estudiar el material, pero créeme, está comprobado, así que es mejor así. Si lees atentamente todo lo que está escrito a continuación, aprovecharás al máximo los 45 minutos de clase (la duración de una lección normal) y adquirirás los conocimientos básicos y la comprensión de los temas principales y sus relaciones.
Todo lo que aquí se describe está relacionado con la generación de imágenes, y si no te asustas, en 45 minutos tendrás un buen dominio del tema, sin siquiera tocar los detalles técnicos de cómo funcionan realmente todas estas cosas tan complicadas.
2 ACORTAR
3 VAE
4 Refinador
5 Parámetro cfg_scale (guidance_scale), muestreador, componentes del programador
6 Cómo funciona internamente el modelo de difusión
7 Integración: ¿qué es?
8 Formatos de modelos neuronales: tensores de seguridad, GGUF y otros
9 Cuantización
10 ¿Cómo funciona?
11 Tensores
12 En palabras sencillas:
13 Fichas
14 ¿Cómo funciona?
15 Historia de las redes neuronales generativas
¿Cómo funciona el modelo de difusión?
Un modelo de difusión es un método que "aprende" a convertir el ruido aleatorio en imágenes significativas (u otros datos) mediante una limpieza gradual. Imagine tomar una foto bonita, añadirle cada vez más ruido hasta que quede solo un desastre gris, y luego aprender a eliminarlo paso a paso para restaurar la imagen. Así es, a grandes rasgos, cómo funciona la difusión.
Cómo sucede paso a paso:
Aprendizaje basado en ruido: Primero, el modelo toma imágenes reales (por ejemplo, de un conjunto de datos enorme) y las "destruye" gradualmente añadiendo ruido. Esto se realiza en varios pasos (por ejemplo, 1000 veces) hasta que la imagen se convierte en puro ruido aleatorio. El modelo recuerda cómo se añade el ruido y cómo se "destruye" la imagen.
Entrenamiento de ruido inverso: Ahora el modelo aprende a invertir el proceso: tomar ese ruido y eliminarlo paso a paso para restaurar la imagen original. Observa la imagen con ruido en cada paso y predice cómo eliminar parte del ruido para acercarse a la vista original. Es como resolver un rompecabezas eliminando piezas innecesarias.
Generación de ruido a imagen: Una vez entrenado el modelo, se empieza con ruido puro (solo números aleatorios) y se le pide que lo "limpie". Lo hace gradualmente, paso a paso (p. ej., 50-1000 pasos), hasta obtener una imagen significativa. Pero aquí entra CLIP: le indica al modelo qué imagen debe ser exactamente (p. ej., "el gato en el sombrero"), guiando el proceso de limpieza.
Trabajo en espacio latente: en sistemas modernos como Stable Diffusion, este proceso no se realiza directamente con píxeles, sino en forma comprimida (latente), creada y descifrada por el algoritmo VAE. Esto agiliza el trabajo y lo hace más eficiente.
Una analogía sencilla:
Imagine a un escultor que empieza con un trozo de arcilla que parece una masa informe (ruido). Poco a poco le va dando forma, eliminando el exceso y añadiendo detalles hasta obtener una estatua. El modelo de difusión hace lo mismo, solo que con ruido en lugar de arcilla, y "esculpe" la imagen basándose en una instrucción de texto de CLIP.
¿Por qué funciona esto?
Lo bueno de los modelos de difusión es que mejoran la imagen paso a paso, en lugar de intentar crear una imagen perfecta de la nada. Esto hace que el resultado sea mejor y más detallado que con otros métodos.
Paso a paso:
- El modelo de difusión toma el ruido y lo convierte gradualmente en una imagen.
- CLIP establece la dirección ("qué dibujar").
- VAE ayuda a traducir el resultado de la forma comprimida a la imagen final.
En conjunto es como un equipo bien coordinado: CLIP es el director, difusión es el artista y VAE es quien muestra la obra terminada al público.
ACORTAR
CLIP es un modelo creado por OpenAI que ayuda a las redes neuronales a comprender el contenido de una imagen o texto y a conectar ambos. Cuando una red neuronal (como DALL E o Stable Diffusion) genera una imagen, CLIP actúa como un traductor entre el texto introducido (como un gato en el sombrero) y lo que la red debería dibujar.
Así es como funciona a un nivel simple:
- Das una descripción: por ejemplo, "un perro está jugando con una pelota en la playa".
- CLIP analiza el texto: “desmonta” sus palabras y las convierte en una especie de código numérico (incrustación) que refleja el significado de la descripción.
- Enlace a la imagen: Este código se pasa a la red neuronal generativa. Esta lo utiliza como instrucción y comienza a dibujar una imagen que debe coincidir con esta descripción.
- Comprobación del resultado: CLIP analiza la imagen resultante y la compara con la consulta de texto. Si la imagen no es del todo correcta (por ejemplo, hay un gato en lugar de un perro), la red ajusta su funcionamiento para complacer mejor a CLIP.
En esencia, CLIP es como los ojos y oídos del sistema: ayuda a la red neuronal a comprender lo que se desea y garantiza que la imagen se ajuste lo más posible a la solicitud. Sin él, la red dibujaría algo aleatorio, sin comprender lo que se le exige.
VAE
VAE es otro "auxiliar" importante en las redes neuronales, especialmente en sistemas como Stable Diffusion. Mientras que CLIP se encarga de vincular texto e imágenes, VAE ayuda a la propia red neuronal a "comprimir" y "descomprimir" las imágenes para facilitar y agilizar su uso.
Así es como funciona:
- Compresión de imágenes : VAE toma una imagen (o lo que la red intente crear) y la comprime en un conjunto compacto de números, llamado representación latente. Es como un archivo ZIP para una imagen: se conserva todo lo importante, pero ocupa menos espacio.
- Trabajando en formato comprimido : Una red generativa (como la que dibuja una imagen) no trabaja directamente con una gran cantidad de píxeles, sino con este código comprimido. Esto acelera considerablemente el proceso, ya que es más fácil procesar un conjunto pequeño de números que millones de píxeles.
- Descomprimir en una imagen : Una vez que la red ha terminado de "dibujarse" en esta forma comprimida (dadas las instrucciones de CLIP), VAE toma este código y lo "descomprime" nuevamente en una imagen completa con colores, detalles y todo.
- Añadir variaciones : Otra ventaja de VAE es que puede añadir aleatoriedad. Esto permite que la red genere diferentes versiones de la misma idea (como poses ligeramente diferentes para un perro con una pelota) en lugar de la misma imagen siempre.
En pocas palabras, VAE funciona como un "compresor" y "descompresor" que ayuda a la red neuronal a funcionar eficientemente y a convertir ideas abstractas en imágenes atractivas. Sin él, el proceso sería lento y complejo, y el resultado podría ser peor.
En resumen: CLIP te dice qué dibujar y VAE te ayuda a dibujarlo y mostrarlo. ¡Juntos crean la magia de la generación de imágenes!
VAE no transforma la representación latente antes de su generación, sino que participa en el proceso desde ambos lados. Así funciona paso a paso:
- Comenzar con ruido : La generación no comienza con una imagen terminada, sino con "ruido" aleatorio; este es simplemente un conjunto de números aleatorios que parecen ruido estático en un televisor antiguo. Este ruido ya está comprimido (latente), por lo que trabajar con él directamente como píxeles sería demasiado difícil.
- La función de CLIP : ingresas una consulta de texto (por ejemplo, "gato en el sombrero") y CLIP la convierte en un código numérico (incrustación) que especifica la dirección de generación.
- Generación de espacio latente : Una parte especial de la red (generalmente un modelo de difusión) toma este ruido en formato latente y lo "limpia" gradualmente hasta convertirlo en una imagen significativa. Esto se realiza siguiendo las instrucciones de CLIP. Todo esto ocurre de forma comprimida en ese mismo espacio latente.
- VAE en la salida : cuando el modelo de difusión ha terminado su trabajo y ha recibido la representación latente final (el código comprimido que ya “parece” al gato en el sombrero), VAE toma este código y lo “descomprime” en una imagen completa con píxeles, colores y detalles.
Es decir, VAE no comprime nada antes de la generación. Al principio, ya tenemos ruido comprimido, y la generación se realiza en este formato comprimido (latente). VAE es necesario principalmente en la etapa final: para convertir el resultado del trabajo de la red en una imagen visualmente atractiva. Además, VAE ayuda a entrenar la red inicialmente, mostrando cómo comprimir imágenes reales en espacio latente, para que la red comprenda con qué trabajar.
En pocas palabras: la generación ocurre de forma comprimida (en el espacio latente), y el VAE la "despliega" en una imagen completa. La magia del "dibujo" en sí misma es obra del modelo de difusión, no del VAE.
Refinador
En el contexto de redes neuronales generativas como la Difusión Estable, un "refinador" es un modelo adicional que se utiliza para mejorar la calidad de las imágenes ya generadas. Veamos brevemente qué es y por qué es necesario.
¿Qué es Refiner?
Refiner es la segunda etapa del proceso de generación de imágenes, que toma la salida sin procesar del modelo base y la refina. El modelo base (por ejemplo, Stable Diffusion XL Base) crea una imagen inicial a partir del ruido, guiado por una consulta de texto (utilizando CLIP y un modelo de difusión). Sin embargo, este resultado puede no ser muy claro, con detalles insuficientes o errores menores. Aquí es donde Refiner entra en acción: pule la imagen, añadiendo detalles, mejorando la calidad y eliminando el exceso de ruido.
En sistemas como Stable Diffusion XL (SDXL), el proceso a menudo se divide en dos etapas:
- Modelo base: genera la imagen base en forma comprimida (latente).
- Refinador: toma este resultado intermedio y lo lleva a su forma final, haciendo la imagen más nítida y realista.
¿Cómo funciona Refiner?
Refiner también es un modelo de difusión, pero está especialmente entrenado con datos de alta calidad y trabaja con menos ruido. Toma la representación latente (código comprimido) del modelo base y continúa el proceso de limpieza del ruido, pero con énfasis en los detalles finos y la alta resolución. En ocasiones, se utiliza una técnica como SDEdit (img2img) para mejorar aún más el resultado.
En términos simples, si el modelo base dibuja un boceto aproximado, entonces el Refinador es como un artista que toma un pincel y agrega líneas finas, sombras y texturas.
¿Por qué es necesario?
- Calidad mejorada : Sin Refiner, las imágenes pueden verse borrosas, sin detalles o con artefactos extraños. Refiner las hace más nítidas y profesionales.
- Ahorro de tiempo : el modelo básico crea rápidamente la base y el refinador dedica esfuerzo adicional solo al refinamiento, lo que optimiza el proceso.
- Flexibilidad : puedes usar Refiner por separado, por ejemplo, para mejorar imágenes ya preparadas a través de img2img, si necesitas corregir algo.
- Especialización : El refinador a menudo se adapta a tareas específicas, como aumentar la resolución o agregar realismo, lo que lo convierte en un complemento útil.
Ejemplo:
Digamos que pediste "un gato con sombrero". El modelo base te da algo que parece un gato con sombrero, pero con bordes y detalles difusos. El refinador analiza eso, refina las líneas, hace que el pelaje del gato sea esponjoso y el sombrero tenga pliegues definidos. El resultado final es una imagen más hermosa y detallada.
¿Es siempre necesario?
No necesariamente. En algunos casos, el modelo base por sí solo da un buen resultado, sobre todo si la solicitud es sencilla o no se necesitan detalles excepcionales. Pero si buscas la máxima calidad, sobre todo para escenas complejas o de alta resolución, Refiner es lo que lleva la imagen al siguiente nivel.
En resumen, Refiner es como un filtro en un editor de fotos, solo que inteligente y automático. Es necesario para que tus fotos se vean mejor y más profesionales.
Parámetro cfg_scale (guidance_scale), muestreador, componentes del programador
Estos parámetros son ajustes importantes en los modelos generativos que afectan la forma en que la red neuronal crea imágenes. Analicémoslos uno por uno.
1. Escala CFG (Escala de orientación sin clasificador)
¿Qué es? Es un parámetro que controla cuánto escucha el modelo tu mensaje de texto. La Escala CFG es responsable del equilibrio entre creatividad y precisión.
¿Cómo funciona?
- CFG bajo (por ejemplo, 1-5) : el modelo es más "imaginativo" y puede desviarse de su descripción, produciendo algo inesperado, pero a veces más creativo.
- CFG alto (por ejemplo, 10-20) : el modelo sigue estrictamente la solicitud, intentando representar con la mayor precisión posible lo que usted escribió.
Ejemplo: Si escribes "gato con sombrero" con CFG = 3, el gato puede terminar con un sombrero extraño o sin ninguno, pero con CFG = 15, claramente será un gato con sombrero, como querías.
¿Por qué es necesario? Para controlar la compatibilidad de la imagen con el texto.
2. Muestreador
¿Qué es? Es un algoritmo que determina cómo el modelo "limpia" el ruido paso a paso para convertirlo en una imagen. En los modelos de difusión, el proceso de generación consiste en una eliminación gradual del ruido, y Sampler decide cómo hacerlo.
Opciones populares:
- DDIM (modelos implícitos de difusión de eliminación de ruido) : rápido y de alta calidad, pero a veces menos detallado.
- Euler (o Euler a) : Simple y rápido, da resultados consistentes.
- DPM++ (DPM++ 2M Karras) : más preciso y detallado, pero puede ser más lento.
- UniPC : Nuevo y optimizado, a menudo ofrece buena calidad en menos pasos.
¿Cómo funciona? Los distintos samplers pasan del ruido a la imagen de distintas maneras. Algunos lo hacen más rápido, otros — con mayor precisión — con un estilo específico.
Ejemplo: Con DDIM la imagen se puede producir en 20 pasos, pero con pequeños defectos, mientras que con DPM++ en los mismos 20 pasos será más clara.
¿Por qué lo necesitas? Para elegir la velocidad o la calidad según tus tareas.
3. Escala de orientación
¿Qué es? Es otro nombre para la Escala CFG (algunos sistemas las diferencian, pero la mayoría de las veces son la misma). Si existe una diferencia, la Escala de Orientación puede referirse a la fuerza de la influencia del texto en cada etapa de la generación.
¿Cómo funciona? Similar a CFG: cuanto mayor sea el valor, más vinculado estará el modelo a la consulta. En ocasiones, la Escala de Guía se utiliza como parámetro adicional para el ajuste.
Ejemplo: Si CFG = 10 y Escala de orientación = 5, el modelo puede "suavizar" ligeramente el rigor del seguimiento del texto en ciertas etapas.
¿Por qué es necesario? Para un control más flexible del proceso (aunque normalmente es solo sinónimo de CFG).
4. Programador
¿Qué es? Es un programa que controla la velocidad con la que el modelo elimina el ruido en los diferentes pasos de la generación. El programador trabaja con el muestreador para determinar la cantidad de ruido que se debe eliminar en cada paso.
Tipos:
- Lineal : el ruido se elimina uniformemente en todos los pasos.
- Coseno : Más atención al inicio y al final del proceso para mejorar los detalles.
- Karras : Optimizado para la calidad, el ruido se elimina de manera desigual, con énfasis en las etapas importantes.
¿Cómo funciona? El programador decide si el modelo se acelerará al principio o al final de la generación. Por ejemplo, Cosine hace que los primeros pasos sean más fluidos y los últimos más precisos.
Ejemplo: con Linear Scheduler la imagen puede verse más áspera, mientras que con Karras puede verse más pulida.
¿Por qué es necesario? Para ajustar el equilibrio entre velocidad y calidad, e influir en el estilo del resultado.
¿Cómo está todo esto conectado?
Escala CFG / Escala de guía: controla cuánto "escucha" la imagen al texto.
Sampler: Determina exactamente cómo se convierte el ruido en una imagen.
Programador: controla en qué orden y a qué velocidad sucede esto.
Ejemplo sencillo:
Quieres el "gato en el sombrero":
- Escala CFG = 12 : El modelo dibuja claramente al gato en el sombrero.
- Sampler = Euler a : genera rápidamente una imagen en 30 pasos.
- Programador = Karras : Hace que el proceso sea fluido, con énfasis en los detalles.
Resultado: Un gato nítido en el sombrero con buenos detalles.
Si configura CFG en 5, selecciona DDIM para Sampler y Linear para Scheduler, obtendrá algo más abstracto y tosco, pero más rápido.
¿Cómo utilizarlo?
Experimenta: prueba diferentes combinaciones para ver qué te gusta.
Valores típicos:
- Escala CFG : 7 – 15 (media áurea).
- Sampler : Euler a o DPM++ (opciones populares).
- Programador : Karras o Cosine (para calidad).
Equilibrio: Un CFG alto con un Sampler rápido y un Scheduler simple puede brindar claridad sin perder tiempo.
Cómo funciona internamente el modelo de difusión
Un modelo de difusión es un tipo de red neuronal que se basa en la idea de eliminar gradualmente el ruido. Su principal tarea es aprender a convertir el ruido aleatorio en datos significativos (como imágenes). Internamente, consta de varios componentes y procesos clave. Así es como funciona:
1. Idea básica: proceso directo e inverso
El modelo de difusión funciona en dos direcciones:
- Difusión hacia adelante: Toma datos reales (como una imagen) y les añade ruido gradualmente hasta convertirlos en ruido aleatorio puro. Es como tomar una fotografía y difuminarla hasta convertirla en un lío gris.
- Difusión inversa: Aprende a recrear los datos originales a partir de este ruido, eliminándolo paso a paso. Es como recuperar el ruido y "pintar" la imagen.
El modelo no solo "arruina" y "arregla" las imágenes: aprende a predecir cómo eliminar el ruido para poder generar nuevas imágenes desde cero.
2. Arquitectura interior: U-Net
El principal "trabajador" dentro del modelo de difusión es una red neuronal llamada U-Net. Se asemeja a la letra "U" porque los datos primero se comprimen y luego se expanden. Esto es lo que hace:
- Codificador : Toma una imagen con ruido (o una representación latente si se usa VAE) y la analiza, extrayendo características importantes de forma, textura y color. Es como mirar una imagen y recordar los detalles clave.
- U-Net "Abajo" : aquí los datos se comprimen al máximo y la red decide cómo "arreglarlos" eliminando el ruido.
- Descodificador : restaura gradualmente la imagen, agregando detalles, pero con menos ruido.
Lo bueno de U-Net es que conserva la información de gran detalle (gracias a los "puentes" entre la compresión y la expansión), lo que es importante para generar imágenes claras.
3. Pasos y ruido
La difusión funciona con un número fijo de pasos (p. ej., 1000). Cada paso representa un nivel de ruido:
En el proceso de avance, el modelo sabe cómo agregar un poco más de ruido en cada paso (esto se da matemáticamente mediante una distribución, generalmente normal, como el ruido gaussiano).
En el proceso inverso, aprende a predecir cómo eliminar este ruido. La entrada es una imagen ruidosa y un número de paso (paso de tiempo), para que la red comprenda cuánto ruido ya existe y cuánto debe eliminarse.
4. Aprendizaje: ¿Cómo aprende?
El modelo toma imágenes reales del conjunto de datos. Les añade ruido en un paso aleatorio (por ejemplo, el paso 500 de 1000). U-Net analiza la imagen con ruido e intenta predecir cómo se vería el paso anterior (por ejemplo, el paso 499 con un poco menos de ruido). El error entre la predicción y la realidad se utiliza para enseñar a la red a eliminar mejor el ruido. Esto se repite millones de veces en diferentes imágenes y pasos. Finalmente, el modelo se convierte en un experto en la limpieza de ruido y puede comenzar con ruido puro (paso 1000) y llegar a la imagen (paso 0).
5. Integración con texto (CLIP)
En modelos modernos como Difusión Estable, la difusión no solo genera imágenes aleatorias, sino que se basa en texto. Aquí es donde CLIP entra en juego:
CLIP convierte tu consulta (el "gato en el sombrero") en un código numérico (incrustación). Este código se envía a U-Net mediante un mecanismo de atención para que la red sepa qué características enfatizar (p. ej., "sombrero" o "gato") mientras elimina el ruido.
6. Espacio latente (con VAE)
Si se utiliza VAE (como en difusión estable):
Las imágenes se comprimen primero en una representación latente (código compacto). U-Net trabaja con este código comprimido, no directamente con los píxeles. Una vez finalizada la difusión, VAE descomprime el código en una imagen completa. Esto acelera el proceso y ahorra recursos.
Una analogía sencilla
Imagínate que eres un restaurador de fotografías antiguas:
Tienes un montón de fotos malas con diferentes niveles de ruido (arañazos, manchas). Aprendes a eliminar estos defectos mirando las originales y recuerdas cómo restaurar los detalles. Luego te dan una foto completamente "expuesta" (solo ruido) y dibujas una nueva imagen paso a paso, basándote en la descripción ("el gato en el sombrero").
U-Net es su “ojo” y su “mano”, y CLIP es la voz del cliente que dice lo que debe aparecer en la imagen.
En resumen: ¿Cómo se ve por dentro?
- Base : U-Net es una red que predice cómo eliminar el ruido.
- Proceso : Muchos pasos desde el ruido hasta la imagen (o viceversa durante el aprendizaje).
- Ayudantes : CLIP para texto, VAE para compresión/descompresión.
- Matemáticas : Detrás de escena de las distribuciones de probabilidad y optimización (pero esto es para aquellos a quienes les gustan las fórmulas).
Al ejecutar la generación, el modelo comienza con ruido, utiliza U-Net para "limpiarlo" con la ayuda de CLIP, y luego VAE proporciona la imagen final. Todo esto ocurre en decenas o cientos de pasos, y cada paso se acerca un poco más al resultado.
Integración: ¿qué es?
La incrustación es una forma de convertir algo complejo y difícil de entender para una computadora (como palabras, oraciones o imágenes) en un conjunto compacto de números que la máquina puede comprender y usar fácilmente. Es como una "huella digital" o una "descripción comprimida" que preserva la esencia de la información original.
Imagina que tienes la palabra "gato". Es comprensible para los humanos, pero una computadora solo ve letras. La incrustación convierte "gato" en un conjunto de números, como [0,23; -1,45; 0,89], donde cada número representa algún aspecto del significado de la palabra. Estos números no son aleatorios, sino el resultado del entrenamiento de una red neuronal.
¿Cómo funciona esto?
- Entrenamiento : Una red neuronal (como CLIP o BERT) analiza una gran cantidad de datos (texto, imágenes) y aprende a encontrar conexiones entre ellos. Por ejemplo, observa que "gato" suele aparecer junto a "miau" o "pelaje", lo que influye en los números de la incrustación.
- Transformación : una vez entrenada, la red puede tomar una palabra, una oración o incluso una imagen y generar un vector numérico (una lista de números de una longitud fija, como 512 o 768 números) para ella.
- Significado en números : Estos números contienen información sobre el significado. Por ejemplo, las palabras "cat" y "cat" se insertan de forma similar (números cercanos), pero "cat" y "table" son completamente diferentes.
Ejemplo
- La palabra "gato" → [0,23, -1,45, 0,89]
- La palabra "perro" → [0,25; -1,30; 0,95] (similar a "gato" porque ambos son animales)
- La palabra "máquina" → [1,50, 0,10, -2,00] (completamente diferente)
Si sumas o comparas estos vectores, podrás comprender qué tan cerca están las palabras en su significado.
¿Dónde se utiliza en la generación de imágenes?
En sistemas como Stable Diffusion, las incrustaciones son el formato principal para almacenar y transmitir datos. CLIP convierte la consulta de texto (el "gato en el sombrero") en una incrustación: un conjunto de números que se pasa al modelo de difusión. Es como una instrucción: "dibuja algo con tales y tales propiedades". CLIP también puede crear una incrustación para una imagen para compararla con la incrustación de texto y comprobar su coincidencia con la consulta.
Una analogía sencilla
La incrustación es como un traductor que toma el lenguaje humano (palabras, imágenes) y lo traduce al "lenguaje numérico" para la computadora. O como las coordenadas de un mapa: en lugar de describir un lugar con palabras ("bosque junto al río"), se indica un punto [53.5, 12.3], y todos entienden de qué se habla.
¿Por qué es esto importante?
- Compacidad : en lugar de procesar un texto o una imagen completos, el modelo trabaja con un vector pequeño.
- Significado : Las incrustaciones preservan las relaciones y el contexto (por ejemplo, "gato" está más cerca de "miau" que de "tractor").
- Versatilidad : Se pueden utilizar para texto, imágenes, sonido, cualquier cosa.
Ahora veamos cómo se entrenan modelos como Stable Diffusion, CLIP o VAE, y si se involucran personas para etiquetar los datos. La respuesta depende del tipo de modelo y de la etapa de su creación.
1. Etiquetado de datos: ¿Necesita personas?
Sí, la gente participa, pero no siempre directamente. La mayoría de los modelos modernos se entrenan con enormes conjuntos de datos, a menudo recopilados de internet. Por ejemplo, Stable Diffusion tomó millones de imágenes con pies de foto de fuentes abiertas como sitios web, redes sociales o archivos (por ejemplo, LAION-5B, un conjunto de datos con 5 mil millones de pares de "imagen-texto"). Estos datos ya cuentan con marcado en forma de descripciones de texto creadas por personas (por ejemplo, pies de foto en Instagram o texto alternativo en sitios web). Es decir, puede que no haya marcado manual directo específico para el modelo; los datos se toman listos para usar.
Automatización. La recopilación de estos datos está automatizada: programas especiales (scripts, rastreadores) navegan por internet, descargan imágenes y sus descripciones. Los usuarios no tienen que firmar cada imagen manualmente para el entrenamiento; esto sería demasiado largo y costoso.
2. ¿Cómo funciona para diferentes modelos?
CLIP (texto + imágenes):
CLIP aprende a vincular texto e imágenes. Para ello, se le asignan pares de imágenes y texto (por ejemplo, una foto de un gato con la leyenda "gato con sombrero"). Estos pares ya existen en internet y no es necesario volver a marcarlos; el modelo simplemente aprende a encontrar patrones entre el texto y la imagen.
La participación fue indirecta: en su momento, crearon los títulos para sus publicaciones o sitios web. Sin embargo, para la capacitación CLIP, el marcado está automatizado.
Modelos de difusión (difusión estable):
Los modelos de difusión aprenden a eliminar el ruido y a crear imágenes. Para ello, no necesitan etiquetas en el sentido clásico ("esto es un gato", "esto es un perro"). En su lugar, toman imágenes, les añaden ruido y luego aprenden a restaurar el original. Todo esto ocurre automáticamente.
Sin embargo, se añade la condicionalidad textual (es decir, la generación a petición, como en el caso de "el gato en el sombrero") mediante CLIP. Aquí se utilizan de nuevo pares de "imagen-texto" predefinidos de Internet, sin marcado manual.
VAE (Autocodificador variacional):
VAE aprende a comprimir y reconstruir imágenes. Recibe imágenes y "descifra" cómo codificarlas y decodificarlas. No necesita marcarlas; solo las imágenes, que se ensamblan automáticamente.
3. ¿Cuándo se necesita realmente a la gente?
Limpieza de datos. A veces, los conjuntos de datos contienen información no fiable (por ejemplo, archivos dañados, imágenes irrelevantes o subtítulos incorrectos). Se pueden filtrar o mejorar manualmente estos datos, pero esto se hace en raras ocasiones y solo para mejorar la calidad. La limpieza también suele ser automatizada (por ejemplo, los algoritmos eliminan imágenes duplicadas o vacías).
Ajuste fino. Si es necesario adaptar un modelo a una tarea específica (por ejemplo, para generar solo gatos realistas), los desarrolladores pueden tomar un pequeño conjunto de datos y etiquetarlo manualmente. Por ejemplo, se podría contratar a personas para que etiqueten 1000 imágenes de gatos con detalles ("gato pelirrojo", "gato con lazo"). Pero esto ya no es un entrenamiento básico, sino una mejora.
Control de calidad. Tras crear el modelo, se verifican los resultados y se puede ajustar el proceso de aprendizaje añadiendo nuevos datos o modificando el enfoque. Sin embargo, esto no es etiquetado, sino análisis.
4. Ejemplo: difusión estable
- Conjunto de datos : LAION-5B 5 mil millones de imágenes con subtítulos recopiladas de Internet.
- Marcado : Los pies de foto ya estaban en internet (por ejemplo, "gato al atardecer" debajo de una foto en una red social). Nadie los marcó específicamente para la modelo; todo se tomó tal cual.
- Proceso : CLIP aprendió a vincular texto e imágenes, y el modelo de difusión funcionó con ruido. Todo está automatizado.
5. En resumen: automatización vs. personas
Principalmente automatización. Modelos modernos como Stable Diffusion o CLIP se entrenan con enormes cantidades de datos que ya contienen marcado de personas (firmas, etiquetas). Nadie firma miles de millones de imágenes específicamente para el entrenamiento; internet lo hace todo por sí solo.
Se necesita a los humanos indirectamente. Crean los datos iniciales (subiendo fotos con subtítulos a la red) o, a veces, ayudan con la limpieza y el ajuste. Pero el entrenamiento básico lo realizan los algoritmos.
En pocas palabras: los modelos "absorben" lo que ya está en internet y aprenden por sí solos, sin intervención humana constante. Si todo se etiquetara manualmente, crear estos modelos llevaría años y millones de dólares. La automatización es la clave de su éxito.
Transformadores
Los transformadores son un tipo de arquitectura de red neuronal diseñada para trabajar con secuencias de datos (como las palabras de una oración). Comprenden las relaciones entre los datos, incluso si están muy separados, y lo hacen de forma rápida y eficiente. Se presentaron por primera vez en el artículo de Google de 2017 «Attention is All You Need».
En términos simples, es como un "traductor" inteligente que no sólo mira palabras individuales, sino que entiende todo el contexto de la oración.
¿Cómo funcionan?
Transformers consta de varias ideas clave:
Mecanismo de atención:
Este es el "cerebro" del transformador. Decide a qué prestar más atención en los datos. Por ejemplo, en la oración "El gato que duerme en el sofá es lindo", el transformador entiende que "lindo" se refiere a "gato" y no a "sofá".
En lugar de procesar las palabras una por una (como los modelos más antiguos de tipo RNN), el transformador analiza todo a la vez y determina qué partes son más importantes.
Codificador y decodificador:
- Codificador : convierte los datos de entrada (por ejemplo, texto) en un conjunto de números que contienen su significado (incrustaciones).
- Descodificador : toma estos números y los convierte en salida (como un texto traducido o una imagen).
Algunas tareas utilizan sólo el codificador (por ejemplo, para el análisis de texto), mientras que otras utilizan ambos.
Paralelismo:
Los modelos antiguos (RNN, LSTM) procesaban los datos paso a paso, lo cual era lento. Los transformadores procesan todo a la vez, lo que agiliza el trabajo.
Capas:
El transformador se compone de muchas capas (como un pastel), donde cada capa mejora la comprensión de los datos al agregar detalles y relaciones.
Ejemplo: Cómo un transformador entiende el texto
Digamos que escribiste "El gato con sombrero camina por la calle". Transformer lo descompone en palabras. Convierte cada palabra en números (incrustaciones). Analiza la relación entre las palabras: "en el sombrero" se refiere al "gato" y "va" a la acción. Te da un resultado, como la traducción al español: "El gato con sombrero camina por la calle".
¿Dónde se utilizan los transformadores?
Modelos como BERT (Google) o GPT (OpenAI) son transformadores. Traducen, escriben textos y responden preguntas. Ejemplo: ChatGPT es un transformador que "comprende" y genera texto.
En Vision Transformers (ViT), las imágenes se fragmentan y el transformador las analiza como si fueran palabras en una oración. Ejemplo: Reconocer objetos en fotos.
En modelos como DALL E o FLUX, los transformadores ayudan a vincular el texto con la imagen. Trabajan en conjunto con los modelos de difusión para guiar el proceso de generación.
¿Cómo se relacionan los transformadores con la generación de imágenes?
En modelos como FLUX. 1 o DALL E, el transformador toma el texto (el "gato en el sombrero") y lo convierte en una incrustación: una instrucción numérica. Esta instrucción se transmite al modelo de difusión, que dibuja la imagen basándose en ella. El transformador también puede participar en la propia difusión (como en FLUX. 1), mejorando el proceso de limpieza del ruido.
En términos simples, el transformador es el "conductor" que le dice al modelo de difusión qué dibujar exactamente.
¿Por qué son tan importantes?
- Velocidad : Procesar datos en paralelo en lugar de secuencialmente.
- Contexto : Comprender relaciones a largas distancias (por ejemplo, en textos largos o escenas complejas).
- Flexibilidad : funciona con texto, imágenes, sonido, cualquier cosa.
Una historia corta
- 2017 : Transformers apareció en un artículo de Google.
- 2018 : BERT y GPT demostraron su poder en los textos.
- 2020 – 2021 : Vision Transformers (ViT) los aplicó a las imágenes.
- 2022 – 2024 : Transformadores integrados en modelos generativos (DALL E, FLUX. 1).
Una analogía sencilla
Un transformador es como un bibliotecario que encuentra al instante el libro (datos) que necesitas, entiende de qué trata y puede contártelo o dibujar una portada. No lee página por página, sino que lo ve todo a la vez.
Transformador T5-XXL
T5-XXL (Text-to-Text Transfer Transformer) es un verdadero modelo de transformador desarrollado por Google.
- Arquitectura : Basada completamente en transformadores con codificador y decodificador.
- Característica : Permite convertir texto a texto (p. ej., traducir, reescribir, responder preguntas). Todo en formato "texto de entrada, texto de salida".
- Tamaño : La versión XXL es un modelo enorme con 11 mil millones de parámetros, lo que lo convierte en uno de los más potentes de la familia T5.
- Uso : En la generación de imágenes, se utiliza como codificador de texto para comprender en profundidad consultas complejas y convertirlas en incrustaciones.
El T5-XXL es un transformador "clásico" optimizado para el procesamiento de textos.
CLIP + T5-XXL: ¿qué es junto?
En sistemas como FLUX.1 o Stable Diffusion 3, estos dos modelos a menudo se combinan como codificadores de texto:
- CLIP : Proporciona una comprensión general del texto y su conexión con la imagen. Es útil para descripciones breves y significados generales.
- T5-XXL : Profundiza el análisis de texto, especialmente para consultas largas y complejas (p. ej., "gato con sombrero caminando por la playa al atardecer"). Comprende mejor los detalles y el contexto.
Cómo funcionan juntos: El texto pasa por ambos modelos, y cada uno crea sus propias incrustaciones. Estas incrustaciones se transfieren al modelo de difusión, que dibuja la imagen. T5-XXL suele ser responsable de la precisión de los detalles, y CLIP de la imagen general.
En FLUX.1, por ejemplo, se utilizan en conjunto: CLIP (generalmente ViT-L/14) gestiona el texto para la dirección general, y T5-XXL aporta una comprensión detallada. No se trata de un único modelo "CLIP T5-XXL", sino de dos componentes de transformador que funcionan en paralelo.
CLIP es eficaz para vincular texto e imágenes, pero deficiente con consultas largas. T5-XXL es más eficaz para manejar texto complejo, pero no se relaciona con las imágenes por sí solo. Juntos, proporcionan una mejor comprensión del texto para generar imágenes precisas y detalladas.
Formatos de modelos neuronales: tensores de seguridad, GGUF y otros
1. Tensores de seguridad
- ¿Qué es? Safetensors es un formato desarrollado por Hugging Face para almacenar tensores (las matrices numéricas que conforman los modelos) de forma segura y rápida. Se creó como alternativa al antiguo formato PyTorch.pt/.pth, que utilizaba Python Pickle.
Peculiaridades:
- Seguridad : a diferencia de Pickle, los Safetensors no pueden contener código malicioso que pueda ejecutarse cuando se descarga un archivo.
- Velocidad : Carga muy rápida gracias a la "copia cero" (los datos se leen directamente en la memoria sin copias innecesarias).
- Simplicidad : almacena solo tensores (pesos del modelo) y un mínimo de metadatos, sin una estructura compleja.
- Multiplataforma : escrito en Rust, funciona no solo con Python, sino también con otros lenguajes.
¿Para qué sirve? Se utiliza normalmente para almacenar modelos sin procesar (p. ej., en formato fp16 o fp32) antes de su posterior procesamiento o cuantificación. Es una opción popular para modelos de caras abrazadas.
Ejemplo: El modelo Stable Diffusion XL a menudo se distribuye como safetensores.
2. GGUF (Formato unificado generado por GPT)
- ¿Qué es? GGUF es un formato binario desarrollado por Georgi Gerganov para almacenar modelos optimizados para inferencia en computadoras convencionales. Es el sucesor de GGML, pero más moderno y flexible.
Peculiaridades:
- Optimización : diseñado para cargar y ejecutarse rápidamente en CPU o GPU, especialmente con cuantificación (por ejemplo, 4 bits u 8 bits) para reducir el tamaño del modelo y acelerar la ejecución.
- Metadatos : almacena no solo tensores, sino también información del modelo (arquitectura, tokenizador, configuraciones), lo que lo convierte en un todo en uno.
- Extensibilidad : se pueden agregar nuevos datos (como tokens personalizados) sin romper la compatibilidad con versiones anteriores.
- Soporte : se utiliza en herramientas como llama.cpp para ejecutar modelos de lenguaje grandes (LLM) localmente.
¿Para qué sirve? Para ejecutar modelos en dispositivos con recursos limitados (por ejemplo, portátiles). Es un formato popular para versiones cuantificadas de modelos como LLaMA o Mixtral.
Ejemplo: Un archivo como llama-2-7b-chat.Q4_K_M.gguf es un GGUF con cuantificación de 4 bits.
3. GGML (predecesor de GGUF)
- ¿Qué es? GGML es un formato antiguo, también de Georgi Gerganov, que se utilizó antes de GGUF. Era una biblioteca de tensores de C para la inferencia de modelos.
Peculiaridades:
- Simplicidad : tensores almacenados y metadatos básicos, cuantificación compatible (4 bits, 8 bits).
- Limitaciones : No es tan flexible como GGUF, admite principalmente la arquitectura LLaMA y los metadatos están menos estructurados.
- Estado : obsoleto y completamente reemplazado por GGUF en 2023.
¿Para qué sirve? Antes se usaba para ejecutar modelos localmente en la CPU, pero ahora es un formato histórico.
4. PyTorch (.pt/.pth)
- ¿Qué es? Es un formato estándar para almacenar modelos en PyTorch, basado en Python Pickle.
Peculiaridades:
- Versatilidad : puede almacenar no solo tensores, sino también cualquier estructura de Python (por ejemplo, código, diccionarios).
- Inseguro : Pickle puede contener código malicioso que se ejecutará al descargarse, lo que hace que sea riesgoso distribuirlo públicamente.
- Tamaño : Generalmente más grande, ya que almacena datos en formato sin procesar (fp32 o fp16).
¿Para qué sirve? Para entrenar y ajustar modelos en PyTorch. Este es el formato "fuente", que suele convertirse a Safetensors o GGUF.
Ejemplo: preparar un modelo con pesos antes de la cuantificación.
Comparación
Formato | Seguridad | Velocidad de carga | Metadatos | Cuantización | ¿Para qué es mejor? |
---|---|---|---|---|---|
Tensores de seguridad | Alto | Muy alto | Mínimo | No | Almacenamiento de modelos "sin procesar" |
GGUF | Promedio | Alto | Muchos | Sí | Inferencia local |
GGML | Promedio | Promedio | Básico | Sí | Obsoleto, era para salida |
PyTorch.pt | Bajo | Promedio | Flexible | No | Capacitación y desarrollo |
Otros formatos
- ONNX (Intercambio Abierto de Redes Neuronales) : Un formato abierto para el intercambio de modelos entre frameworks (PyTorch, TensorFlow, etc.). Se utiliza para la portabilidad, pero no para una inferencia rápida.
- EXL2 (ExLlamaV2) : Formato para modelos cuantizados, a menudo almacenado en tensores de seguridad. Más rápido que GGUF en GPU, pero más difícil de usar.
- AWQ : Otro método de cuantificación para GPU, a menudo combinado con tensores de seguridad. Competidor de GGUF en velocidad.
Una analogía sencilla
- Safetensors : Cómo un archivo ZIP con imágenes es seguro, se abre rápidamente, pero dentro solo hay datos.
- GGUF : Como una película terminada en un disco con subtítulos y configuraciones, todo está incluido y optimizado para su visualización.
- PyTorch.pt : como carpeta de trabajo de un artista, todo está ahí, pero es incómodo compartirlo y alguien podría introducir un "virus".
¿Por qué elegir uno u otro?
- Si eres un desarrollador y estás entrenando un modelo, comenzarás con pt/pth y luego pasarás a Safetensors para el almacenamiento.
- Si eres usuario y quieres ejecutar el modelo en tu PC, elige GGUF para que todo funcione de forma rápida y sencilla.
Cuantización
- ¿Qué es? La cuantización es el proceso de reducir la precisión de los números en un modelo para que ocupe menos espacio y se ejecute más rápido. Imagine redondear números : en lugar de 3,14159, se usa 3,14.
¿Cómo funciona?
Los pesos del modelo (los números que la red ha "aprendido") suelen almacenarse con alta precisión (p. ej., 32 bits por número: fp32). Al cuantificarse, se convierten a una precisión menor: 16 bits (fp16), 8 bits (int8) o incluso 4 bits (int4).
Es como pintar un cuadro con cientos de colores en lugar de millones: la calidad es ligeramente peor, pero la diferencia no siempre es perceptible.
¿Por qué es necesario?
- Reduce el tamaño del modelo (por ejemplo de 13 GB a 4 GB).
- Acelera el trabajo, especialmente en dispositivos débiles (CPU, GPU).
- Ahorra memoria.
Ejemplo: Un modelo en GGUF con cuantificación Q4 (4 bits) funciona en una computadora portátil, pero en fp32 requeriría un servidor potente.
- FP32 (32 bits) "precisión total" como 3.1415926535.
- FP16 es aproximadamente 3,14.
- El FP8 es aún más duro, como el 3.1.
Tensores
- ¿Qué son? Los tensores son matrices multidimensionales de números que se utilizan para almacenar datos en redes neuronales. Son como tablas o cubos de números que almacenan información sobre el modelo.
En palabras sencillas:
- Un número (por ejemplo, 5) es un tensor 0D (escalar).
- Una lista de números (por ejemplo, [1, 2, 3]) es un tensor (vector) 1D.
- Una tabla (por ejemplo, [[1, 2], [3, 4]]) es un tensor (matriz) 2D.
- “Cubo” o más dimensiones son tensores 3D, 4D y así sucesivamente.
¿Por qué son necesarios?
Los pesos del modelo (lo que aprendió) se almacenan en tensores. Las imágenes también se pueden representar como tensores: por ejemplo, 256x256x3 (ancho, alto, colores RGB).
Ejemplo: En Safetensors, un modelo es un conjunto de tensores, como enormes tablas de números.
Fichas
- ¿Qué es? Los tokens son los fragmentos de datos en los que se descompone el texto para que la red neuronal pueda comprenderlo. Son como "palabras" para la máquina, pero no siempre palabras comunes.
¿Cómo funciona?
Un texto como "El Gato en el Sombrero" se descompone en fichas: ["Gato", "en", "sombrero"] o incluso fragmentos más pequeños (p. ej., "Ko", "t"). A cada ficha se le asigna un número (ID) del vocabulario aprendido por el modelo. Estos números se introducen en la red como entrada.
¿Por qué son necesarios?
Para traducir el lenguaje humano a números con los que trabaja el modelo. En la generación de imágenes, los tokens de texto (mediante CLIP o T5) se convierten en incrustaciones para crear una imagen.
Ejemplo: En la consulta "Gato en el sombrero", cada token ayuda al modelo a comprender que debe dibujar un gato y un sombrero.
Historia de las redes neuronales generativas
1. Primeros pasos: antes de la década de 2010
Antes de que surgieran las verdaderas redes generativas, los científicos experimentaban con modelos que podían "inventar cosas". Estos eran más juguetes matemáticos que herramientas prácticas:
Máquinas de Boltzmann (década de 1980): Creadas por Geoff Hinton y sus colegas, eran redes simples que aprendían a modelar datos (como patrones en blanco y negro). No generaban imágenes, pero sentaron las bases para ideas futuras.
¿Qué podían hacer? Casi nada visual, solo patrones abstractos. Esa era la base.
2. 2014: GANs (Redes Generativas Antagónicas): comienza la revolución
¿Quién lo creó? Ian Goodfellow y su equipo en 2014.
¿Cómo se llamaban? GAN: redes generativas antagónicas.
¿Cómo funcionaban? Dos redes competían: una (el generador) creaba imágenes a partir del ruido, la otra (el discriminador) comprobaba si parecían reales. Se "entrenaban" mutuamente hasta que el generador empezó a producir algo plausible.
¿Qué podían hacer? Las primeras GAN generaban imágenes simples: rostros borrosos, números (por ejemplo, del conjunto de datos MNIST) o imágenes aproximadas de objetos. La calidad era baja, pero fue un gran avance: la propia red "inventó" las imágenes.
Ejemplo: un rostro humano borroso o un gato torcido que parecía una mancha.
3. 2015 – 2017: Mejora de las GAN
Las GAN han evolucionado rápidamente y han surgido nuevas versiones:
- DCGAN (GAN Convolucional Profunda, 2015) : Creado por Alec Radford y sus colegas. Utilizó redes convolucionales (CNN), lo que mejoró la calidad. Capaz de generar imágenes más nítidas: rostros, autos, animales, pero aún con artefactos.
¿Qué podían hacer? Por ejemplo, rostros de 64x64 píxeles que ya se reconocían como rostros, o interiores de habitaciones.
Problemas: Aprendizaje inestable: las imágenes pueden resultar extrañas o "rotas".
- GAN progresivas (2017) : De Tero Karras y el equipo de NVIDIA. La red aprendió a generar imágenes gradualmente, desde baja resolución (4x4) hasta alta resolución (1024x1024).
¿Qué podían hacer? Rostros humanos realistas en alta resolución. Era la primera vez que los rostros generados parecían casi fotografías reales.
4. 2018 – 2019: BigGAN y StyleGAN: la calidad está aumentando
- BigGAN (2018) : Creado por el equipo de Google (Andrew Brock et al.). Se utilizaron grandes recursos y conjuntos de datos (ImageNet).
¿Qué podía hacer? Generar escenas y objetos complejos: perros, paisajes, comida. La calidad era alta, pero requería computadoras potentes.
Ejemplo: Un perro o una flor realistas, aunque a veces con pequeños errores.
- StyleGAN (2019) : Nuevamente de Tero Karras y NVIDIA. Se agregó control sobre el estilo de la imagen (por ejemplo, se puede cambiar el peinado o la edad del rostro).
¿Qué podía hacer? Rostros increíblemente realistas (hasta 1024x1024) difíciles de distinguir de una foto. También generaba gatos, coches e incluso personajes de anime.
Característica: Ahora puedes “editar” imágenes, por ejemplo, hacer que una cara parezca mayor o agregar gafas.
5. 2020: VAE y primeros pasos hacia el texto
- VAE (Autocodificadores Variacionales) : Propuestos originalmente en 2013 (Diederik Kingma y Max Welling), pero popularizados durante generaciones posteriores. Comprimían imágenes en un espacio latente y las recreaban.
¿Qué podían hacer? Imágenes simples, como dígitos o rostros escritos a mano, pero la calidad era peor que la de las GAN. Aun así, eran más estables.
Conexión con el texto: Comenzaron a combinar VAE con texto, pero aún no estaba muy extendido.
6. 2021: DALL E y CLIP: el texto se encuentra con las imágenes
- DALL E (2021) : Creado por OpenAI. Combinación de VAE y transformadores (como en modelos de lenguaje). Se utilizó CLIP para vincular texto e imágenes.
¿Qué podía hacer? Generar imágenes a partir de consultas de texto: "aguacate en forma de silla" o "gato en el espacio". La calidad era promedio (256x256), pero la creatividad era increíble.
CLIP: También de OpenAI. No lo generé yo mismo, pero aprendí a comprender la conexión entre texto e imágenes, convirtiéndome en el "cerebro" de futuros modelos.
7. 2022: La difusión toma el control
- DDPM (modelos probabilísticos de difusión con eliminación de ruido, 2020-2021) : introducidos por Jascha Sohl-Dickstein y mejorados por Jonathan Ho, estos fueron los primeros modelos de difusión.
¿Qué podían hacer? Generaban imágenes de alta calidad (rostros, objetos), pero lentamente: cientos de pasos.
Avance: Se demostró que la difusión puede superar a las GAN en detalle.
- Difusión estable (2022) : Creado por Stability AI en colaboración con investigadores (Robin Rombach et al.). Difusión combinada, VAE y CLIP.
¿Qué podía hacer? Generaba imágenes a partir de texto (512x512 y superior) de forma rápida y eficiente. Funcionaba en ordenadores convencionales gracias al espacio latente.
Característica: Código abierto: cualquiera puede descargarlo y usarlo.
- DALL E 2 (2022) : OpenAI mejoró la primera versión. Se utilizó difusión en lugar de VAE.
¿Qué podía hacer? Imágenes muy realistas y creativas (hasta 1024x1024) para consultas complejas: "pingüino en la playa con un cóctel".
- Imagen (2022) : De Google. También un modelo de difusión con énfasis en la calidad.
¿Qué podía hacer? Imágenes fotorrealistas con detalles increíbles.
8. 2023 – 2025: Modernidad
- Difusión Estable XL (SDXL, 2023) : Versión mejorada de la IA de Estabilidad. Se añadió un refinador para mejorar el detalle.
¿Qué puede hacer? Imágenes de 1024x1024 con alta calidad y flexibilidad.
Midjourney (2022-2025): Modelo cerrado, pero popular entre los artistas. Especializado en estilos artísticos.
- DALL E 3 (2023) : Una versión aún más precisa y potente de OpenAI.
Evolución: de lo simple a lo complejo
- Modelos tempranos (GAN) : caras simples, baja resolución, muchos errores.
- Medio (StyleGAN, BigGAN) : Realismo, pero sin texto.
- Texto + imágenes (DALL E, Difusión Estable) : Conexión con las demandas, creatividad.
- Hoy : Alta calidad, rapidez, disponibilidad.
¿Quién impulsó el progreso?
- Científicos : Ian Goodfellow (GAN), Geoff Hinton (conceptos básicos), Tero Karras (NVIDIA).
- Empresas : OpenAI (DALL E, CLIP), Stability AI (Stable Diffusion), Google (Imagen), NVIDIA (StyleGAN).
¿Qué ha cambiado?
- De manchas borrosas al fotorrealismo.
- Desde imágenes aleatorias hasta generación de texto.
- De las supercomputadoras a los PC domésticos.
FLUJO
FLUX es un modelo de IA generativa de vanguardia presentado en agosto de 2024 por Black Forest Labs, empresa fundada por antiguos desarrolladores de Stable Diffusion (Robin Rombach, Andreas Blattmann, etc.). Se trata de un modelo de texto a imagen con una arquitectura híbrida que combina técnicas de difusión y transformación, con una escala de 12 000 millones de parámetros. Su objetivo es generar imágenes de alta calidad a partir de descripciones de texto (indicaciones) con gran precisión y diversidad.
- Calidad : Produce imágenes muy detalladas y realistas comparables a Midjourney o DALL E 3.
- Precisión : Mejor adherencia inmediata que los modelos anteriores como el Stable Diffusion XL.
- Velocidad : Existe una versión rápida (Schnell) que funciona incluso en ordenadores normales.
- Flexibilidad : Ofrece tres opciones:
- FLUX.1 Pro: El más potente, para uso comercial, disponible vía API.
- FLUX.1 Dev: Abierto para uso no comercial, para experimentos.
- FLUX. 1 Schnell: Rápido y liviano, con licencia Apache 2.0, para uso personal.
¿Cómo se aprende?
Al igual que Stable Diffusion, FLUX. 1 se entrena con un conjunto de datos enorme: probablemente miles de millones de imágenes con descripciones textuales provenientes de internet (p. ej., LAION). Los detalles exactos de los datos no son públicos, pero el entrenamiento es automático, sin etiquetado manual por parte de personas: el modelo "absorbe" pares de texto-imagen predefinidos.
¿Qué puede hacer?
- Genera escenas fotorrealistas, personas, animales.
- Dibuja bien las manos y las caras (un problema con los modelos más antiguos).
- Maneja texto en imágenes (por ejemplo, inscripciones, logotipos).
- Admite diferentes estilos desde el realismo hasta la abstracción.
FLUX es el siguiente paso después de las GAN (2014), StyleGAN (2019) y los modelos de difusión temprana (2020). Se basa en Stable Diffusion (2022), pero con una arquitectura y eficiencia mejoradas. A día de hoy (marzo de 2025), es uno de los modelos líderes de código abierto, compitiendo con éxito con soluciones de pago como Midjourney.
No se puede comentar Por qué?