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.
La memorizzazione nella cache fa risparmiare denaro, non spazio di contesto
Un malinteso comune è che un prefisso memorizzato nella cache venga in qualche modo escluso dalla finestra di contesto del modello, lasciando più spazio per altri contenuti. Non è così. I token memorizzati nella cache fanno ancora parte della richiesta e contano ancora per il limite di contesto totale del modello, il provider li legge da uno stato archiviato invece di rielaborarli, ma occupano lo stesso budget di contesto come se fossero stati elaborati di recente.
La memorizzazione nella cache riduce ciò che paghi e il tempo di attesa per l'elaborazione di tali token. Non aumenta la quantità di testo che il modello può vedere contemporaneamente. Se stai raggiungendo il limite della finestra di contesto, la memorizzazione nella cache non risolverà il problema, dovrai comunque tagliare la cronologia, riepilogare o passare a un modello con una finestra più grande. La memorizzazione nella cache aiuta solo quando il prompt è già adatto.
Lo stesso vale per i limiti di tariffa dei token al minuto presso la maggior parte dei fornitori: i token memorizzati nella cache vengono generalmente conteggiati rispetto alla quota di token al minuto anche al prezzo scontato. Un carico di lavoro memorizzato nella cache di volume elevato può comunque essere limitato in termini di velocità anche se la fattura è piccola, poiché il limitatore controlla il conteggio dei token, non dei dollari.
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 è: metti prima il contenuto stabile e per ultimo il contenuto variabile. 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.
Puoi 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.
La memorizzazione nella cache dei prompt mi consente di inserire più contenuti nella finestra di contesto?
No. I token memorizzati nella cache continuano a essere conteggiati per il limite di contesto totale del modello e in genere sono ancora conteggiati per il limite di velocità di token al minuto. La memorizzazione nella cache riduce i costi e la latenza per i token che rientrano già nel budget del contesto, non espande tale budget.
Solo formazione, non consulenza finanziaria.