Muitas empresas estão vendo suas contas de interfaces de programação de aplicativos (APIs) de modelos de linguagem grandes (LLM) explodirem, impulsionadas por usuários fazendo as mesmas perguntas de maneiras diferentes, de acordo com Sreenivasa Reddy Hulebeedu Reddy, um desenvolvedor de aplicativos de IA. Reddy descobriu que os usuários frequentemente reformulavam as mesmas perguntas, causando chamadas redundantes ao LLM e incorrendo em custos desnecessários de API.
A análise de logs de consulta de Reddy revelou que os usuários estavam fazendo perguntas como "Qual é a sua política de devolução?", "Como devolvo algo?" e "Posso obter um reembolso?" separadamente, cada uma gerando respostas quase idênticas e incorrendo em custos totais de API. O cache tradicional de correspondência exata, que usa o texto da consulta como a chave do cache, provou ser ineficaz, capturando apenas 18% dessas chamadas redundantes. "A mesma pergunta semântica, expressa de forma diferente, ignorava o cache completamente", explicou Reddy.
Para resolver isso, Reddy implementou o cache semântico, uma técnica que se concentra no significado das consultas em vez de sua redação exata. O cache semântico analisa a intenção subjacente de uma pergunta e recupera a resposta do cache se uma consulta semanticamente semelhante já tiver sido processada. Após implementar o cache semântico, Reddy relatou um aumento na taxa de acertos do cache para 67%, resultando em uma redução de 73% nos custos de API do LLM.
O principal desafio com o cache tradicional reside em sua dependência de correspondências exatas. Como Reddy ilustrou, o cache tradicional usa um hash do texto da consulta como a chave do cache. Se a chave existir no cache, a resposta em cache é retornada; caso contrário, a consulta é processada pelo LLM. Essa abordagem falha quando os usuários formulam perguntas de forma diferente, mesmo que o significado subjacente seja o mesmo.
O cache semântico representa um avanço significativo na otimização do uso da API do LLM. Ao entender o significado semântico das consultas, ele pode reduzir drasticamente as chamadas redundantes e diminuir os custos. No entanto, a implementação eficaz do cache semântico requer uma consideração cuidadosa de vários fatores, incluindo a escolha de algoritmos de similaridade semântica e o gerenciamento da invalidação do cache. O desenvolvimento destaca a importância de ir além de soluções de cache simples baseadas em texto para métodos mais sofisticados que entendam as nuances da linguagem humana.
Discussion
Join the conversation
Be the first to comment