Riduzione della latenza
La latenza si riferisce al tempo necessario al modello per elaborare un prompt e generare un output. La latenza può essere influenzata da vari fattori, come la dimensione del modello, la complessità del prompt e l’infrastruttura sottostante che supporta il modello e il punto di interazione.
È sempre meglio prima progettare un prompt che funzioni bene senza vincoli di modello o di prompt, e poi provare strategie di riduzione della latenza successivamente. Cercare di ridurre la latenza prematuramente potrebbe impedire di scoprire come appare la massima performance.
Come misurare la latenza
Quando si parla di latenza, potresti imbatterti in diversi termini e misurazioni:
- Latenza di base: Questo è il tempo impiegato dal modello per elaborare il prompt e generare la risposta, senza considerare i token di input e output al secondo. Fornisce un’idea generale della velocità del modello.
- Tempo al primo token (TTFT): Questa metrica misura il tempo necessario al modello per generare il primo token della risposta, da quando è stato inviato il prompt. È particolarmente rilevante quando si utilizza lo streaming (ne parleremo più avanti) e si vuole fornire un’esperienza reattiva agli utenti.
Per una comprensione più approfondita di questi termini, consulta il nostro glossario.
Come ridurre la latenza
1. Scegliere il modello giusto
Uno dei modi più diretti per ridurre la latenza è selezionare il modello appropriato per il tuo caso d’uso. Anthropic offre una gamma di modelli con diverse capacità e caratteristiche di prestazione. Considera i tuoi requisiti specifici e scegli il modello che meglio si adatta alle tue esigenze in termini di velocità e qualità dell’output. Per maggiori dettagli sulle metriche dei modelli, consulta la nostra pagina panoramica dei modelli.
2. Ottimizzare la lunghezza del prompt e dell’output
Minimizza il numero di token sia nel prompt di input che nell’output previsto, mantenendo comunque prestazioni elevate. Minore è il numero di token che il modello deve elaborare e generare, più veloce sarà la risposta.
Ecco alcuni suggerimenti per aiutarti a ottimizzare i tuoi prompt e output:
- Sii chiaro ma conciso: Cerca di comunicare la tua intenzione in modo chiaro e conciso nel prompt. Evita dettagli non necessari o informazioni ridondanti, tenendo presente che claude manca di contesto sul tuo caso d’uso e potrebbe non fare i salti logici previsti se le istruzioni non sono chiare.
- Chiedi risposte più brevi: Chiedi direttamente a Claude di essere conciso. La famiglia di modelli Claude 3 ha una migliore capacità di direzione rispetto alle generazioni precedenti. Se Claude produce una lunghezza indesiderata, chiedi a Claude di limitare la sua loquacità.
A causa di come gli LLM contano i token invece delle parole, chiedere un conteggio esatto delle parole o un limite di conteggio parole non è una strategia efficace quanto chiedere limiti di conteggio di paragrafi o frasi.
- Imposta limiti di output appropriati: Usa il parametro
max_tokens
per impostare un limite massimo alla lunghezza della risposta generata. Questo impedisce a Claude di generare output eccessivamente lunghi.Nota: Quando la risposta raggiunge i token
max_tokens
, la risposta verrà tagliata, forse a metà frase o a metà parola, quindi questa è una tecnica grezza che potrebbe richiedere post-elaborazione ed è solitamente più appropriata per risposte a scelta multipla o risposte brevi dove la risposta arriva proprio all’inizio. - Sperimenta con la temperatura: Il parametro
temperature
controlla la casualità dell’output. Valori più bassi (es. 0,2) possono talvolta portare a risposte più mirate e più brevi, mentre valori più alti (es. 0,8) possono risultare in output più diversificati ma potenzialmente più lunghi.
Trovare il giusto equilibrio tra chiarezza del prompt, qualità dell’output e conteggio dei token potrebbe richiedere qualche sperimentazione.
3. Sfruttare lo streaming
Lo streaming è una funzionalità che permette al modello di iniziare a inviare la sua risposta prima che l’output completo sia terminato. Questo può migliorare significativamente la reattività percepita della tua applicazione, poiché gli utenti possono vedere l’output del modello in tempo reale.
Con lo streaming abilitato, puoi elaborare l’output del modello mentre arriva, aggiornando la tua interfaccia utente o eseguendo altri compiti in parallelo. Questo può migliorare notevolmente l’esperienza utente e rendere la tua applicazione più interattiva e reattiva.
Visita streaming Messages per saperne di più su come puoi implementare lo streaming per il tuo caso d’uso.