Introduzione al caching di GPT-6.1 Terra
Il sistema di caching di GPT-6.1 Terra offre un significativo risparmio sui costi di input, con un prezzo di 0,05 $ per milione di token, pari a uno sconto del 95% rispetto al prezzo standard di 1,00 $. Tuttavia, scrivere nel cache ha un costo: 1,25 $ per milione di token per 30 minuti di conservazione o 2,50 $ per 12 ore.
Questo articolo esplora il punto di pareggio esatto, tre workload di diverse dimensioni, l'interazione con la soglia di contesto lungo di 272K e le abitudini di prompt engineering che possono invalidare il caching.
Le quattro cifre chiave
Ecco i prezzi principali da tenere a mente:
- Input standard: 1,00 $ per milione di token.
- Input memorizzato nella cache: 0,05 $ per milione, uno sconto del 95%.
- Scrittura nella cache, 30 minuti di conservazione: 1,25 $ per milione.
- Scrittura nella cache, 12 ore di conservazione: 2,50 $ per milione.
Oltre i 272.000 token di input, i costi raddoppiano: 2,00 $ per l'input, 0,10 $ per l'input in cache e 2,50 $ per la scrittura nella cache. La soglia di contesto lungo non aumenta solo il prezzo dell'input, ma rende anche più costosi sia il caching che la scrittura.
Il punto di pareggio esatto
Supponiamo che un prefisso di P token venga riutilizzato per N chiamate, ignorando per ora l'output.
- Senza caching: N × P × 1,00 $.
- Con caching: una scrittura a 1,25 $ × P, poi N letture a 0,05 $ × P.
Uguagliando i due costi, otteniamo: 0,95N = 1,25, quindi N ≈ 1,32. In pratica, ciò significa che la seconda chiamata è già redditizia: la scrittura costa 1,25 per milione e ogni lettura risparmia 0,95, quindi due letture recuperano più del costo della scrittura. Con una durata di conservazione di 12 ore, la scrittura costa 2,50 $ e il punto di pareggio è a 2,63 letture, quindi la terza chiamata copre il costo.
Tre workload esemplificativi
Ecco tre esempi di workload che mostrano i risparmi ottenibili con il caching:
1. Sistema-Prompt con 50.000 token su 10.000 richieste brevi
Senza caching: 10.000 × 50.000 × 1,00 $ per milione = 500 $ solo per il prefisso. Con caching: una scrittura di 50.000 × 1,25 $ per milione = 0,0625 $, più 10.000 letture a 50.000 × 0,05 $ per milione = 25 $. Totale: 25,06 $, un risparmio del 95% sul prefisso.
2. Repository con 900.000 token su 20 domande
Senza caching, ogni richiesta cade nella tariffa a contesto lungo: 900.000 × 2,00 $ per milione = 1,80 $ per chiamata, 36 $ per venti. Con caching: una scrittura di 900.000 × 2,50 $ per milione = 2,25 $, poi venti letture a 900.000 × 0,10 $ per milione = 0,09 $ ciascuna, totale 1,80 $. Totale: 4,05 $, un risparmio dell'89%.
3. Documento con 20.000 token su tre domande con diverse personalità
In questo caso, il caching non funziona: se il prefisso cambia tra le chiamate, il modello vede tre prefissi diversi e scrive tre cache. Senza cache e "con cache" costano la stessa cosa, tranne che si paga per le scritture. La soluzione è strutturale: tutto ciò che è variabile va alla fine del prompt, mentre il documento e le istruzioni stabili rimangono all'inizio.
Cosa distrugge un cache
Il caching di OpenAI funziona sul prefisso invariato di una richiesta. Qualsiasi cambiamento precoce nel prompt invalida tutto ciò che segue. Ecco i principali colpevoli:
- Un timestamp o un ID di richiesta nel sistema-prompt.
- Personalizzazione per utente inserita all'inizio invece che alla fine.
- Definizioni di strumenti riorganizzate o una lista di strumenti che cambia tra le chiamate.
- Un passaggio di retrieval che concatena documenti in un ordine diverso ogni volta.
- Modifiche allo spazio vuoto causate da motori di templating.
- Un cambio tra completamenti chat e risposte a metà pipeline.
La diagnosi è semplice: registrare e hashare i primi 2.000 token di ogni richiesta. Se l'hash cambia tra chiamate che dovrebbero essere identiche, il cache è morto e nessuna ottimizzazione lo riparerà.
Cache e la soglia dei 272K
Cache e soglia dei 272K interagiscono in modo sottile. Un prefisso in cache di 250.000 token costa 0,05 $ per milione in lettura e 1,25 $ in scrittura. Se cresce a 300.000 token, ogni cifra raddoppia: 0,10 $ in lettura, 2,50 $ in scrittura, e la parte non in cache viene addebitata a 2,00 $. Un pipeline che supera la soglia paga la soglia sia sul lato in cache che su quello non in cache.
Ciò crea un incentivo progettuale non ovvio: se un workload è appena sopra i 272K, accorciare il prefisso a 270K può dimezzare il conto senza cambiare il compito. Accorciare una sezione di boilerplate, eliminare un blocco di retrieval non necessario o rimuovere un esempio dal sistema-prompt vale più che altrove sulla mappa.
Caching vs alternative
Il caching è la soluzione migliore quando lo stesso lungo prefisso viene utilizzato all'interno del periodo di conservazione. Tuttavia, ci sono alternative da considerare:
- Ridurre la dimensione del contesto: se il prefisso può essere accorciato senza perdere informazioni cruciali, i risparmi possono essere significativi.
- Ottimizzare il prompt: rimuovere informazioni ridondanti o non necessarie può ridurre la dimensione del prefisso.
- Utilizzare modelli più piccoli: se il compito lo permette, un modello più piccolo potrebbe non richiedere prefissi così lunghi.
In conclusione, il caching di GPT-6.1 Terra offre risparmi significativi, ma richiede una progettazione attenta per evitare di invalidare il cache. Valutare attentamente il punto di pareggio e ottimizzare il prompt può portare a risparmi sostanziali, specialmente per workload che utilizzano lunghi prefissi.
