Latencia y tokens por segundo: por qué importa en UX

La latencia de un LLM se mide con el tiempo hasta el primer token y los tokens por segundo. Qué la causa, cómo la percibe el usuario y cómo diseñar para ella.

info Definición Rápida
La latencia de un LLM es el tiempo que tarda el modelo en procesar un prompt y generar la respuesta. En una interfaz de chat conviene separarla en dos medidas: el tiempo hasta el primer token (TTFT, por time to first token), que es la espera antes de ver la primera palabra, y la velocidad de generación, medida en tokens por segundo, que decide qué tan rápido se llena el resto del texto.

¿Qué miden el tiempo al primer token y los tokens por segundo?

La documentación de Anthropic define la latencia como el tiempo que tarda el modelo en procesar un prompt y generar una salida, y señala que depende del tamaño del modelo, de la complejidad del prompt y de la infraestructura. Para medirla separa el TTFT, que corre desde que se envía el prompt hasta que se genera el primer token, de la latencia total.

Un token es el fragmento de texto con el que trabaja el modelo, y la generación sale token a token. De ahí sale una cuenta que sirve para estimar cualquier respuesta:

tiempo total ≈ TTFT + (tokens de salida − 1) × tiempo entre tokens

El tiempo entre tokens (ITL, inter-token latency) es la inversa de los tokens por segundo: a 50 tokens por segundo, cada token tarda 20 milisegundos. Ojo: “TPOT” (tiempo por token de salida) se usa a veces como sinónimo de ITL y a veces no, así que revisa cómo define cada fuente su medición antes de comparar cifras.

¿Qué hace lenta una respuesta?

Una petición pasa por dos fases. En la primera, llamada prefill, el modelo lee todo el prompt a la vez. En la segunda, decode, genera la respuesta un token detrás de otro. Cada fase tiene un cuello de botella distinto y por eso un síntoma distinto:

Qué ve la personaFase probableQué influyeQué se puede hacer
Pantalla quieta antes de la primera palabraPrefill (más cola y red)Largo del prompt, contexto recuperado, carga del proveedorAcortar el prompt, reutilizar el prefijo del prompt, mostrar feedback inmediato
Texto que avanza con pausasDecodeTamaño del modelo, carga del proveedorModelo más pequeño, menos carga
Espera total larga con respuesta extensaDecodeCantidad de tokens de salidaPedir salidas más cortas, dividir la tarea
  • La salida pesa mucho más que la entrada. OpenAI afirma en su guía de optimización que recortar un 50 % de los tokens de salida puede recortar cerca de un 50 % de la latencia, mientras que recortar un 50 % del prompt puede mejorarla solo entre 1 % y 5 %.
  • Un prompt muy largo sí se nota en el TTFT. NVIDIA midió Llama 3.1 70B en un sistema GH200 NVL32 con tamaño de lote 1: 472 ms al primer token con 32.768 tokens de entrada y unos 2,2 segundos con 122.880. Es una medición de laboratorio con hardware especializado: tus números serán otros, pero la tendencia (más contexto, más espera) se mantiene. Anthropic indica que el caché de prompts suele mejorar el TTFT en documentos largos.

Un modelo de razonamiento añade otro factor: genera pasos intermedios antes de responder, así que el texto visible tarda más en llegar (ver modelos de razonamiento).

¿Cómo percibe el usuario la espera?

Jakob Nielsen fijó tres límites de tiempo de respuesta en su libro Usability Engineering (1993), y Nielsen Norman Group los mantiene publicados con una actualización de 2014:

  • 0,1 segundos: el límite para que la persona sienta que el sistema reacciona al instante. No hace falta más feedback que mostrar el resultado.
  • 1 segundo: el límite para que el hilo de pensamiento no se interrumpa. Entre 0,1 y 1 s la demora se nota, pero no exige un aviso especial.
  • 10 segundos: el límite para mantener la atención en el diálogo. Pasado ese punto, NN/g recomienda un indicador de porcentaje cuando se pueda medir y una forma claramente señalada de interrumpir la operación.

Esas cifras son anteriores a los LLM y casi ninguna respuesta de un modelo cabe en 0,1 segundos. Por eso el diseño se apoya en la percepción: que algo se mueva pronto y que la persona sepa qué ocurre.

¿Qué puede hacer el diseño?

Para bajar la espera percibida, sin cambiar el tiempo real:

  • Streaming. Mostrar el texto según se genera permite empezar a leer antes de que termine. OpenAI lo describe como la técnica más eficaz para reducir la espera percibida. Los detalles están en streaming de respuestas.
  • Feedback inmediato. Al enviar, la interfaz responde en menos de 0,1 s con un estado que describa el paso real. Qué indicador usar según la duración se explica en estados de carga en IA.
  • Pasos visibles. Si la tarea tiene etapas (leer, buscar, redactar), mostrarlas convierte una espera vacía en progreso. Ver progreso de tareas largas.
  • Cancelación. Permitir detener una respuesta larga evita esperar algo que ya no se necesita. Ver interrumpir y redirigir.

Para bajar el tiempo real, con el equipo técnico:

  • Salida y prompt más cortos. Pide respuestas breves y quita contexto redundante del prompt. Anthropic aconseja limitar por párrafos u oraciones, porque el límite por número de palabras funciona peor con los tokens. max_tokens corta de golpe, incluso a mitad de frase.
  • Modelo más rápido. Elegir un modelo más pequeño es una de las vías más directas, siempre que la tarea lo permita (ver modelos pequeños vs. grandes).
  • Menos llamadas o llamadas en paralelo. OpenAI recomienda combinar pasos secuenciales en una sola petición y ejecutar en paralelo los pasos independientes.

¿Cómo se mide en la práctica?

  1. Guarda una marca de tiempo al enviar la petición.
  2. Guarda otra cuando llega el primer fragmento de texto visible. La diferencia es el TTFT.
  3. Guarda otra al terminar. Divide el tiempo restante entre los tokens de salida menos uno para obtener el tiempo entre tokens.
  4. Registra los tokens de entrada y de salida de cada petición, para saber qué fase pesa más.

Mide sobre peticiones reales, no solo sobre ejemplos cortos, y mira los percentiles altos. Wikipedia explica que la latencia de cola (los percentiles 95, 99 o 99,9) importa porque los promedios y las medianas pueden engañar.

¿Cuándo NO conviene optimizar solo la velocidad?

Cuando la velocidad se logra recortando calidad o contexto. Una respuesta rápida y equivocada es peor que una lenta y correcta, porque la persona gasta tiempo corrigiéndola. Anthropic recomienda lograr primero un prompt que funcione bien sin restricciones y aplicar después las estrategias de latencia, para saber cuál es el mejor resultado posible.

Ejemplo

Ejemplo ilustrativo: un asistente de redacción tarda 6 segundos en mostrar la primera palabra porque antes busca en los documentos de la marca, y después escribe 300 tokens en unos 6 segundos más. El equipo hace tres cambios: muestra en el primer instante el paso “Buscando en la guía de estilo”, activa el streaming para que el texto aparezca desde el primer fragmento y pone un botón para detener. La suma de tiempos casi no cambia, pero la persona ve actividad dentro de la primera décima de segundo y empieza a leer a los 6 segundos en lugar de a los 12.

Errores comunes

  • Medir solo la latencia total y olvidar el tiempo hasta el primer token.
  • Mostrar un spinner genérico durante 20 segundos.
  • Fiarse del promedio y no mirar los casos lentos.
  • Optimizar velocidad sin medir la calidad de la respuesta.
  • No permitir cancelar una generación larga.

Fuentes

Preguntas frecuentes

¿Qué es la latencia de un LLM?
Es el tiempo que tarda el modelo en procesar un prompt y generar la respuesta. Se separa en dos medidas: el tiempo hasta el primer token y la velocidad de generación, en tokens por segundo o en tiempo entre tokens.
¿Qué son los tokens por segundo?
Es la velocidad a la que el modelo genera la respuesta una vez que empieza. Su inversa, el tiempo entre un token y el siguiente, es lo que la persona percibe como escritura fluida o con pausas.
¿Cuánto tiempo de espera acepta un usuario?
Nielsen Norman Group recoge tres referencias: 0,1 segundos para sentir una reacción instantánea, 1 segundo para no perder el hilo y 10 segundos como límite de atención. Pasados los 10 segundos recomienda un indicador de progreso y una forma clara de interrumpir.
¿Cómo reducir la latencia percibida sin cambiar de modelo?
Mostrando la respuesta en streaming, confirmando de inmediato que la petición se envió, mostrando los pasos reales de una tarea larga y dejando que el usuario cancele. Para reducir la latencia real, acorta la salida y el prompt.