La cache dei prompt è una tecnica di ottimizzazione utilizzata principalmente con i Large Language Models (LLM) e altri modelli generativi di intelligenza artificiale (AI). Consiste nel memorizzare i risultati dell'elaborazione di uno specifico prompt di input (o di parti di esso) in modo che se lo stesso prompt o un prompt molto simile viene ricevuto di nuovo, il risultato memorizzato può essere rapidamente recuperato e riutilizzato invece di essere calcolato di nuovo da zero. Questo riduce significativamente la latenza dell'inferenza, abbassa i costi computazionali associati all'esecuzione di modelli potenti come il GPT-4 e migliora l'efficienza complessiva e la scalabilità delle applicazioni di intelligenza artificiale.
Come funziona la cache dei prompt
Quando un LLM elabora un prompt, passa attraverso diverse fasi computazionali, tra cui la tokenizzazione e calcoli complessi all'interno dei suoi strati di rete neurale, spesso coinvolgendo meccanismi di attenzione. La cache dei prompt solitamente memorizza lo stato computazionale intermedio (come le coppie chiave-valore negli strati di attenzione dell'architettura Transformer, spesso indicati come cache KV) associato a un determinato prompt o a un prefisso di un prompt. Quando arriva un nuovo prompt, il sistema controlla se il suo prefisso corrisponde a un prompt precedentemente elaborato e memorizzato nella cache. Se viene trovata una corrispondenza, viene recuperato lo stato intermedio memorizzato nella cache, consentendo al modello di bypassare le fasi iniziali di calcolo e di iniziare a generare la risposta a partire dallo stato salvato. Questa soluzione è particolarmente efficace nell'IA conversazionale o in scenari in cui i messaggi hanno un inizio comune. I sistemi utilizzano spesso archivi di valori-chiave come Redis o Memcached per gestire in modo efficiente queste cache.
Vantaggi del Prompt Caching
L'implementazione della cache immediata offre diversi vantaggi:
- Latenza ridotta: Accelera notevolmente i tempi di risposta per le richieste ripetute o simili, migliorando l'esperienza dell'utente nelle applicazioni interattive come i chatbot.
- Riduzione dei costi di calcolo: Riduce il carico su hardware costoso come le GPU, consentendo di risparmiare sui costi, soprattutto quando si utilizzano risorse di cloud computing o chiamate API a LLM commerciali.
- Miglioramento del throughput: Permette al sistema di gestire un maggior numero di richieste contemporaneamente, poiché le risorse si liberano più velocemente.
- Coerenza: Assicura risposte identiche per richieste identiche, il che può essere auspicabile in alcune applicazioni.
Applicazioni del mondo reale
Il caching immediato è prezioso in diversi sistemi guidati dall'intelligenza artificiale:
- IA conversazionale e assistenti virtuali: Nei sistemi come gli assistenti virtuali del servizio clienti, molte conversazioni iniziano con saluti simili o domande comuni (ad esempio, "Quali sono i vostri orari di lavoro?", "Come posso reimpostare la mia password?"). La memorizzazione nella cache dell'elaborazione iniziale di questi input comuni permette al sistema di rispondere molto più velocemente. Ad esempio, lo stato di elaborazione dopo aver gestito "Salve, ho bisogno di aiuto con..." può essere memorizzato nella cache e riutilizzato istantaneamente per più utenti che iniziano richieste simili. Esplora l'intelligenza artificiale nel servizio clienti.
- Piattaforme di generazione di contenuti: Gli strumenti utilizzati per la generazione di testo, come gli assistenti di scrittura o i generatori di codice, spesso ricevono richieste con istruzioni ricorrenti o prefissi contestuali (ad esempio, "Traduci il seguente testo in francese:", "Scrivi il codice Python per..."). La memorizzazione nella cache dello stato corrispondente a questi prefissi accelera il processo di generazione, particolarmente utile in ambienti interattivi o ad alto volume. Scopri i casi d'uso dell'IA generativa.
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 AI. La cache ottimizza l'esecuzione di questi prompt, indipendentemente dalla loro qualità.
- Arricchimento dei promemoria: Consiste nell'aggiungere 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 parameter-efficient fine-tuning (PEFT) che adattano il comportamento di un modello addestrando piccoli set di parametri aggiuntivi, personalizzando di fatto il modello per compiti specifici. La cache è un'ottimizzazione in tempo di inferenza che non modifica il 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 gli 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 il caching dei prompt sia prevalentemente associato ai LLM, il principio di base del caching dei calcoli potrebbe potenzialmente applicarsi a modelli multimodali complessi in cui i prompt testuali interagiscono con altre modalità, anche se è meno comune in compiti di computer vision standard come il rilevamento di oggetti utilizzando modelli quali Ultralytics YOLO(vedi confronto tra i modelli 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 negli ambienti di produzione(scopri le migliori pratiche di distribuzione).