Glossário

Cache de prompts

Aumente a eficiência da IA com o cache imediato! Saiba como reduzir a latência, cortar custos e escalar aplicativos de IA usando essa técnica poderosa.

A memorização de prompts é uma técnica de otimização utilizada principalmente com modelos de linguagem extensa (LLM) para acelerar o processo de inferência. Funciona armazenando os resultados computacionais intermédios, especificamente os estados chave-valor (KV) no mecanismo de atenção, de uma parte inicial de um prompt. Quando um novo pedido partilha o mesmo início (prefixo), o modelo pode reutilizar estes estados em cache em vez de os recalcular, reduzindo significativamente a latência e a carga computacional necessária para gerar uma resposta. Isto é especialmente eficaz em aplicações que envolvem IA de conversação ou consultas repetitivas.

Como funciona o cache de prompts

Quando um LLM processa uma sequência de texto, como uma frase ou um parágrafo, calcula as pontuações de atenção para cada token na sua janela de contexto. Esta parte do processo é computacionalmente dispendiosa, especialmente no caso de mensagens longas. A ideia central por detrás da memorização de mensagens, frequentemente designada por memorização KV, é evitar trabalho redundante. Se o modelo já tiver processado a frase "Traduzir para francês o seguinte texto em inglês:", armazena o estado interno resultante. Quando mais tarde recebe a mensagem "Traduzir o seguinte texto em inglês para francês: 'Olá, mundo!'", pode carregar o estado em cache para a frase inicial e começar a calcular apenas a nova parte, "'Olá, mundo!'". Isto torna o processo de geração de texto muito mais rápido para pedidos subsequentes e semelhantes. Sistemas como o vLLM são projetados para gerenciar eficientemente esse processo, melhorando o rendimento geral.

Aplicações no mundo real

O caching de prompts é uma otimização crucial para muitos sistemas de IA do mundo real, melhorando a experiência do utilizador ao fornecer respostas mais rápidas.

  • Chatbots interactivos e assistentes virtuais: Numa conversa de chatbot, cada turno baseia-se em trocas anteriores. O armazenamento em cache do histórico da conversação como um prefixo permite que o modelo gere a resposta seguinte sem reprocessar todo o diálogo, o que conduz a uma interação muito mais fluida e reactiva. Isto é fundamental para o desempenho dos assistentes virtuais modernos.
  • Geração e conclusão de código: Os assistentes de codificação alimentados por IA, como o GitHub Copilot, usam frequentemente o cache. O código existente em um arquivo serve como um longo prompt. Ao armazenar em cache os estados KV desse código, o modelo pode gerar rapidamente sugestões para a próxima linha ou concluir uma função sem precisar reanalisar o arquivo inteiro sempre que um caractere é digitado, possibilitando a inferência em tempo real.

Cache de prompts vs. conceitos relacionados

É útil distinguir o caching imediato de outras técnicas relacionadas:

  • Engenharia rápida: Concentra-se na conceção de prompts eficazes para obter as respostas desejadas do modelo de IA. O armazenamento em cache optimiza a execução destes prompts, independentemente da forma como são concebidos.
  • Enriquecimento de prompts: Envolve a adição de contexto ou de informações de esclarecimento ao pedido de um utilizador antes de este ser enviado para o modelo. O armazenamento em cache ocorre durante ou após o modelo processar o prompt (potencialmente enriquecido).
  • Ajuste do prompt e LoRA: Estes são métodos de afinação eficiente de parâmetros (PEFT) que adaptam o comportamento de um modelo através do treino de pequenos conjuntos de parâmetros adicionais. O armazenamento em cache é uma otimização em tempo de inferência que não altera os pesos do modelo.
  • Geração Aumentada por Recuperação (RAG): Melhora os pedidos recuperando informações relevantes de bases de conhecimento externas e adicionando-as ao contexto do pedido. Embora o RAG modifique a entrada, o armazenamento em cache pode ainda ser aplicado ao processamento do pedido combinado (consulta original + dados recuperados).
  • Cache de saída padrão: O cache tradicional da Web armazena a saída final de uma solicitação. O cache de prompts geralmente armazena estados computacionais intermediários dentro do pipeline de processamento do modelo, permitindo uma reutilização mais flexível, especialmente para prompts que compartilham prefixos comuns, mas têm finais diferentes.

Embora a memorização de mensagens esteja predominantemente associada aos LLM, o princípio subjacente à memorização de cálculos pode aplicar-se potencialmente a modelos multimodais complexos em que as mensagens de texto interagem com outras modalidades. No entanto, é menos comum em tarefas normais de visão por computador (CV), como a deteção de objectos utilizando modelos como o Ultralytics YOLO. Plataformas como o Ultralytics HUB simplificam a implantação e o gerenciamento de modelos de IA, onde otimizações como o armazenamento em cache podem ser cruciais para o desempenho em ambientes de produção.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência