Prompt Caching
Descobre como o armazenamento em cache de prompts otimiza a IA generativa ao reduzir a latência e os custos. Aprende o seu papel em LLMs e na visão computacional em tempo real com o Ultralytics YOLO26.
O cache de prompts é uma estratégia avançada de otimização usada principalmente em IA generativa para reduzir significativamente os custos e melhorar os tempos de resposta durante a inferência. No âmbito dos modelos de linguagem de grande dimensão (LLMs), o processamento de texto exige a conversão das entradas em sequências numéricas conhecidas como tokens. Frequentemente, uma grande parte dos dados de entrada — como uma instrução de sistema detalhada, um documento jurídico extenso ou uma base de código — permanece estática em muitas consultas diferentes dos usuários. Em vez de reprocessar essas seções inalteradas a cada nova solicitação, o cache de prompts armazena em memória os estados matemáticos pré-computados, frequentemente chamados de cache de Key-Value. Isso permite que o mecanismo de inferência ignore cálculos redundantes, concentrando o poder computacional apenas nas partes novas e dinâmicas do prompt do usuário.
Mecanismos e benefícios#
A mecânica fundamental do cache de prompts depende da arquitetura dos Transformers, que processam os dados sequencialmente. Ao identificar o prefixo repetitivo de um prompt, o sistema pode carregar diretamente da memória de alta velocidade os estados correspondentes do mecanismo de atenção.
- Latência reduzida: O cache reduz drasticamente a latência de inferência, especificamente o tempo até ao primeiro token (TTFT). Isso garante que aplicações em tempo real, como chatbots interativos, pareçam instantâneas para o usuário.
- Eficiência de custos: Como os provedores de computação na nuvem geralmente cobram com base na duração da computação ou no processamento de tokens, ignorar o processamento pesado do contexto estático gera economias substanciais.
- Maior throughput: Ao liberar recursos de GPU, os servidores podem processar um volume maior de solicitações simultâneas, tornando toda a infraestrutura de disponibilização de modelos mais escalável.
Aplicações no mundo real#
O cache de prompts está transformando setores que dependem de contextos de dados extensos.
-
Assistentes de programação: No desenvolvimento de software, ferramentas como o GitHub Copilot utilizam grandes quantidades de contexto dos arquivos abertos pelo usuário e da estrutura do repositório. Ao armazenar em cache os embeddings da base de código, o modelo pode fornecer sugestões de conclusão de código em tempo real sem reanalisar toda a estrutura de arquivos do projeto a cada tecla pressionada.
-
Análise jurídica e médica: Os profissionais frequentemente consultam agentes de IA com base em documentos estáticos extensos, como arquivos de jurisprudência ou registros do histórico dos pacientes. Usando a geração aumentada por recuperação (RAG), o sistema recupera trechos de texto relevantes. O cache de prompts garante que o contexto fundamental desses documentos recuperados não precise ser recalculado para perguntas de acompanhamento, simplificando o fluxo de trabalho de resposta a perguntas.
Relevância na Visão Computacional#
Embora tradicionalmente associado ao texto, o conceito de cache é vital na visão computacional (CV) multimodal. Modelos como o YOLO-World permitem que os usuários detetem objetos usando prompts de texto de vocabulário aberto. Quando um usuário define uma lista de classes (por exemplo, "pessoa, mochila, carro"), o modelo calcula embeddings de texto para essas classes. Armazenar esses embeddings em cache evita que o modelo precise recodificar os prompts de texto para cada quadro de vídeo, permitindo uma inferência em tempo real de alta velocidade.
Distinguir Termos Relacionados#
- Em comparação com o Prompt Engineering: o prompt engineering envolve o esforço humano de criar a entrada de texto ideal para orientar o modelo. O cache de prompts é uma otimização computacional de back-end que armazena o processamento desse texto realizado pela máquina.
- Em comparação com o Prompt Tuning: o prompt tuning é uma técnica de aprendizagem por transferência que atualiza pesos específicos do modelo (soft prompts) para adaptar um modelo a uma tarefa. O cache não altera os parâmetros do modelo; apenas memoriza os estados de ativação durante a execução.
Exemplo de código: armazenamento em cache de embeddings de texto em visão computacional#
O trecho de código Python a seguir demonstra o conceito de "armazenar um prompt em cache" num contexto de visão computacional usando o pacote ultralytics. Ao definir as classes uma vez num modelo YOLO-World, os embeddings de texto são calculados e armazenados (persistidos), permitindo que o modelo faça previsões com eficiência em várias imagens sem reprocessar a descrição de texto.
from ultralytics import YOLOWorld
# Load a YOLO-World model capable of open-vocabulary detection
model = YOLOWorld("yolov8s-world.pt")
# "Cache" the prompt: Define classes once.
# The model computes and stores text embeddings for these specific terms.
model.set_classes(["helmet", "reflective vest", "gloves"])
# Run inference repeatedly. The text prompt is not re-computed for each call.
# This mimics the efficiency gains of prompt caching in LLMs.
results_1 = model.predict("construction_site_1.jpg")
results_2 = model.predict("construction_site_2.jpg")Para gerir conjuntos de dados e implementar esses modelos otimizados, a Ultralytics Platform fornece um ambiente abrangente para anotar dados, treinar modelos de última geração como o YOLO26 e monitorizar o desempenho da implementação em vários dispositivos de IA de edge.









