LMCache resuelve un problema concreto de inferencia LLM: muchas peticiones comparten la primera parte del prompt, pero el servidor recalcula el prefill cada vez. Eso desperdicia GPU.
Si usas prompts de sistema largos, plantillas RAG, conversaciones de varios turnos, descripciones de herramientas de agentes o contexto fijo, LMCache merece una prueba. Su objetivo principal es reducir prefill repetido y bajar el TTFT.
|
|
|
|
Cuándo Tiene Sentido
Encaja cuando los prompts son largos, comparten prefijo, RAG repite fragmentos, las conversaciones reutilizan historia, los agentes incluyen herramientas largas o varias instancias vLLM necesitan compartir caché. Si las peticiones son cortas o no comparten prefijo, el beneficio puede ser bajo.
Empieza con vLLM en Modo MP
- Modo MP: LMCache corre como servicio independiente y vLLM usa
LMCacheMPConnector. - Modo in-process: LMCache corre dentro del proceso vLLM con
LMCacheConnectorV1.
Para uso práctico, MP es más fácil de observar, gestionar y compartir entre instancias.
Instalación
|
|
O:
|
|
En producción fija versiones y comprueba compatibilidad entre vLLM, LMCache y connector.
Arrancar LMCache
|
|
--chunk-size 16 es útil para demos; en producción suele usarse el valor por defecto, como 256. Los puertos por defecto son ZMQ 5555 y HTTP 8080.
Arrancar vLLM
|
|
Con vLLM 0.20.0 o superior:
|
|
Probar Aciertos
Envía dos peticiones con prefijo compartido:
|
|
|
|
La primera debería mostrar Stored ... tokens; la segunda, Retrieved ... tokens.
Qué Observar
Mira hit tokens, hit ratio, origen de la caché, latencia de lectura, mejora de TTFT y efecto de la alineación de chunks. No basta con ver que existe un Retrieved.
Dónde Aporta Más
Prompts de sistema largos, plantillas RAG fijas, descripciones de herramientas de agentes y servicios con múltiples instancias. Empieza con CPU RAM local antes de usar Redis, S3, NIXL u otros backends complejos.
Modo In-Process
|
|
Es simple, pero la caché depende del proceso vLLM. Para producción suele ser más cómodo MP.
Checklist
- Comparar TTFT con y sin LMCache.
- Registrar prefill latency por separado.
- Medir prefix cache hit tokens y hit ratio.
- Vigilar memoria de LMCache.
- Probar reinicio de vLLM.
- Revisar métricas ZMQ, HTTP y logs bajo concurrencia.
- Medir con prompts reales.
Resumen
LMCache es útil cuando prompts largos se repiten. No acelera mágicamente todo; convierte prefill repetido en KV Cache reutilizable. Si ya usas vLLM, prueba primero MP localmente, confirma aciertos y compara TTFT con tráfico real.