Los scoreboards de llama.cpp son muy útiles, pero también son fáciles de malinterpretar si solo miras una cifra. En esas tablas suelen aparecer CUDA, ROCm, Vulkan, Q4_0, pp512, tg128, FA y t/s, y cada uno describe una dimensión diferente del benchmark.
Este artículo resume cómo leer esas tablas y qué conclusiones prácticas conviene sacar antes de comparar GPUs.
Entender primero las métricas
Qué es Q4_0
Q4_0 es un formato de cuantización de 4 bits. No significa que el modelo sea más fuerte. Significa que el modelo es más pequeño, usa menos VRAM y cabe en más dispositivos.
La mayoría de estos scoreboards estandarizan sobre Llama 2 7B, Q4_0 para que la comparación entre GPUs sea más sencilla.
Qué es pp512
pp512 suele significar prompt processing 512 tokens, es decir, el throughput al procesar 512 tokens de entrada.
pp= prompt processing512= la entrada tiene 512 tokenst/s= tokens por segundo
Esto se acerca más a la velocidad de ingestión del prompt, por eso suele ser mucho más alto que la velocidad de generación.
Qué es tg128
tg128 suele significar text generation 128 tokens, es decir, la velocidad al generar 128 tokens de forma continua.
tg= text generation128= generar 128 tokens seguidost/s= tokens por segundo
Esta métrica suele estar más cerca de la velocidad que el usuario percibe en uso interactivo.
Qué es FA
FA significa Flash Attention.
with FAsignifica que Flash Attention está activadono FAsignifica que Flash Attention está desactivado
En muchas GPUs, FA mejora pp512 con más claridad que tg128, pero la ganancia no es idéntica entre backends, drivers y arquitecturas GPU.
Cómo leer t/s
t/s significa tokens per second. La regla clave es comparar el mismo tipo de prueba con los mismos ajustes.
- No compares
pp512ytg128como si fueran lo mismo. - No mezcles resultados
no FAconwith FA. - No asumas que CUDA, ROCm y Vulkan son directamente intercambiables.
Conclusiones rápidas
- CUDA sigue siendo la ruta más fuerte en conjunto para benchmarks GPU de
llama.cpp, especialmente en GPUs Nvidia de gama alta. - ROCm ya ofrece resultados fuertes en GPUs AMD de gama alta y aceleradores Instinct.
- Vulkan tiene la cobertura de hardware más amplia, incluyendo Nvidia, AMD, Intel, GPUs antiguas y algunos setups Apple / Asahi.
tg128se acerca más a la velocidad percibida en uso diario, mientraspp512es mejor para juzgar throughput de prompt.
Cómo usar las tablas
1. Decide si te importa más tg128 o pp512
Para chat y uso interactivo, tg128 suele importar más. Para prompts largos, batch processing o workloads de ingestión, pp512 pesa más.
2. Compara el backend que realmente usas
Usuarios Nvidia deberían priorizar CUDA. Usuarios AMD deberían comparar primero ROCm y Vulkan. Si necesitas compatibilidad amplia o hardware mixto, presta atención a Vulkan.
3. Mira FA al final
En muchas GPUs, activar FA mejora más pp512 que tg128, así que una sola cifra destacada puede ser engañosa.
4. No compares generaciones solo por memoria
Una GPU con más VRAM no siempre gana en tg128. La generación token a token puede depender mucho de ancho de banda, caché, backend, kernel y optimizaciones del runtime.
5. Usa las tablas como orientación, no como garantía
Los scoreboards son aportes comunitarios. Pueden variar por commit, driver, sistema operativo, flags de compilación, versión de llama.cpp, temperatura y configuración de energía.
Qué muestran en general los scoreboards
En las tablas CUDA, las GPUs Nvidia modernas de gama alta, como RTX 5090, RTX PRO 6000 Blackwell, H100, A100, RTX 4090 y RTX 5080, ocupan los rangos superiores. El patrón general confirma que CUDA sigue siendo la ruta más madura para Nvidia.
En las tablas ROCm / HIP, aceleradores como MI300X y tarjetas AMD de gama alta como RX 7900 XTX muestran resultados fuertes. Esto confirma que ROCm ya es una ruta seria, aunque la experiencia puede depender mucho de soporte de driver y plataforma.
En las tablas Vulkan, el valor principal es la amplitud. Aparecen Nvidia, AMD, Intel, Apple vía MoltenVK / Asahi, GPUs antiguas y GPUs integradas. Vulkan no siempre es la ruta más rápida, pero suele ser la más flexible para comparar hardware diverso.
Resumen en una frase
En benchmarks de llama.cpp, pp512, tg128, Q4_0, FA y CUDA / ROCm / Vulkan describen dimensiones distintas. Cuando entiendes el contexto del benchmark, las tablas se vuelven mucho más fáciles de leer.
Fuentes
- CUDA discussion #15013: https://github.com/ggml-org/llama.cpp/discussions/15013
- Apple Silicon discussion #4167: https://github.com/ggml-org/llama.cpp/discussions/4167
- ROCm discussion #15021: https://github.com/ggml-org/llama.cpp/discussions/15021
- Vulkan discussion #10879: https://github.com/ggml-org/llama.cpp/discussions/10879