¡Aumente la eficiencia de la IA con el almacenamiento en caché de prompts! Aprenda a reducir la latencia, recortar costos y escalar aplicaciones de IA utilizando esta poderosa técnica.
La caché de avisos es una técnica de optimización especializada utilizada en el despliegue de grandes modelos lingüísticos (LLM) para reducir significativamente la latencia de inferencia y y los costes computacionales. En el contexto de la IA generativa, procesar un prompt implica convertir el texto en representaciones numéricas y calcular las relaciones entre cada símbolo mediante un mecanismo de atención. Cuando una parte sustancial Cuando una parte sustancial de una solicitud -como una instrucción larga del sistema o un conjunto de ejemplos- permanece estática en varias solicitudes, el almacenamiento en caché de la solicitud permite que el sistema almacene los datos matemáticos intermedios en la memoria caché. permite al sistema almacenar los estados matemáticos intermedios (en concreto, pares clave-valor) de ese texto estático. estático. En lugar de volver a calcular estos estados para cada nueva consulta, el motor de inferencia los recupera de la memoria, De este modo, el modelo puede centrar su capacidad de procesamiento únicamente en las partes nuevas y dinámicas de la entrada.
El mecanismo central de la caché de avisos se basa en la gestión eficiente de la ventana contextual. ventana de contexto. Cuando un LLM procesa genera una "Caché KV" (Caché Clave-Valor) que representa la comprensión que el modelo tiene del texto hasta ese momento. texto hasta ese momento. La caché de avisos trata el segment inicial del aviso (el prefijo) como un activo reutilizable.
Prompt caching está transformando la forma en que los desarrolladores construyen y escalan aplicaciones de aprendizaje automático (ML), en particular las que implican un procesamiento de texto pesado.
Aunque el almacenamiento en caché de los estados de atención es interno a los servidores de inferencia LLM, entender la estructura de datos ayuda a aclarar el concepto. La "caché" almacena esencialmente tensores (matrices multidimensionales) que representan los estados de atención.
El siguiente fragmento de Python que utiliza torch demuestra la forma y el concepto de un tensor caché Clave-Valor,
que es lo que se almacena y reutiliza durante la caché rápida:
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.
Es importante diferenciar el prompt caching de otros términos del glosario de glosario deUltralytics para aplicar la estrategia de optimización correcta.
Mientras que la caché de avisos es nativa del Procesamiento del Lenguaje Natural (PLN), los principios de eficiencia son universales. En visión por ordenador (CV), modelos como YOLO11 están optimizados arquitectónicamente para la velocidad que las tareas de detección de objetos sin necesidad del mismo tipo de caché de estado que se utiliza en los modelos autorregresivos de lenguaje. Sin embargo, a medida que los modelos multimodales evolucionan para procesar texto, el almacenamiento en caché de tokens visuales se está convirtiendo en un área emergente de investigación descrita en artículos en arXiv.