
Reduza sua conta de LLM em 73% com caching semântico
TL;DR
O uso crescente de APIs de modelos de linguagem (LLM) tem gerado custos elevados. O caching semântico pode reduzir esses custos em até 73%.
O uso crescente de APIs de modelos de linguagem (LLM) pode levar a um aumento significativo nos custos. Umchamado billexato cresceu 30% por mês devido a perguntas repetidas dos usuários com diferentes formulações. Para abordar essa questão, implementamos o caching semântico, que resultou em uma redução de 73% nos custos da API.
Para entender a questão, analisamos os registros de consultas e descobrimos que perguntas como "Qual é a sua política de devolução?" e "Posso obter um reembolso?" estavam sendo tratadas como consultas separadas, mesmo gerando respostas similares. O caching por correspondência exata foi insuficiente, capturando apenas 18% dos casos redundantes.
Deficiência do caching por correspondência exata
O caching tradicional associa o texto da consulta como a chave do cache. Isso funciona para queries idênticas, mas usuários frequentemente reformulam perguntas. Um estudo com 100.000 consultas revelou que apenas 18% das perguntas eram duplicatas exatas, enquanto 47% eram semanticamente similares e 35% eram completamente novas.
Essas perguntas semelhantes estavam todos processando chamadas LLM, resultando em custos desnecessários. A implementação de um sistema de caching semântico, que observa o significado da consulta e não a sua formulação, aumentou nossa taxa de acerto de cache para 67%.
Arquitetura do caching semântico
A implementação do caching semântico substituiu as chaves de texto por um lookup baseado em similaridade por embedding em um espaço vetorial. O modelo de embedding é configurado para definir um limiar de similaridade, permitindo identificar consultas relevantes.
Se a consulta atual semanticamente corresponder a uma consulta armazenada, o sistema retorna a resposta cacheada, evitando a chamada total ao LLM. O ajuste do limiar é crucial. Limiares muito altos podem perder acertos, e limiares baixos podem levar a respostas incorretas.
Ajuste de limiar e resultados
Diferentes tipos de consultas exigem limiares distintos. Para consultas frequentes, como perguntas frequentes (FAQ), um limiar de 0.94 assegura alta precisão. Após testes, conseguimos configurar a cache adaptativa considerando o tipo de consulta.
Avaliamos o desempenho e otimizamos os limiares, obtendo um aumento na taxa de acertos para 67% e reduzindo custos de LLM de $47K para $12.7K/mês, uma redução significativa de 73%.
Desafios e estratégias de invalidação de cache
Uma vez que as informações mudam, as respostas armazenadas podem se tornar obsoletas. Implementamos três estratégias, incluindo a invalidação baseada em tempo, que define um tempo de vida (TTL) para diferentes tipos de conteúdo, e a invalidação com base em eventos para atualizar entradas quando os dados subjacentes mudam.
Além disso, realizamos verificações periódicas para determinar a validade das respostas em cache, utilizando análises de similaridade para garantir que as respostas mantenham relevância.
Resultante final e recomendações
Após três meses, observamos que 0,8% dos acertos estavam incorretos, mas essa taxa estava dentro de um limite aceitável. O impacto do caching semântico foi positivo, como evidenciado pela melhoria de 65% na latência média, além da substancial redução de custos.
Para garantir eficiência, é crucial ajustar limiares específicos para cada tipo de consulta, manter um método de invalidação ativo e evitar que dados desatualizados sejam apresentados aos usuários.
Sreenivasa Reddy Hulebeedu Reddy é engenheiro de software líder.
Conteudo selecionado e editado com assistencia de IA. Fontes originais referenciadas acima.


