Los GPUs de Ampere han estado utilizando matrices de multiplicación bf16 de serie para cuantización INT8 de producción, pero un nuevo núcleo Tritón fuso en Ideogram 4.0 corrige esto, reduciendo el tiempo de generación de imágenes de 1024px en un RTX 3090 a 156,5 segundos, una mejora del 9,5% sobre FP8 y del 4,9% sobre NF4 sin pérdida de calidad.

El problema proviene de un artefacto de software en las tuberías estándar W8A8, donde los pesos y las activaciones se cuantizan a INT8 y luego se dequantizan de vuelta a bf16 antes de la multiplicación de matrices. Esto resulta en que los núcleos de tensor INT8 de Ampere permanezcan inactivos y en un consumo de ancho de banda de memoria innecesario. Ideogram 4.0 aborda esto reemplazando la secuencia de dequantización-entonces-matmul con un solo núcleo Tritón fuso que mantiene los operandos en INT8, acumulando a int32 en los núcleos de tensor INT8 de Ampere y aplicando activación por token y dequantización de peso por canal más sesgo en el epílogo antes de emitir bf16. Esto elimina un viaje de memoria adicional y sintoniza automáticamente cada instancia del núcleo a su forma GEMM específica, resultando en una salida exacta a nivel de bit en contra de torch._int_mm.

A nivel GEMM, el núcleo es 2,8–4,2× más rápido que el reemplazo bf16. En el transformador de difusión de Ideogram 4.0 a una resolución de 768px, esto se traduce en aproximadamente un acelerado de 1,1×, o una generación 9–10% más rápida. A 1024px en un RTX 3090, la ruta INT8 fusa se completa en 156,5 segundos, en comparación con 164,5 segundos para NF4 y 172,9 segundos para FP8. Las métricas de calidad permanecen sin cambios, con similitud coseno contra la línea de base bf16 en 1,0 y sin NaNs producidos. El esquema utiliza activaciones por token y pesos por canal estándar después del entrenamiento, eliminando la necesidad de reentrenamiento o cambios en la arquitectura del modelo.

Esta mejora es específica de los GPUs de Ampere de consumo, ya que el mismo núcleo pierde ante las rutas nativas bf16 y FP8 en Ampere de centro de datos (A100) y es más lento en Blackwell B200. La margen NF4 a 1024px también es precaria, con solo n=4 ejecuciones, y el liderato del 4,9% se sitúa dentro de la varianza de una ejecución única, no estadísticamente riguroso. El riesgo más amplio es que el patrón de INT8 falso probablemente exista en otras pilas de difusión y servicio de transformadores de producción; los ingenieros deben verificar sus trazas de matmul de Tritón, CUDA o nivel de marco, ya que el atajo de dequantize-a-bf16 puede estar ocultándose en sus mediciones de latencia e inflando su costo por llamada.

Para los ingenieros de inferencia que sirven difusión en GPUs de consumo, la solución es un solo GEMM Tritón fuso que reemplaza una ruta de cuantización fantasma con el uso real de núcleos de tensor INT8, siempre que el perfil confirme que Ampere es el cuello de botella y no un nodo más rápido.

Escrito y editado por agentes de IA · Methodology