Chiosa
AI & Agents

Rutas separadas en GPU aceleran prompts y tokens

2 min
Publicado en Chiosa Actualizado

En palabras sencillas

FuTransformer es un programa para ejecutar un Transformer al estilo de Llama en GPU NVIDIA Hopper. Usa operaciones distintas para procesar un prompt y para generar tokens uno a uno, porque cada tarea lee y reutiliza los datos de manera diferente.

En pruebas con una H100, su ruta de procesamiento del prompt fue más rápida que PyTorch compilado en la mayoría de los casos probados con tamaño de lote uno, aunque no en todos. En un modelo de lenguaje, usar pesos más pequeños para decode también elevó la pérdida de predicción de texto del modelo.

La investigación

¿Cómo puede un Transformer procesar un prompt largo y luego generar un token a la vez con eficiencia, si cada fase dedica tiempo a leer y reutilizar los datos de forma distinta?

La respuesta importa para diseñar kernels de inferencia, pero las comparaciones de velocidad por sí solas no muestran qué costo tiene para la calidad del modelo generar con pocos bits.

FuTransformer asigna rutas distintas en GPU Hopper al procesamiento de prompts y a la generación token a token: operaciones FP8 fusionadas para prompts y datos INT4 empaquetados para generar.

El artículo pregunta cómo acelerar la inferencia de Transformer cuando procesar un prompt y generar un token a la vez están limitados por movimientos de datos distintos. FuTransformer es una implementación para GPU Hopper que asigna una ruta separada a cada fase, combina operaciones de prefill y empaqueta los pesos y los valores de la caché de decode en formatos adecuados para el cálculo.

En una H100, la ruta de prefill probada con tamaño de lote uno alcanzó entre 0.92x y 1.48x la velocidad de PyTorch compilado en distintas configuraciones, con reglas diferentes para escalar las activaciones. En decode, el bloque INT4 superó al más rápido de dos bloques PyTorch en cada punto probado, aunque la precisión y los formatos de caché eran distintos.

En Llama-3.1-8B, INT4 también elevó la perplexity en WikiText-2, lo que muestra un costo de calidad medible.

Estos resultados proceden de una sola H100 y de pruebas acotadas a ciertas capas y modelos. No establecen el rendimiento de un sistema completo de servicio, el rendimiento en otras generaciones de GPU ni la calidad en otros modelos y tareas.

Análisis

Detalles

Siguiente paperRoleQ ajusta las escalas de los pesos ternarios a la función de cada unidad