Come funziona il prompt caching
Il prompt caching riduce notevolmente il prezzo di una richiesta a un grande modello di linguaggio e aumenta la velocità di risposta. Questo meccanismo è semplice, ma spesso viene ignorato o reso inefficace da una strutturazione poco abile dei prompt. Per capire il funzionamento e il vantaggio che ne deriva, si può utilizzare un ambiente locale con strumenti come Ollama. Le conoscenze ottenute possono essere applicate anche a fornitori cloud come Anthropic, dove il caching può risparmiare fino al 90 percento dei token.
Il prompt caching mantiene memorizzati i risultati interni del calcolo di un prefisso del prompt che non cambia, permettendo al modello di linguaggio di lavorare solo sul nuovo input durante le richieste successive. La base tecnica è il KV-cache dell'architettura Transformer, che riusa i vettori Key e Value calcolati una volta durante la fase di Prefill.
Localmente, un prompt cache può aumentare la velocità di inferenza fino a dieci volte; nel cloud, ridurre i costi fino al 90%. La struttura del prompt riveste un'importanza cruciale: i contenuti stabili come istruzioni di sistema o documenti vanno messi all'inizio, i dati variabili invece vanno collocoati alla fine.
Come un modello di linguaggio genera testo
Un modello di linguaggio su larga scala è essenzialmente una macchina per completare testi. L'input del sistema, chiamato "prompt", è una stringa di caratteri che normalmente si compone di tre strati: un'istruzione o disposizione comportamentale (il "system prompt"), informazioni di contesto opzionali come documenti, definizioni degli strumenti o parte del dialogo precedente e infine la richiesta specifica dell’utente.
I modelli utilizzano un'architettura Transformer, che si basa su una sequenziale elaborazione delle parole. Il prompt iniziale viene prima scomposto e rappresentato sotto forma di vettori. Ogni parola riceve un vettore di chiave (key) e valore (value), calcolati all'inizio della richiesta (fase di Prefill) e utilizzati per il calcolo successivo.
I vantaggi del riutilizzo
Con il prompt caching, questi vettori di chiave e valore vengono utilizzati di nuovo per i prompt che iniziano con lo stesso contenuto. Questo significa che se lo stesso "prompt di contesto" viene mantenuto costante, il modello non deve ricalcolare i vettori per quelle parti già conosciute. Risultato: un risparmio significativo sia in termini di tempo che di token utilizzati.
I vantaggi sono evidenti soprattutto in sistemi che processano moltissime richieste analoghe, ad esempio un servizio clienti automatizzato. Se la frase introduttiva ("Salve, come posso aiutarla oggi?") o il contesto del sistema non cambia, il modello può completare la richiesta in maniera molto più efficiente.
Strategie per ottimizzare l’utilizzo
Per sfruttare al massimo il prompt caching, è cruciale separare chiaramente i componenti del prompt:
- Parte stabile: Includere qui le istruzioni di sistema, le informazioni contestuali e il formato desiderato del output.
- Ingresso variabile: Separare chiaramente l'elemento dell'utente, ad esempio la sua domanda o la sua frase, come sezione separata.
Questo approccio non solo aumenta la velocità di risposta ma riduce significativamente la quantità di token che vengono calcolati e addebitati, soprattutto in contesti cloud dove i costi sono basati su un piano token-based. Il risultato? Risparmi tangibili senza compromettere la qualité del risultato.
Applicazione pratica
Per testare l'effetto in modo pratico, gli sviluppatori locali possono utilizzare un ambiente come Ollama per sperimentare in locale prima di trasferire le strategie su piattaforme cloud. Con strumenti di questo tipo, è possibile vedere come un prompt caching ben strutturato influenzi i risultati.
Una volta messi in pratica tali concetti, i risultati mostrano una netta riduzione dei token consumati e una maggiore efficienza computazionale. I dati dimostrano come si può ottenere lo stesso risultato con una percentuale di risorse molto inferiore.
Un approccio simile è rilevante non solo per le applicazioni di sviluppo ma anche per quelle aziendali, dove il costo delle richieste al modello è uno dei componenti più sensibili del budget tecnologico.