Aumenta l'efficienza dell'AI con il prompt caching! Scopri come ridurre la latenza, tagliare i costi e scalare le app AI utilizzando questa potente tecnica.
La cache dei prompt è una tecnica di ottimizzazione specializzata utilizzata nell'implementazione di modelli linguistici di grandi dimensioni (LLM) per ridurre in modo significativo la latenza dell'inferenza e costi computazionali. Nel contesto dell'intelligenza artificiale generativa, l'elaborazione di un prompt implica la conversione del testo in rappresentazioni numeriche e il calcolo delle relazioni tra ogni token utilizzando un meccanismo di attenzione. Quando una parte sostanziale di un prompt, come una lunga istruzione di sistema o un insieme di esempi, rimane statica in più richieste, la cache del prompt consente al sistema di memorizzare gli stati matematici intermedi cache consente al sistema di memorizzare gli stati matematici intermedi (in particolare le coppie chiave-valore) di quel testo statico. testo statico. Invece di ricalcolare questi stati per ogni nuova query, il motore di inferenza motore di inferenza li recupera dalla memoria, consentendo al modello di concentrare la sua potenza di elaborazione solo sulle parti nuove e dinamiche dell'input.
Il meccanismo di base della cache dei prompt si basa sulla gestione efficiente della finestra di contesto in modo efficiente. Quando un LLM elabora un di input, genera una "KV Cache" (Key-Value Cache) che rappresenta la comprensione del testo da parte del modello fino a quel momento. fino a quel momento. La cache del prompt tratta il segment iniziale del prompt (il prefisso) come una risorsa riutilizzabile.
Il caching immediato sta trasformando il modo in cui gli sviluppatori costruiscono e scalano le applicazioni di machine learning (ML). applicazioni di apprendimento automatico (ML), in particolare quelle che prevedono un'intensa elaborazione del testo.
Sebbene la cache dei prompt sia interna ai server di inferenza LLM, la comprensione della struttura dei dati aiuta a chiarire il concetto. La "cache" memorizza essenzialmente dei tensori (array multidimensionali) che rappresentano gli stati di attenzione.
Il seguente snippet Python che utilizza torch dimostra la forma e il concetto di tensor di cache chiave-valore,
che è ciò che viene memorizzato e riutilizzato durante la cache immediata:
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 distinguere il prompt caching da altri termini del glossario di Ultralytics per applicare la corretta strategia di ottimizzazione. Ultralytics per applicare la strategia di ottimizzazione corretta.
Mentre il prompt caching è nativo di elaborazione del linguaggio naturale (NLP), principi di efficienza sono universali. In visione artificiale (CV), modelli come YOLO11 sono ottimizzati architettonicamente per la velocità, assicurando che di rilevazione degli oggetti di raggiungere un'elevata velocità di senza dover ricorrere allo stesso tipo di cache di stato utilizzato nei modelli linguistici autoregressivi. Tuttavia, man mano che modelli multimodali si evolvono per elaborare insieme video e testo, la memorizzazione nella cache dei token visivi sta diventando un'area di ricerca emergente, descritta nei documenti su arXiv.