Glossario

Caching dei prompt

Aumentate l'efficienza dell'intelligenza artificiale con la cache immediata! Scoprite come ridurre la latenza, tagliare i costi e scalare le app di intelligenza artificiale utilizzando questa potente tecnica.

La cache dei prompt è una tecnica di ottimizzazione utilizzata principalmente con i Large Language Models (LLM) per accelerare il processo di inferenza. Funziona memorizzando i risultati computazionali intermedi, in particolare gli stati chiave-valore (KV) nel meccanismo di attenzione, di una parte iniziale di un prompt. Quando un nuovo prompt condivide lo stesso inizio (prefisso), il modello può riutilizzare questi stati nella cache invece di ricompilarli, riducendo significativamente la latenza e il carico computazionale necessario per generare una risposta. Ciò è particolarmente efficace nelle applicazioni che coinvolgono l'intelligenza artificiale conversazionale o le interrogazioni ripetitive.

Come funziona la cache dei prompt

Quando un LLM elabora una sequenza di testo, come una frase o un paragrafo, calcola i punteggi di attenzione per ogni token nella sua finestra di contesto. Si tratta di una parte del processo molto costosa dal punto di vista computazionale, soprattutto nel caso di prompt lunghi. L'idea alla base della memorizzazione nella cache dei prompt, spesso chiamata KV cache, è di evitare il lavoro ridondante. Se il modello ha già elaborato la frase "Traduci il seguente testo inglese in francese:", memorizza lo stato interno risultante. Quando in seguito riceve la richiesta "Traduci il seguente testo inglese in francese: 'Ciao, mondo!'", può caricare lo stato della cache per la frase iniziale e iniziare il calcolo solo per la nuova parte, "'Ciao, mondo!". Questo rende il processo di generazione del testo molto più veloce per le successive richieste simili. Sistemi come vLLM sono progettati per gestire in modo efficiente questo processo, migliorando il throughput complessivo.

Applicazioni del mondo reale

La cache dei prompt è un'ottimizzazione cruciale per molti sistemi di intelligenza artificiale del mondo reale, che migliora l'esperienza dell'utente fornendo risposte più rapide.

  • Chatbot interattivi e assistenti virtuali: In una conversazione tra chatbot, ogni turno si basa sugli scambi precedenti. La memorizzazione nella cache della cronologia delle conversazioni come prefisso consente al modello di generare la risposta successiva senza rielaborare l'intero dialogo, con il risultato di un'interazione molto più fluida e reattiva. Questo aspetto è fondamentale per le prestazioni dei moderni assistenti virtuali.
  • Generazione e completamento del codice: Gli assistenti di codifica dotati di intelligenza artificiale, come GitHub Copilot, utilizzano spesso la cache. Il codice esistente in un file funge da prompt lungo. Mettendo in cache gli stati KV di questo codice, il modello può generare rapidamente suggerimenti per la riga successiva o completare una funzione senza dover analizzare nuovamente l'intero file ogni volta che viene digitato un carattere, rendendo possibile l'inferenza in tempo reale.

Caching dei prompt e concetti correlati

È utile distinguere il prompt caching da altre tecniche correlate:

  • Ingegneria tempestiva: Si concentra sulla progettazione di prompt efficaci per suscitare le risposte desiderate dal modello di intelligenza artificiale. La cache ottimizza l'esecuzione di questi prompt, indipendentemente dalla loro qualità.
  • Arricchimento dei promemoria: Comporta l'aggiunta di informazioni contestuali o chiarificatrici al prompt dell'utente prima che venga inviato al modello. La memorizzazione nella cache avviene durante o dopo che il modello elabora il prompt (potenzialmente arricchito).
  • Sintonizzazione del prompt e LoRA: Si tratta di metodi di messa a punto efficiente dei parametri (PEFT) che adattano il comportamento di un modello addestrando piccole serie di parametri aggiuntivi. La cache è un'ottimizzazione in tempo di inferenza che non modifica i pesi del modello stesso.
  • Generazione aumentata dal recupero (RAG): Migliora i prompt recuperando informazioni rilevanti da basi di conoscenza esterne e aggiungendole al contesto del prompt. Mentre RAG modifica l'input, la cache può ancora essere applicata all'elaborazione del prompt combinato (query originale + dati recuperati).
  • Caching dell'output standard: il caching web tradizionale memorizza l'output finale di una richiesta. La cache dei prompt spesso memorizza stati computazionali intermedi all'interno della pipeline di elaborazione del modello, consentendo un riutilizzo più flessibile, soprattutto per i prompt che condividono prefissi comuni ma hanno finali diversi.

Sebbene la memorizzazione nella cache dei prompt sia prevalentemente associata ai LLM, il principio di base della memorizzazione nella cache dei calcoli potrebbe essere applicato a modelli multimodali complessi in cui i prompt testuali interagiscono con altre modalità. Tuttavia, è meno comune nei compiti di computer vision (CV) standard, come il rilevamento degli oggetti, utilizzando modelli come Ultralytics YOLO. Piattaforme come Ultralytics HUB semplificano la distribuzione e la gestione dei modelli di intelligenza artificiale, dove ottimizzazioni come il caching possono essere fondamentali per le prestazioni in ambienti di produzione.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti