Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Almacenamiento en caché de prompts

¡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.

Mecanismos y beneficios

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.

  • Reducción de la latencia: Al omitir el cálculo del prefijo almacenado en caché, el Tiempo hasta el primer token (TTFT) (TTFT) se acorta drásticamente, lo que da lugar a respuestas más rápidas en inferencia en tiempo real.
  • Rentabilidad: Desde unidades de procesamiento gráfico (GPU) (GPU) dedican menos tiempo a procesar fichas redundantes, los recursos informáticos totales necesarios por solicitud disminuyen, lo que reduce el gasto operativo de los servicios servicios de inteligencia artificial (IA).
  • Mayor rendimiento: Los sistemas pueden gestionar un mayor volumen de solicitudes concurrentes porque la carga computacional de cada solicitud individual se reduce al mínimo. carga computacional de cada solicitud individual se reduce al mínimo.

Aplicaciones en el mundo real

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.

  1. Asistentes de codificación conscientes del contexto: En las herramientas que proporcionan finalización de código, todo el contenido del archivo actual y las bibliotecas a las que se hace referencia sirve a menudo como contexto de consulta. Este "prefijo" puede tener miles de tokens. Mediante el almacenamiento en caché, el asistente puede almacenar en caché el estado del archivo. A medida que el desarrollador escribe (añadiendo (añadiendo nuevos tokens), el modelo sólo procesa los nuevos caracteres en lugar de releer toda la estructura del archivo, lo que permite los tiempos de respuesta por debajo del segundo que se ven en los modernos entornos de desarrollo integrados (IDE).
  2. Análisis de documentos y preguntas y respuestas: Considere un sistema diseñado para responder a preguntas sobre un manual en PDF de 50 páginas de 50 páginas. Utilizando Retrieval-Augmented Generation (RAG), el texto del manual se introduce en el modelo. Sin almacenamiento en caché, cada vez que un usuario formula una pregunta, el modelo debe volver a procesar todo el manual y la pregunta. Con la caché rápida, el pesado trabajo computacional de comprender el manual se realiza una vez y se almacena. Las preguntas posteriores se añaden a este estado almacenado en caché, lo que hace que la interacción de respuesta a las preguntas sea fluida y sencilla. que la interacción de respuesta sea fluida y fluida y eficaz.

Concepto de aplicación técnica

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.

Distinguir conceptos relacionados

Es importante diferenciar el prompt caching de otros términos del glosario de glosario deUltralytics para aplicar la estrategia de optimización correcta.

  • Vs. Ingeniería de instrucciones: La ingeniería de instrucciones se centra en la elaboración del contenido y la estructura del texto para obtener la mejor respuesta. la mejor respuesta. La caché de instrucciones se centra en optimizar la ejecución computacional de esa entrada.
  • Vs. Búsqueda semántica: La búsqueda semántica (a menudo utilizada en las salidas de caché) busca consultas similares para devolver una respuesta preescrita respuesta. La caché de petición sigue ejecutando el modelo para generar una respuesta única; simplemente avanza rápidamente en la lectura del contexto de entrada. la lectura del contexto de entrada.
  • Vs. Ajuste fino: El ajuste fino altera permanentemente pesos del modelo para aprender nueva información. Preguntar no cambia los pesos del modelo, sino que almacena temporalmente los estados de activación de una sesión específica de entrada. sesión.
  • Vs. Cuantización del modelo: La cuantificación reduce la precisión de los parámetros del modelo para ahorrar memoria y acelerar la inferencia en general. El almacenamiento en caché es una optimización en tiempo de ejecución específica para los datos de entrada, que a menudo se utiliza junto con la cuantificación. cuantificación.

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.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora