Qué significan realmente las métricas comunes de benchmark GPU: FA, pp512, tg128 y Q4_0

Al leer benchmarks de inferencia GPU aparecen métricas como FA, pp512, tg128, Q4_0 y t/s. Todas se relacionan con rendimiento, pero no miden lo mismo. Este artículo explica qué significa cada una.

En cuanto empiezas a mirar benchmarks de LLM locales o inferencia GPU, aparece una pila de abreviaturas: FA, pp512, tg128 y Q4_0. Todas parecen métricas de rendimiento, pero sin contexto pueden ser sorprendentemente difíciles de interpretar.

Por ejemplo, puedes ver una línea como:

1
CUDA Scoreboard for Llama 2 7B, Q4_0 (no FA)

Y justo debajo:

1
2
pp512 t/s
tg128 t/s

Si no desarmas estos términos, cuesta entender qué mide realmente el benchmark o cómo comparar los resultados de dos GPUs distintas.

Este artículo no trata sobre qué GPU conviene comprar. Trata específicamente de explicar las métricas más comunes que aparecen en benchmarks de inferencia GPU.

Primero, qué dice realmente la línea del título

Una línea como CUDA Scoreboard for Llama 2 7B, Q4_0 (no FA) ya te cuenta casi todo el setup de prueba.

Como mínimo, contiene cuatro capas de información:

  • CUDA: el benchmark corre por la ruta NVIDIA CUDA
  • Llama 2 7B: el modelo probado es la versión 7B de Llama 2
  • Q4_0: el modelo usa un formato cuantizado de 4 bits
  • no FA: Flash Attention estuvo desactivado en esta prueba

En términos prácticos, este título suele significar:

“Un benchmark de un modelo grande cuantizado corriendo en una GPU NVIDIA, medido bajo una ruta de inferencia concreta.”

Qué significa FA: Flash Attention

Aquí, FA significa Flash Attention.

Es una de las técnicas de aceleración más importantes en entrenamiento e inferencia de modelos grandes, principalmente porque optimiza cómo se calcula la atención. En modelos Transformer, la atención ya es una de las partes más caras y más intensivas en ancho de banda de memoria.

Una implementación tradicional de atención suele sufrir:

  • lecturas y escrituras frecuentes de memoria
  • muchos resultados intermedios
  • movimiento repetido entre VRAM y caché on-chip
  • overhead que crece rápido al aumentar el contexto

Lo que hace Flash Attention, en términos simples, es:

  • reorganizar el orden de cálculo
  • reducir cuántas veces los resultados intermedios vuelven a VRAM
  • mantener más trabajo dentro de caché rápida

Eso le da tres ventajas típicas:

  • es más rápida
  • ahorra memoria
  • es matemáticamente equivalente a la atención estándar, no un atajo de menor precisión

Por eso muchos frameworks modernos de inferencia y entrenamiento la tratan como una optimización clave.

Qué significa no FA

Si FA significa Flash Attention, no FA simplemente significa que no se activó Flash Attention para esa prueba.

Es decir, el benchmark se midió usando una implementación de atención más tradicional.

Las tablas suelen marcar explícitamente no FA por varias razones:

  • mantener una línea base de comparación
  • soportar hardware o software donde FA no está disponible
  • evitar mezclar resultados de condiciones de optimización distintas

Así que cuando veas no FA, no lo leas como “esta GPU es débil”. Una lectura más precisa es:

“Esta puntuación se midió sin Flash Attention activado.”

Qué significa Q4_0: un formato de cuantización

Q4_0 se refiere a un formato de cuantización de 4 bits.

Los pesos del modelo original normalmente no se guardan con tan baja precisión. La cuantización comprime pesos de mayor precisión en una representación de menos bits para que el modelo sea más fácil de ejecutar en GPUs de consumo.

Una forma aproximada de pensarlo:

  • Q: Quantization
  • 4: 4-bit
  • _0: identificador de un esquema concreto de cuantización

Su importancia práctica es directa:

  • menor tamaño de modelo
  • menos requisitos de VRAM
  • más probabilidad de caber en hardware de consumo

Así que Llama 2 7B, Q4_0 no significa solo “un modelo 7B normal”. Significa “un modelo 7B ya comprimido con un formato de cuantización de 4 bits.”

Qué significa pp512 t/s

pp512 suele significar:

Prompt Processing 512 tokens

Mide qué tan rápido el modelo procesa el prompt de entrada, normalmente en t/s, es decir, tokens per second.

Aquí, 512 significa que la longitud de prompt usada en la prueba fue de 512 tokens.

Esta métrica no mide velocidad de salida. Mide qué tan rápido el modelo codifica y calcula sobre la entrada antes de empezar a responder. Puedes pensarla como la velocidad de la etapa “leer primero el prompt”.

Una propiedad importante de esta etapa es que normalmente es mucho más paralelizable.

Como la secuencia de entrada puede procesarse en batches, la GPU puede mantener sus unidades de cómputo muy ocupadas. Por eso los números de pp512 pueden verse extremadamente altos.

Si ves algo como:

1
pp512 ~= 14000 t/s

no hay razón para preocuparse. Mide throughput de procesamiento de prompt, no velocidad de generación token por token.

Qué significa tg128 t/s

tg128 suele significar:

Text Generation 128 tokens

Mide la velocidad media de generar 128 tokens, también en t/s.

Esta métrica está mucho más cerca de lo que la gente quiere decir intuitivamente cuando pregunta si un modelo se siente rápido, porque mide directamente la etapa de salida.

La diferencia principal frente a pp512 es que la generación de texto suele ser autoregresiva.

Eso significa:

  • el modelo debe generar el primer token
  • luego usarlo para generar el segundo
  • y seguir así

Esta etapa no puede paralelizarse como el procesamiento de prompt, así que naturalmente es mucho más lenta.

Por eso es normal ver:

  • pp512 en decenas de miles de t/s
  • tg128 solo en cientos de t/s

No es un error de benchmark. Son workloads fundamentalmente distintos.

Por qué pp512 y tg128 difieren tanto

Esta suele ser la primera confusión al leer un scoreboard.

La explicación corta:

pp512 mide algo más cercano al throughput paralelo, mientras tg128 mide capacidad de generación token por token.

Más detalladamente:

  • la etapa de entrada es más fácil de paralelizar
  • la etapa de salida depende de generación secuencial
  • la generación suele ser más sensible a ancho de banda y caché
  • por eso la generación es mucho más lenta que el procesamiento de prompt

Esto también explica un patrón interesante:

  • una GPU puede ser más fuerte en pp512
  • otra puede terminar ligeramente más rápida en tg128

No es contradictorio. Una métrica se inclina más hacia throughput de cómputo pico; la otra refleja comportamiento de memoria y latencia en la ruta de generación.

Cómo pensar sobre t/s

Aquí, t/s significa tokens per second.

Indica cuántos tokens el modelo puede procesar o generar por segundo.

Pero hay una salvedad importante: un token no equivale exactamente a un carácter o una palabra. Es la unidad producida por el tokenizer del modelo, y su longitud real puede variar mucho entre modelos e idiomas.

En la práctica, t/s sirve sobre todo para:

  • comparar GPUs con el mismo modelo
  • comparar ajustes distintos en el mismo entorno
  • comparar un framework antes y después de activar una optimización concreta

Es mucho menos fiable como métrica absoluta universal entre modelos, frameworks y tokenizers distintos.

En qué fijarse primero al leer un scoreboard

Si no quieres enterrarte bajo abreviaturas, empieza por estas preguntas.

1. Qué modelo se está probando

¿Es Llama 2 7B? ¿Es la misma variante cuantizada, como Q4_0? Si cambia el modelo o el formato de cuantización, comparar directamente pierde sentido.

2. Si las optimizaciones clave están activadas

El ejemplo más común es FA. Si un benchmark usa Flash Attention y otro no, las puntuaciones no son directamente comparables.

3. Si la métrica mide entrada o salida

pp512 y tg128 miden etapas distintas. Una se acerca a velocidad de lectura de prompt; la otra a velocidad de generación de respuesta.

4. Si te importa throughput o sensación de uso

Si te importa procesar rápido un prompt largo, pp512 pesa más. Si te importa qué tan rápido se siente el modelo al responder, tg128 suele estar más cerca de la experiencia real.

Una forma práctica de recordarlo

Puedes resumirlo así:

  • Q4_0: el modelo está comprimido en una versión cuantizada de 4 bits
  • FA: si Flash Attention está activado
  • pp512: velocidad para procesar una entrada de 512 tokens
  • tg128: velocidad para generar una salida de 128 tokens
  • t/s: unidad de velocidad, tokens por segundo

Con esos cinco puntos claros, es mucho más fácil juzgar qué mide realmente un CUDA Scoreboard.

Cierre

Las tablas de benchmark GPU a menudo parecen más complicadas de lo que son, no porque las métricas sean misteriosas, sino porque identidad del modelo, cuantización, flags de optimización y etapas distintas de throughput se comprimen en abreviaturas cortas.

Cuando desarmas términos como FA, Q4_0, pp512 y tg128, estas tablas se vuelven mucho más legibles.

Lo importante no es recordar solo una puntuación, sino saber:

  • de qué configuración de modelo viene
  • si las optimizaciones clave estaban activadas
  • si midió entrada o salida
  • si refleja throughput de cómputo o algo más cercano a la sensación real de generación

Eso facilita juzgar qué significan realmente los resultados.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy