Aumente a eficiência da IA com o cache de prompts! Aprenda como reduzir a latência, cortar custos e dimensionar aplicativos de IA usando esta técnica poderosa.
O caching de prompts é uma técnica de otimização especializada utilizada na implementação de grandes modelos de linguagem (LLMs) para para reduzir significativamente a latência da inferência e custos computacionais. No contexto da IA generativa, o processamento de um prompt envolve a conversão de texto em representações numéricas e o cálculo das relações entre cada token utilizando um mecanismo de atenção. Quando uma parte substancial Quando uma parte substancial de um pedido - como uma instrução longa do sistema ou um conjunto de exemplos - permanece estática em vários pedidos, o permite ao sistema armazenar os estados matemáticos intermédios (especificamente pares chave-valor) desse texto estático. texto estático. Em vez de voltar a calcular estes estados para cada nova consulta, o motor de inferência recupera-os da memória, permitindo que o modelo concentre o seu poder de processamento apenas nas partes novas e dinâmicas da entrada.
O mecanismo central por detrás do armazenamento em cache de mensagens depende da gestão eficiente da janela de contexto de forma eficiente. Quando um LLM processa a entrada, gera uma "Cache KV" (Key-Value Cache) que representa o entendimento do modelo sobre o texto até texto até esse momento. A cache de prompts trata o segment inicial do prompt (o prefixo) como um ativo reutilizável.
O cache imediato está transformando a maneira como os desenvolvedores criam e dimensionam aplicações de aprendizagem automática (ML), particularmente aquelas que envolvem processamento pesado de texto.
Embora o armazenamento em cache seja interno aos servidores de inferência LLM, a compreensão da estrutura de dados ajuda a clarificar o conceito. A "cache" armazena essencialmente tensores (matrizes multidimensionais) que representam os estados de atenção.
O seguinte trecho de Python usando torch demonstra a forma e o conceito de um tensor de cache Chave-Valor,
que é o que é armazenado e reutilizado durante o cache imediato:
import torch
# Simulate a KV Cache tensor for a transformer model
# Shape: (Batch_Size, Num_Heads, Sequence_Length, Head_Dim)
batch_size, num_heads, seq_len, head_dim = 1, 32, 1024, 128
# Create a random tensor representing the pre-computed state of a long prompt
kv_cache_state = torch.randn(batch_size, num_heads, seq_len, head_dim)
print(f"Cached state shape: {kv_cache_state.shape}")
print(f"Number of cached parameters: {kv_cache_state.numel()}")
# In practice, this tensor is passed to the model's forward() method
# to skip processing the first 1024 tokens.
É importante diferenciar o prompt caching de outros termos do glossário glossárioUltralytics para aplicar a estratégia de otimização correta.
Embora a memorização de pedidos seja nativa do Processamento de linguagem natural (PNL), os princípios de eficiência são universais. Na visão computacional (CV), modelos como YOLO11 são optimizados arquitetonicamente para a velocidade, assegurando que as tarefas de deteção de objectos atinjam taxas de de quadros sem precisar do mesmo tipo de cache de estado usado em modelos de linguagem autorregressivos. No entanto, à medida que modelos multimodais evoluem para processar vídeo e texto em conjunto, o armazenamento em cache de tokens visuais está a tornar-se uma área emergente de investigação descrita em artigos no arXiv.