Memorizzazione nella cache dei prompt: come ridurre i costi delle chiamate ripetute
Se la tua applicazione invia la stessa grande porzione di testo all'inizio di ogni richiesta, un lungo prompt di sistema, un documento, una serie di esempi, stai pagando il prezzo intero per rielaborarlo ogni volta. La memorizzazione nella cache immediata consente al provider di archiviare quella porzione ripetuta e di addebitarti molto meno per riutilizzarla. Usato bene, può ridurre drasticamente i costi di input su carichi di lavoro ripetitivi.
Cosa fa effettivamente la memorizzazione nella cache
Quando un modello elabora l'input, la maggior parte del lavoro avviene sui token di input prima di generare una singola parola di output. La memorizzazione nella cache dei prompt salva lo stato elaborato di un prefisso del prompt in modo che il prefisso identico non debba essere elaborato nuovamente alla chiamata successiva.
La parola chiave è prefisso. La memorizzazione nella cache funziona all'inizio del prompt, fino al punto in cui il contenuto inizia a differire. Se i primi 5.000 token di ogni richiesta sono identici (ad esempio, un blocco di istruzioni fisso più un documento di riferimento) tali token possono essere memorizzati nella cache, mentre la domanda univoca dell'utente alla fine viene elaborata normalmente.
Perché fa risparmiare denaro
I provider addebitano molto meno per i token letti dalla cache rispetto ai token elaborati di recente. Una struttura comune è che i token di input memorizzati nella cache costano una piccola frazione della normale tariffa di input, spesso circa un decimo, sebbene lo sconto esatto vari a seconda del fornitore.
Ecco un esempio illustrativo (tariffe inventate per chiarezza). Supponiamo che l'input normalmente costi 3 dollari per milione di token e che le letture memorizzate nella cache costino 0,30 dollari per milione. Se invii un prompt fisso da 10.000 token su 1.000 chiamate, elaborarlo ogni volta costa 10.000 x 1.000 = 10 milioni di token x $ 3 = $ 30. Con il caching, la prima chiamata viene pagata a prezzo intero e il resto viene letto dalla cache: circa 10.000 x 3 dollari/milione + 9,99 milioni x 0,30 dollari/milione, vicino ai 3 dollari. Questa è la scala di risparmio che i prefissi ripetitivi rendono possibile.
Di solito è previsto un costo di scrittura e un limite di tempo
La memorizzazione nella cache non è puramente gratuita. La maggior parte dei fornitori addebita un piccolo premio scrivere contenuto nella cache la prima volta, a volte circa il 25% in più rispetto alla normale velocità di input per tali token. Lo recuperi nelle letture successive, quindi la memorizzazione nella cache ripaga solo quando lo stesso prefisso viene riutilizzato abbastanza volte.
Anche le cache scadono. Un time-to-live tipico è di pochi minuti di inattività, con alcuni fornitori che offrono una conservazione più lunga a un costo aggiuntivo. Se le tue chiamate sono distanziate nel tempo, la cache potrebbe scadere tra di loro e perdi il vantaggio. La memorizzazione nella cache premia il riutilizzo rapido e ad alta frequenza dello stesso contenuto.
Quando vale la pena memorizzare nella cache
La memorizzazione nella cache rapida brilla in modelli specifici:
- Prompt di sistema lunghi e fissi riutilizzato per molti utenti o richieste.
- Domande e risposte sul documento dove un documento di grandi dimensioni viene interrogato più volte in una sessione.
- Suggerimento per pochi colpi con un grande blocco di esempi che non cambia mai.
- Chatbot dove i primi turni di conversazione rimangono costanti mentre vengono aggiunti nuovi turni.
Non ne vale la pena quando ogni richiesta è unica, quando il prefisso fisso è piccolo (poche centinaia di token) o quando le chiamate sono rare e distanti tra loro, quindi la cache continua a scadere.
Come strutturare i prompt per la memorizzazione nella cache
La regola d'oro è: put the stable content first, the variable content last. Ordina il tuo prompt in modo che le istruzioni di sistema immutabili, il materiale di riferimento e gli esempi si trovino in alto e la domanda specifica dell'utente vada in fondo. Poiché la memorizzazione nella cache funziona sul prefisso condiviso, qualsiasi variazione vicino all'inizio interrompe la cache per tutto ciò che segue.
Evitare di inserire valori dinamici (timestamp, nomi utente, ID casuali) nella prima parte del prompt. Anche un singolo carattere modificato all'inizio può invalidare la cache. Mantieni quei bit dinamici nella coda della richiesta a cui appartengono.
Stima del profitto
Per decidere se la memorizzazione nella cache è utile, confronta due numeri: la dimensione del prefisso fisso in token e quante volte lo riutilizzi all'interno della finestra della cache. Più token ci sono nel prefisso e più volte lo riutilizzi, maggiore sarà la vincita. Un minuscolo prefisso riutilizzato due volte non salva quasi nulla; un prefisso di 20.000 token riutilizzato centinaia di volte all'ora è il luogo in cui la memorizzazione nella cache trasforma la tua fattura.
È possibile modellare entrambi gli scenari nel calcolatore dei costi LLM confrontando una corsa con prezzo interamente alla tariffa di input standard con una in cui la maggior parte dei token di input ha un prezzo alla tariffa memorizzata nella cache. Vedere i due totali fianco a fianco rende la decisione ovvia e le pagine di confronto dei modelli mostrano quali fornitori pubblicano i prezzi dei token memorizzati nella cache.
Continua ad imparare
Strumenti correlati
Domande frequenti
La memorizzazione nella cache dei prompt modifica l'output del modello?
No. La memorizzazione nella cache riutilizza solo lo stato di input elaborato per risparmiare costi e latenza. Il modello produce lo stesso output che avrebbe senza la memorizzazione nella cache, perché i token sottostanti sono identici.
Per quanto tempo rimane valido un prompt memorizzato nella cache?
Varia in base al provider, ma un'impostazione predefinita comune prevede alcuni minuti di inattività prima della scadenza della cache. Alcuni fornitori offrono una conservazione estesa a un costo aggiuntivo. Il riutilizzo frequente mantiene calda la cache.
C'è qualche rischio nel memorizzare nella cache i dati sensibili?
Il contenuto memorizzato nella cache è legato al tuo account e utilizzato solo per soddisfare le tue richieste ripetute, ma dovresti comunque seguire le politiche sui dati del tuo provider ed evitare di memorizzare nella cache tutto ciò che non sei autorizzato a memorizzare.
Educational only — not financial advice.