
Reduce tu factura de LLM en un 73% con caching semántico
TL;DR
El creciente uso de APIs de modelos de lenguaje (LLM) puede resultar en un aumento significativo de costos. Para abordar esta cuestión, implementamos caching semántico, lo que resultó en una reducción del 73% en los costos de la API.
El uso creciente de APIs de modelos de lenguaje (LLM) puede llevar a un aumento significativo en los costos. Una factura exacta creció un 30% por mes debido a preguntas repetidas de los usuarios con diferentes formulaciones. Para abordar esta cuestión, implementamos el caching semántico, que resultó en una reducción del 73% en los costos de la API.
Para entender la cuestión, analizamos los registros de consultas y descubrimos que preguntas como "¿Cuál es su política de devoluciones?" y "¿Puedo obtener un reembolso?" estaban siendo tratadas como consultas separadas, aunque generaban respuestas similares. El caching por correspondencia exacta fue insuficiente, capturando solo el 18% de los casos redundantes.
Deficiencia del caching por correspondencia exacta
El caching tradicional asocia el texto de la consulta como la clave del caché. Esto funciona para queries idénticas, pero los usuarios a menudo reformulan preguntas. Un estudio con 100,000 consultas reveló que solo el 18% de las preguntas eran duplicados exactos, mientras que 47% eran semánticamente similares y 35% eran completamente nuevas.
Estas preguntas similares estaban procesando llamadas a LLM, resultando en costos innecesarios. La implementación de un sistema de caching semántico, que observa el significado de la consulta y no su formulación, aumentó nuestra tasa de acierto de caché al 67%.
Arquitectura del caching semántico
La implementación del caching semántico sustituyó las claves de texto por una búsqueda basada en similitud mediante embedding en un espacio vectorial. El modelo de embedding está configurado para establecer un umbral de similitud, permitiendo identificar consultas relevantes.
Si la consulta actual semánticamente coincide con una consulta almacenada, el sistema devuelve la respuesta cacheada, evitando la llamada total al LLM. El ajuste del umbral es crucial. Umbrales demasiado altos pueden perder aciertos, y umbrales bajos pueden llevar a respuestas incorrectas.
Ajuste de umbral y resultados
Diferentes tipos de consultas requieren umbrales distintos. Para consultas frecuentes, como preguntas frecuentes (FAQ), un umbral de 0.94 asegura alta precisión. Después de pruebas, conseguimos configurar el caché adaptativo considerando el tipo de consulta.
Evaluamos el rendimiento y optimizamos los umbrales, obteniendo un aumento en la tasa de aciertos al 67% y reduciendo los costos de LLM de $47K a $12.7K/mes, una reducción significativa del 73%.
Desafíos y estrategias de invalidación del caché
Una vez que la información cambia, las respuestas almacenadas pueden volverse obsoletas. Implementamos tres estrategias, incluida la invalidación basada en tiempo, que establece un tiempo de vida (TTL) para diferentes tipos de contenido, y la invalidación basada en eventos para actualizar entradas cuando los datos subyacentes cambian.
Además, realizamos verificaciones periódicas para determinar la validez de las respuestas en caché, utilizando análisis de similitud para garantizar que las respuestas mantengan relevancia.
Resultado final y recomendaciones
Después de tres meses, observamos que el 0.8% de los aciertos eran incorrectos, pero esta tasa estaba dentro de un límite aceptable. El impacto del caching semántico fue positivo, como se evidenció por la mejora del 65% en la latencia media, además de la sustancial reducción de costos.
Para garantizar eficiencia, es crucial ajustar umbrales específicos para cada tipo de consulta, mantener un método de invalidación activo y evitar que datos desactualizados sean presentados a los usuarios.
Sreenivasa Reddy Hulebeedu Reddy es ingeniero de software líder.
Contenido seleccionado y editado con asistencia de IA. Fuentes originales referenciadas arriba.


