Glossário

Cache de prompts

Aumenta a eficiência da IA com o caching imediato! Aprende a reduzir a latência, a cortar custos e a escalar aplicações de IA utilizando esta poderosa técnica.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O armazenamento em cache de mensagens é uma técnica de otimização utilizada principalmente com modelos de linguagem de grande dimensão (LLM) e outros modelos generativos de inteligência artificial (IA). Envolve o armazenamento dos resultados do processamento de um prompt de entrada específico (ou partes dele) para que, se o mesmo prompt ou um prompt muito semelhante for recebido novamente, o resultado armazenado possa ser rapidamente recuperado e reutilizado em vez de ser recalculado a partir do zero. Isto reduz significativamente a latência da inferência, diminui os custos computacionais associados à execução de modelos poderosos como o GPT-4 e melhora a eficiência geral e a escalabilidade das aplicações de IA.

Como funciona o cache de prompts

Quando uma LLM processa um prompt, passa por várias etapas computacionais, incluindo tokenização e cálculos complexos dentro de suas camadas de rede neural, muitas vezes envolvendo mecanismos de atenção. Normalmente, a cache de mensagens armazena o estado computacional intermédio (como pares chave-valor nas camadas de atenção da arquitetura Transformer, muitas vezes referida como a cache KV) associado a uma determinada mensagem ou a um prefixo de uma mensagem. Quando chega uma nova mensagem, o sistema verifica se o seu prefixo corresponde a uma mensagem previamente processada e armazenada em cache. Se for encontrada uma correspondência, o estado intermédio em cache é recuperado, permitindo ao modelo contornar os passos de computação iniciais e começar a gerar a resposta a partir desse estado guardado. Isto é particularmente eficaz na IA conversacional ou em cenários em que os pedidos partilham inícios comuns. Os sistemas utilizam frequentemente armazenamentos de valores chave como o Redis ou o Memcached para gerir estas caches de forma eficiente.

Vantagens do Prompt Caching

A implementação do caching imediato oferece várias vantagens:

  • Latência reduzida: Acelera significativamente os tempos de resposta para consultas repetidas ou semelhantes, melhorando a experiência do utilizador em aplicações interactivas como os chatbots.
  • Reduz os custos computacionais: Diminui a carga em hardware caro, como GPUs, levando à redução de custos, especialmente ao usar recursos de computação em nuvem ou chamadas de API para LLMs comerciais.
  • Melhora o rendimento: Permite que o sistema trate mais pedidos em simultâneo, uma vez que os recursos são libertados mais rapidamente.
  • Consistência: Garante respostas idênticas para pedidos idênticos, o que pode ser desejável em certas aplicações.

Aplicações no mundo real

O armazenamento em cache imediato é valioso em vários sistemas orientados para a IA:

  1. IA de conversação e assistentes virtuais: Em sistemas como os assistentes virtuais de serviço ao cliente, muitas conversas começam com saudações semelhantes ou perguntas comuns (por exemplo, "Qual é o teu horário de funcionamento?", "Como posso redefinir a minha palavra-passe?"). O armazenamento em cache do processamento inicial dessas entradas comuns permite que o sistema responda muito mais rapidamente. Por exemplo, o estado de processamento após o tratamento de "Olá, preciso de ajuda com..." pode ser guardado em cache e reutilizado instantaneamente para vários utilizadores que iniciem pedidos semelhantes. Explora a IA no serviço ao cliente.
  2. Plataformas de criação de conteúdos: As ferramentas utilizadas para a geração de texto, como os assistentes de escrita ou os geradores de código, recebem frequentemente avisos com instruções recorrentes ou prefixos de contexto (por exemplo, "Traduz o seguinte texto para francês:", "Escreve código Python para..."). O armazenamento em cache do estado correspondente a estes prefixos acelera o processo de geração, especialmente útil em ambientes interactivos ou de grande volume. Sabe mais sobre casos de utilização de IA generativa.

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.
  • Prompt Enriquecimento: Envolve a adição de contexto ou o esclarecimento de informações ao prompt de um utilizador antes de ser enviado para o modelo. O armazenamento em cache ocorre durante ou após o modelo processar o prompt (potencialmente enriquecido).
  • Prompt Tuning 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, personalizando efetivamente o modelo para tarefas específicas. O armazenamento em cache é uma otimização do tempo de inferência que não altera o modelo em si.
  • 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, embora seja menos comum em tarefas normais de visão por computador, como a deteção de objectos utilizando modelos como Ultralytics YOLO(ver comparações de modelos 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(saiba mais sobre as práticas recomendadas de implantação).

Lê tudo