Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Prompt Caching

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.

Meccanismi e benefici

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.

  • Riduzione della latenza: Saltando il calcolo per il prefisso nella cache, il Tempo al primo token (TTFT) viene drasticamente accorciato, portando a risposte più rapide negli scenari di scenari di inferenza in tempo reale.
  • Efficienza dei costi: Da quando unità di elaborazione grafica (GPU) passano meno tempo a elaborare token ridondanti, le risorse di calcolo complessive necessarie per ogni richiesta diminuiscono, riducendo così i costi operativi dell'esecuzione i costi operativi dell'esecuzione di servizi di servizi di intelligenza artificiale (AI).
  • Aumento del throughput: I sistemi sono in grado di gestire un volume maggiore di richieste simultanee perché l'onere computazionale per ogni singola richiesta è ridotto al minimo. carico computazionale per ogni singola richiesta.

Applicazioni nel mondo reale

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.

  1. Assistenti di codifica consapevoli del contesto: Negli strumenti che forniscono il completamento del codice, l'intero contenuto del file corrente e le librerie di riferimento file corrente e delle librerie di riferimento spesso serve come contesto di richiesta. Questo "prefisso" può essere lungo migliaia di token. Utilizzando la cache del prompt, l'assistente può memorizzare lo stato del file. Mentre lo sviluppatore digita (aggiungendo nuovi token), il modello elabora solo i nuovi caratteri anziché rileggere l'intera struttura del file, consentendo di ottenere tempi di risposta inferiori al secondo. tempi di risposta al di sotto del secondo, come si vede nei moderni ambienti di sviluppo integrati (IDE).
  2. Analisi dei documenti e domande e risposte: Consideriamo un sistema progettato per rispondere a domande su un manuale PDF di 50 pagine. di 50 pagine. Utilizzando Retrieval-Augmented Generation (RAG), il testo del manuale viene inserito nel modello. Senza la cache, ogni volta che un utente pone una domanda, il modello deve rielaborare l'intero manuale e la domanda. Con il prompt caching, il pesante lavoro computazionale di comprensione del manuale manuale viene svolto una sola volta e memorizzato. Le domande successive vengono aggiunte a questo stato di cache, rendendo l'interazione con la risposta alle domande interazione di risposta alle domande fluida ed efficiente. efficiente.

Concetto di implementazione tecnica

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.

Distinguere i concetti correlati

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

  • Vs. Ingegneria del prompt: L'ingegnerizzazione del prompt si concentra sull'elaborazione del contenuto e della struttura del testo in ingresso per suscitare la risposta migliore. La cache dei prompt si concentra sull'ottimizzazione dell'esecuzione computazionale di tale input.
  • Vs. Ricerca semantica: La ricerca semantica (spesso utilizzata nei risultati della cache) cerca query simili per restituire una risposta pre-scritta. risposta pre-scritta. Il Prompt caching esegue comunque il modello per generare una risposta unica, ma semplicemente lettura del contesto di ingresso.
  • Vs. Messa a punto: Il fine-tuning modifica in modo permanente i pesi del modello per apprendere nuove informazioni. La cache non modifica i pesi del modello, ma memorizza temporaneamente gli stati di attivazione di una specifica sessione di input. sessione.
  • Vs. Quantizzazione del modello: La quantizzazione riduce la precisione dei parametri del modello per risparmiare memoria e accelerare l'inferenza in generale. La cache dei prompt è un'ottimizzazione del runtime specifica per i dati di ingresso, spesso usata insieme alla quantizzazione. quantizzazione.

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.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora