INT8 apenas degrada las imágenes y el sampler AB-2 supera a Euler en 12 de 12 pruebas

Se suele decir que, en modelos comprimidos a INT8 como Flux, los samplers complejos acumulan error. Los autores de Flow-WLS lo comprobaron con cuatro modelos: el ruido de INT8 apenas se ve y el sencillo AB-2 venció a Euler en las 12 combinaciones de pasos y CFG con Anima. Su propio Flow-WLS, con pocos pasos, perdió frente a Euler. En la práctica: con CFG 3 o más, use flow_ab2; en modelos destilados con CFG 1, flow_ab3.

Procesado por IA desde Habr AI; editado por Hamidun News
INT8 apenas degrada las imágenes y el sampler AB-2 supera a Euler en 12 de 12 pruebas
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
Ruido de los kernels INT81,3% de la norma de la velocidad con CFG 1 y 5,7% con CFG 4
Dato clave #2AB-4 amplifica el ruido blanco 1,97 veces; AB-2, solo 1,06 veces
Distancia LPIPS entre INT8 y bf160,014 con CFG 1 y 0,029 con CFG 4

Si ejecuta Flux, Qwen-Image y modelos similares en una tarjeta gráfica doméstica, casi seguro usa pesos cuantizados: los números del modelo se redondean a 8 bits (INT8) para que quepa en memoria. Circula además un consejo: en un modelo así, mejor no usar samplers «sofisticados», es decir, los algoritmos que convierten el ruido en imagen paso a paso, porque supuestamente acumulan el error de redondeo. El autor del proyecto Flow-WLS lo comprobó con mediciones.

El resultado: el ruido de INT8 apenas se ve en la imagen, y el sencillo sampler AB-2 resultó mejor que el Euler básico en las 12 combinaciones probadas (3 valores de CFG × 4 cifras de pasos) con el modelo Anima. Lo práctico es esto: si se queda con Euler solo por miedo a la cuantización, puede quitarse ese miedo y cambiar de sampler con una selección en el menú desplegable de ComfyUI. Hay una conclusión incómoda para el propio autor: su idea de Flow-WLS, presentada en un trabajo anterior, perdió frente a Euler con pocos pasos.

Aclaración de términos. CFG es la fuerza con la que el modelo sigue el texto del prompt: cuanto más alto, más se amplifica cualquier error. Euler es el sampler más simple: da cada paso apoyándose solo en la predicción actual. AB-2, AB-3 y AB-4 son métodos de Adams-Bashforth: tienen en cuenta 2, 3 o 4 pasos anteriores, como si estimara la velocidad de un movimiento no por un solo fotograma, sino por varios. LPIPS es una métrica que indica cuánto se diferencian dos imágenes para la «visión» de una red neuronal; cuanto menor es, más cerca está de la referencia.

Qué se probó y cómo

Se tomaron cuatro modelos de flujo: Anima (en bf16 y con simulación de FP8, INT8, INT4 y NVFP4), Flux3-Klein INT8, Krea 2 INT8 (con ConvRot) y Moss-Image INT8. Se usaron 4 prompts, 2–3 seeds, de 8 a 24 pasos y CFG de 1 a 5. Como referencia sirvió el mismo modelo ejecutado con un número muy alto de pasos (96 para el retrato en Anima).

Con Flux3 se compararon dos modos del mismo modelo: con kernels INT8 reales (Q) y con los mismos pesos descomprimidos a bf16 sin cuantizar las activaciones (D). La diferencia entre ambos muestra el error puro de los kernels. Antes de los experimentos, los autores anotaron en el README 15 hipótesis (H1–H15) y las condiciones para confirmarlas, para no ajustar la conclusión al resultado. Parte de las hipótesis no se confirmó, y así se dejó en el texto.

La cuantización es inocua y el ruido es blanco

El error de los kernels INT8 reales es del 1,3% de la norma de la velocidad con CFG 1 y del 5,7% con CFG 4. El aumento de 4,36 veces tiene explicación: el error se multiplica por el guidance, igual que cualquier diferencia de predicciones. En el latente final esto supone no más de 0,02 de error relativo. La distancia LPIPS entre los resultados Q y D es de 0,014 con CFG 1 y de 0,029 con CFG 4; a simple vista no se distinguen.

Además, el ruido es «blanco»: la correlación entre pasos contiguos es de −0,001, es decir, en cada paso el error es nuevo y no se acumula en una dirección. Es justo este tipo de ruido el que amplifican los métodos de orden alto. Según el cálculo respecto a Euler, AB-2 lo multiplica por 1,06, AB-3 por 1,21 y AB-4 por 1,97. Pero el exceso de error propio de AB-4 (0,5–0,8) es decenas de veces mayor que el efecto de la cuantización (hasta 0,02), así que el culpable no es INT8, sino la elección del método.

Qué elegir en la práctica

En Anima se probaron CFG 1, 3 y 5 con 8, 12, 16 y 24 pasos, con nueve métodos en total:

  • AB-2 es mejor que Euler en las 12 celdas, por 0,03–0,12 de error en el latente, y los intervalos de confianza no incluyen el cero;
  • DPM++ 2M supera a Euler con CFG alto y 16–24 pasos;
  • con CFG 1 (Flux3-Klein y Krea 2 destilados), los mejores son AB-3 y la selección dinámica;
  • AB-4 y las ventanas largas de Flow-WLS con 12 pasos o menos no fueron en ningún caso la mejor opción.

Las imágenes lo confirman. En Anima, con 8 pasos, Euler deja un ruido casi negro (LPIPS 0,89), mientras que DPM++ 2M (0,35) y AB-2 (0,42) producen una imagen terminada; con 16 pasos, Euler marca 0,34 frente a 0,20 de DPM++ 2M, 0,21 de AB-3 y 0,23 de AB-2. En Krea 2, con 12 pasos, Euler deja una piel «de plástico» (0,34), mientras que AB-3 (0,21) devuelve poros y pecas. En Flux3-Klein, con 12 pasos, Euler, DPM++ 2M, AB-2 y AB-3 son iguales a ojo (0,15), así que allí no hay motivo para cambiar de sampler.

La causa está en la naturaleza de la salida de la red: es una tendencia suave más un ruido no correlacionado entre pasos. Su tamaño ronda el 1% de la norma con CFG 1, el 4% con CFG 3 y el 6–7% con CFG 5. Las reglas con pesos grandes amplifican ese ruido y solo ganan mientras es pequeño.

El intento de ajustar un filtro de historial a los datos dio una mejora de no más del 3,4% sobre la mejor regla existente, por lo que no hace falta un nuevo sampler de la clase Flow-WLS. Resultado secundario: la métrica de consistencia en un solo paso predice mal el ranking final, mientras que la acumulada a lo largo de la trayectoria lo predice bastante bien (correlación de Spearman de 0,77 de media).

Instalación: clone el repositorio YakovSava/flow-wls-research en ComfyUI/custom_nodes/ y reinicie ComfyUI. En la lista sampler_name aparecerán flow_ab2, flow_ab3 y flow_ab4. También hay un nodo Flow Easy Sampler con una selección entre dos variantes. AB-k funciona sin llamadas adicionales al modelo, por lo que cuesta lo mismo que Euler. Recomendaciones: modelo normal con CFG 3 o más, flow_ab2, y con 16 pasos o más también dpmpp_2m; modelo destilado con CFG 1, flow_ab3; con menos de 12 pasos, ni flow_ab4 ni las ventanas largas de Flow-WLS.

Limitaciones

LPIPS mide la distancia a una imagen obtenida con muchos pasos, no la belleza; no hay una prueba ciega con personas. La muestra es pequeña: 4 prompts, 4 modelos y un seed por imagen, sin elegir la mejor. Para Moss-Image no hay una referencia convergida, por lo que solo son fiables los efectos grandes; con Flux3 y CFG 4, la referencia converge en un 20–34%.

Para Moss y Krea 2 solo se midió el modo Q. No se midió el error del propio redondeo de los pesos respecto a un original en bf16 desconocido. No se probaron modelos de tipo SDXL.

AB-2 y DPM++ 2M se añadieron a una parte de los experimentos tras los primeros resultados, y así consta en el README. AB-2 no es un método nuevo: el valor del trabajo está en las mediciones y en el resultado negativo sobre la idea propia de los autores.

Historia

Preguntas frecuentes sobre la noticia

¿Qué se sabe sobre Qué se probó y cómo?

Se tomaron cuatro modelos de flujo: Anima (en bf16 y con simulación de FP8, INT8, INT4 y NVFP4), Flux3-Klein INT8, Krea 2 INT8 (con ConvRot) y Moss-Image INT8. Se usaron 4 prompts, 2–3 seeds, de 8 a 24 pasos y CFG de 1 a 5. Como referencia sirvió el mismo modelo ejecutado con un número muy alto de pasos (96 para el retrato en Anima). Con Flux3 se compararon dos modos del mismo modelo: con kernels INT8 reales (Q) y con los mismos pesos descomprimidos a bf16 sin cuantizar las activaciones (D).

¿Qué se sabe sobre La cuantización es inocua y el ruido es blanco?

El error de los kernels INT8 reales es del 1,3% de la norma de la velocidad con CFG 1 y del 5,7% con CFG 4. El aumento de 4,36 veces tiene explicación: el error se multiplica por el guidance, igual que cualquier diferencia de predicciones. En el latente final esto supone no más de 0,02 de error relativo. La distancia LPIPS entre los resultados Q y D es de 0,014 con CFG 1 y de 0,029 con CFG 4; a simple vista no se distinguen.

¿Qué se sabe sobre Qué elegir en la práctica?

En Anima se probaron CFG 1, 3 y 5 con 8, 12, 16 y 24 pasos, con nueve métodos en total: AB-2 es mejor que Euler en las 12 celdas, por 0,03–0,12 de error en el latente, y los intervalos de confianza no incluyen el cero; DPM++ 2M supera a Euler con CFG alto y 16–24 pasos; con CFG 1 (Flux3-Klein y Krea 2 destilados), los mejores son AB-3 y la selección dinámica; AB-4 y las ventanas largas de Flow-WLS con 12 pasos o menos no fueron en ningún caso la mejor opción. Las imágenes lo confirman.

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
¿Qué te parece?
Cargando comentarios…