Qwen 0,8B · conc. 512
single-stream (4B)
Qwen 0,8B bf16
NVFP4 vs FP8 (Gemma)
1. Entorno y metodología
- Hardware: 1× RTX PRO 6000 Blackwell dedicada y limpia (GPU2) del nodo Titán — arquitectura SM120 con FP4/NVFP4 y FP8 nativos en Tensor Cores de 5ª generación.
- Software: vLLM v0.23.0 (
vllm/vllm-openai:latest), driver NVIDIA 595.58.03, CUDA 13.2. Despliegue por defecto:tp=1 · max-model-len 32768 · gpu-memory-utilization 0,9 · max-num-seqs 1024. - Método A (cliente propio): single-stream en streaming (256 tokens de salida, 3 repeticiones, TTFT + tok/s de decode) y barrido de concurrencia 1–256 midiendo tok/s totales. Limitado por el GIL de Python a alta concurrencia: infravalora el techo.
- Método B (
vllm bench serve): benchmark oficial asíncrono, dataset aleatorio 256/256, concurrencia 512, 3.000–4.000 peticiones,--ignore-eos. Reporta output/pico/total tok/s, TTFT y TPOT. Referencia fiable de throughput máximo. - Protocolo: decodificación greedy (
temperature=0) conignore_eos. Miden velocidad pura, no calidad.
2. Resumen comparativo
| Modelo | Tipo | Cuant. | Single-stream tok/s |
TTFT | Conc. 256 tok/s (A) |
Total tok/s (B · conc. 512) |
|---|---|---|---|---|---|---|
| Qwen3.5-0.8B | denso | bf16 | 534 | ~26 ms | 22.871 | 35.841 |
| Qwen3.5-0.8B | denso | INT4 W4A16 | 520 | ~25 ms | 22.017 | 34.951 |
| Qwen3.5-4B | denso | NVFP4 | 259 | ~28 ms | 9.635 | 15.480 |
| Gemma 26B-A4B | MoE (4B act.) | FP8 | 210 | ~29 ms | 13.070 | 13.099 |
| Gemma 26B-A4B | MoE (4B act.) | NVFP4 | 193 | ~26 ms | 14.701 | 14.177 |
| Qwen3.5-4B | denso | bf16 | 149 | ~30 ms | 7.369 | 11.410 |
| Qwen3.5-122B-A10B | MoE (10B act.) | NVFP4 | 136 | ~26 ms | 4.489 | — |
| gemma-4-31B-it | denso | NVFP4 | 64 | ~38 ms | 4.866 | saturado* |
* El 31B denso satura a concurrencia 512 (TTFT ~40 s por encolamiento). El 122B se midió en producción (tp=2, contexto 256K), no en GPU dedicada limpia: su throughput está limitado por la KV cache del contexto de 256K y el overhead de tensor-parallel.
3. Barridos de concurrencia (Método A)
| Modelo | conc 1 | conc 32 | conc 128 | conc 256 |
|---|---|---|---|---|
| Qwen3.5-0.8B bf16 | 503 | 10.551 | 20.418 | 22.871 |
| Qwen3.5-0.8B W4A16 | 492 | 9.874 | 18.532 | 22.017 |
| Gemma 26B-A4B NVFP4 | 190 | 4.479 | 10.948 | 14.701 |
| Gemma 26B-A4B FP8 (co-ubic.) | 200 | 4.318 | 11.196 | 14.469 |
| Gemma 26B-A4B FP8 (dedicada) | 205 | 4.324 | 10.731 | 13.070 |
| Qwen3.5-4B NVFP4 | 251 | 5.135 | 8.867 | 9.635 |
| Qwen3.5-4B bf16 | 146 | 3.268 | 6.635 | 7.369 |
| gemma-4-31B NVFP4 | 64 | 1.674 | 4.037 | 4.866 |
| Qwen3.5-122B-A10B NVFP4 | 133 | 1.993 | 3.792 | 4.489 |
4. Método B — vllm bench serve (256/256 tok, conc. 512)
| Modelo | Output tok/s | Pico | Total tok/s | TTFT media | TPOT |
|---|---|---|---|---|---|
| Qwen3.5-0.8B bf16 | 17.921 | 21.760 | 35.841 | 461 ms | 26,3 ms |
| Qwen3.5-0.8B W4A16 | 17.476 | 21.504 | 34.951 | 476 ms | 27,0 ms |
| Qwen3.5-4B NVFP4 | 7.740 | 9.728 | 15.480 | 762 ms | 62,2 ms |
| Gemma 26B-A4B NVFP4 | 7.089 | 10.240 | 14.177 | 901 ms | 67,7 ms |
| Gemma 26B-A4B FP8 | 6.550 | 9.266 | 13.099 | 948 ms | 73,3 ms |
| Qwen3.5-4B bf16 | 5.705 | 7.680 | 11.410 | 1.314 ms | 83,4 ms |
| gemma-4-31B NVFP4 * | 1.771 | 3.233 | 3.543 | 40.188 ms | 114,9 ms |
* Saturado: a concurrencia 512 el denso 31B encola con TTFT de ~40 s; su valor representativo es el de conc. 256 del Método A (4.866 tok/s).
5. Conclusiones
La velocidad sigue a los parámetros activos
Un MoE de 122 B con 10 B activos (136 tok/s) genera el doble de rápido que un denso de 31 B (64 tok/s) siendo 4× más grande. La Gemma MoE 26B-A4B (4 B activos) alcanza 210 tok/s con menos de la mitad de la VRAM del denso. Para servir con latencia interactiva, los MoE son la mejor relación tamaño/calidad/velocidad.
NVFP4 ≫ W4A16 en Blackwell
NVFP4 usa tensor
cores FP4 nativos (cómputo 4-bit real, sin descuantizar): +74 % single-stream en el 4B frente
a bf16 y +31–36 % en throughput. W4A16 descuantiza a FP16 para el matmul y rinde un 2–3 %
peor que bf16 en modelos pequeños, donde además casi no encoge (embeddings y
lm_head quedan en FP16). Regla: a partir de unos pocos B, NVFP4 (no W4A16/AWQ)
acelera y ahorra VRAM; FP8 es la alternativa sólida.
FP8 ≈ NVFP4 en MoE, pero la mitad de VRAM
En la Gemma-26B-A4B ambos formatos quedan empatados en latencia (210 vs 193 tok/s single-stream); NVFP4 gana en throughput (+8–12 %) y sobre todo en densidad: 16 GB frente a 27 GB de VRAM. En un MoE de pocos parámetros activos el formato pesa poco en latencia; decide la memoria.
El techo de una RTX PRO 6000
Una sola tarjeta sostiene 35.841 tok/s totales (entrada+salida, conc. 512) con un modelo pequeño y ~534 tok/s single-stream con TTFT de ~20 ms. Sobradísimo para experiencias interactivas: un humano lee a 5–10 tok/s; la diferencia entre servir bien y servir de lujo la marca la elección de formato y de arquitectura, no el silicio.
Elección práctica por caso de uso (para un centro con este hardware)
- Respuestas masivas y rápidas (clasificación, roteado, tareas simples): modelos pequeños bf16 — el 4-bit no compensa por debajo de ~4 B.
- Calidad alta manteniendo velocidad: MoE (Gemma-26B-A4B, Qwen-122B-A10B) en NVFP4 — throughput con menos VRAM ocupada.
- Densos grandes (31 B): solo cuando su calidad concreta aporte algo que el MoE no cubra; asumir 64 tok/s y saturación a concurrencia alta.
6. Limitaciones y validez
- Condiciones no homogéneas: 0.8B, 4B y 31B en GPU dedicada limpia; el 122B en producción (tp2 + contexto 256K) y la Gemma-26B tuvo una medición co-ubicada (se re-midió limpia, §2-4 usa la dedicada).
- El Método A infravalora el techo de los modelos rápidos (GIL): el Método B es la referencia.
- Prompts sintéticos y greedy + ignore_eos: miden velocidad, no calidad ni comportamiento con prompts reales.
- Un solo run por configuración (salvo single-stream, 3 runs). Sin intervalos de confianza.
Sobre este documento
Campaña de medición de junio de 2026, documentada en el BENCHMARKS.md interno del centro (v0.1–v0.2) y volcada aquí para consulta pública. IES Dr. Lluís Simarro, Centro de Excelencia Nacional en IA y Big Data. Repositorio: aulaenlanube/pp1-simarro.