Phase 17 - Lesson 11

Servicio de LLM Multirregión y Localidad de Caché KV

El balanceo de carga round-robin es perjudicial para la inferencia de LLM con caché. Una solicitud que no llega al nodo que contiene su prefijo paga el costo total de prefill: aproximadamente 800 ms en P50 en un prompt largo frente a ~80 ms con un acierto (hit) de caché. En 2026, el patrón de producción es un enrutador consciente de la caché (vLLM Router en Rust, enrutador llm-d) que consume eventos de caché KV y enruta en función de la coincidencia del hash del prefijo. Investigaciones recientes (GORGO) hacen que la latencia de red entre regiones sea un término explícito en el objetivo de enrutamiento. Las ofertas comerciales de "inferencia entre regiones" (Bedrock cross-region inference, GKE multi-cluster gateways) tratan la inferencia como opaca: manejan la disponibilidad, no el TTFT. JPMorgan y Mayo Clinic ejecutaron un failover de us-east-1 en noviembre de 2024 en ~22 minutos. La realidad de la recuperación ante desastres (DR): el 32% de los fallos de DR en LLM ocurren porque los equipos respaldaron los pesos pero olvidaron los archivos del tokenizador o las configuraciones de cuantización.

Tipo: Learn Idiomas: Python (stdlib, simulador básico de enrutador consciente de caché de prefijo) Prerrequisitos: Phase 17 · 04 (vLLM Serving), Phase 17 · 06 (SGLang RadixAttention) Tiempo: ~60 minutos

Objetivos de Aprendizaje

  • Explicar por qué el balanceo de carga round-robin rompe la inferencia con caché y cuantificar la penalización de TTFT.
  • Diagramar un enrutador consciente de la caché: entradas (eventos de caché KV), algoritmo (coincidencia de hash de prefijo), desempate (utilización de GPU).
  • Nombrar el factor causante del 32% de los fallos de DR en LLM (falta de archivos de tokenizador / configuraciones de cuantización) y establecer una lista de verificación de DR de tres archivos.
  • Distinguir las ofertas comerciales entre regiones (Bedrock CRI, GKE Multi-Cluster Gateway) del enrutamiento consciente de KV.

El Problema

Su servicio se ejecuta en us-east-1, us-west-2 y eu-west-1. Coloca un ALB al frente con distribución round-robin. La tasa de aciertos de caché de prefijo en producción cae al 8%. El TTFT P50 se triplica. Sus registros de vLLM muestran que cada solicitud está pagando el costo total de prefill.

Round-robin es óptimo para servicios sin estado (stateless). La inferencia de LLM es de estado (stateful) por diseño: la caché KV codifica todo lo que el modelo ha visto. Enrutar a ciegas es enrutar hacia la caché incorrecta.

Por otra parte, su equipo tiene un plan de DR. Respalda los pesos del modelo en S3 en otra región. Ocurre una caída regional; intenta el failover; la réplica se niega a iniciarse. Olvidó que tokenizer.json, la configuración de cuantización y la configuración de escalado RoPE estaban en un bucket separado que no sincronizó.

El servicio de LLM multirregión es un problema de caché, de enrutamiento y de higiene de DR; no un problema de balanceador de carga.

El Concepto

Enrutamiento consciente de la caché

La solicitud llega con un prompt. El enrutador genera un hash del prefijo (por ejemplo, los primeros 512 tokens) y pregunta a cada réplica: "¿tienes este prefijo en caché?". Las réplicas publican eventos de caché KV en un canal pub/sub a medida que asignan y desalojan bloques. El enrutador elige la réplica con la coincidencia y recurre al desempate basado en la utilización de la GPU si ninguna coincide.

vLLM Router (Rust, pila de producción de 2026): se suscribe a los eventos kv.cache.block_added, mantiene una asignación de hash de prefijo → índice de réplica y enruta con una búsqueda O(1). Si no hay coincidencia, recurre a la menor profundidad de cola (least queue depth).

enrutador llm-d: el mismo patrón, nativo de Kubernetes. Publica eventos a través de la API ControlPlane.

SGLang RadixAttention (Phase 17 · 06) es el equivalente dentro de la réplica. El enrutamiento entre réplicas se realiza estrictamente aguas arriba (upstream).

Los números

TTFT P50 en un prompt de 2K tokens, Llama 3.3 70B FP8, H100:

  • Acierto de caché (misma réplica, prefijo residente): ~80 ms.
  • Fallo de caché (prefill en frío): ~800 ms.

Brecha de 10x. Si su enrutador alcanza el 60-80% de aciertos de caché de prefijo entre réplicas, aproxima el rendimiento de una sola réplica a la capacidad de N réplicas. Si alcanza el 10%, aproxima un escalado simple e ingenuo.

La multirregión tiene una nueva restricción: la latencia de red

RTT interregional:

  • us-east-1 ↔ us-west-2: ~65 ms.
  • us-east-1 ↔ eu-west-1: ~75 ms.
  • us-east-1 ↔ ap-southeast-1: ~220 ms.

Si el enrutamiento lleva una solicitud de us-east-1 a un prefijo caliente en ap-southeast-1, el prefill ahorrado (800 → 80 ms) se ve anulado por los 440 ms de ida y vuelta. GORGO (investigación de 2026) hace esto explícito: minimizar de forma conjunta prefill_time + network_latency, no el prefill solo. A menudo, la respuesta es mantener el enrutamiento regional, excepto en prefijos masivos de varios megabytes donde predomina el prefill.

Las ofertas comerciales de "inferencia entre regiones" no ayudan aquí

La inferencia entre regiones de AWS Bedrock enruta automáticamente las solicitudes a otras regiones durante presiones de capacidad. Optimiza la disponibilidad, no el TTFT, y trata la inferencia de forma opaca. GKE Multi-Cluster Gateway hace lo mismo: failover a nivel de servicio, sin conocimiento de la caché KV.

Aún necesita un enrutador consciente de la caché en la capa de aplicación cuando los usa. Ellos manejan el caso de "us-east-1 está caído". El enrutamiento consciente de la caché maneja el caso de TTFT.

Higiene de DR: el problema del 32% de archivos faltantes

Estadística ampliamente citada en 2026: el 32% de los fallos de DR en LLM ocurren porque los equipos respaldaron los pesos pero olvidaron:

  • tokenizer.json o tokenizer.model
  • Configuraciones de cuantización (quantize_config.json, escalas AWQ, puntos cero GPTQ)
  • Configuraciones específicas del modelo (escalado RoPE, máscaras de atención, plantillas de chat)
  • Configuración del motor (vllm_config.yaml, valores predeterminados de muestreo, manifiestos de adaptadores LoRA)

La solución es un manifiesto mínimo de DR de tres archivos:

  1. Todos los archivos del repositorio del modelo HF (pesos + configuraciones + tokenizador).
  2. Configuración de servicio específica del motor.
  3. Manifiesto de despliegue (K8s YAML, Dockerfile, bloqueo de dependencias).

Además: realice una prueba de DR trimestralmente. El simulacro de us-east-1 de JPMorgan logró una recuperación de 22 minutos en noviembre de 2024 solo porque el manual de procedimientos había sido ensayado.

La residencia de datos es independiente

Los datos de salud protegidos (PHI) de clientes de la UE no pueden salir de la UE. Si su enrutador consciente de la caché envía una solicitud originada en París a us-east-1 para una coincidencia de prefijo, ha infringido el GDPR independientemente de la ganancia de TTFT. Particione los enrutadores por límites de residencia de datos antes de optimizar para caché.

Números que debe recordar

  • Brecha de TTFT entre acierto y fallo de caché: ~10x (80 ms frente a 800 ms en un prompt de 2K).
  • RTT interregional US-EU: ~75 ms.
  • Fallo de DR: 32% omiten tokenizador/configuraciones de cuantización.
  • Failover de us-east-1 de JPMorgan en noviembre de 2024: 22 minutos (SLA de 30 minutos).

Utilízalo

code/main.py simula tres estrategias de enrutamiento (round-robin, enrutamiento regional consciente de caché y enrutamiento global consciente de caché) en una carga de trabajo multirregión. Reporta la tasa de aciertos de caché, el TTFT P50/P99 y la facturación de red interregional.

Entrégalo

Esta lección produce outputs/skill-multi-region-router.md. Dadas las regiones, las restricciones de residencia de datos y el SLA, diseña un plan de enrutamiento.

Ejercicios

  1. Ejecute code/main.py. ¿A partir de qué longitud de prompt el enrutamiento entre regiones supera al enrutamiento local, considerando un RTT de 75 ms?
  2. Su tasa de aciertos de caché cae del 70% al 12%. Diagnostique tres causas posibles y las variables observables que confirmarían cada una.
  3. Diseñe un manifiesto de DR para un modelo cuantizado en AWQ de 70B servido en vLLM con 5 adaptadores LoRA. Indique cada archivo y configuración necesaria.
  4. Discuta si la inferencia entre regiones de Bedrock es "suficiente" para una empresa tecnofinanciera (fintech) con SLAs de TTFT estrictos. Cite comportamientos específicos.
  5. Una solicitud originada en París coincide con un prefijo en us-east-1. ¿Debe enrutarla? Escriba la política de decisión.

Términos Clave

Termo O que as pessoas dizem O que realmente significa
Enrutamiento consciente de la caché "LB inteligente" Enrutar por coincidencia de hash de prefijo hacia la réplica que tiene la caché KV
Eventos de caché KV "pub-sub de caché" Las réplicas publican asignación/desalojo de bloques y el enrutador los indexa
Hash de prefijo "clave de caché" Hash de los primeros N tokens utilizado para la búsqueda en el enrutador
GORGO "investigación de enrutamiento interregional" arXiv 2602.11688; latencia de red como término explícito
Inferencia entre regiones "Bedrock CRI" Producto de AWS; failover de disponibilidad, sin conocimiento de la caché KV
Manifiesto de DR "la lista de respaldo" Todos los archivos necesarios para la restauración, no solo los pesos
Residencia de datos "límite de GDPR" Restricción legal sobre qué región puede ver los datos de los usuarios
RTT "tiempo de ida y vuelta" Latencia de red; ~75 ms US-EU, ~220 ms US-APAC
LB consciente de LLM "LB de cache-hit" Enrutador consciente de la caché como categoría de producto

Lecturas Adicionales

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).