Introduzione
Quando si tratta di valutare le capacità di ragionamento multi-step di grandi modelli linguistici (LLM), la domanda più frequente è:come scegliere tra una strategia di prompting "chain-of-thought" (CoT) e una soluzione "zero-shot"?Questo articolo risponde immediatamente a questa esigenza, presentando una metodologia di confronto chiara, metriche oltre alla semplice accuratezza e linee guida pratiche per l’implementazione in produzione.
1. Benchmark di ragionamento multi-step
1.1 Cosa sono i benchmark multi-step?
1.2 Benchmark più diffusi
- MATH: problemi di matematica di livello universitario.
- GSM-8K: 8.000 domande di calcolo finanziario e aritmetico.
- BIG-Bench Hard: set di problemi di ragionamento complessi in numerosi domini.
1.3 Come scegliere il benchmark giusto
La scelta dipende dal dominio di applicazione: per applicazioni fintech scegli GSM-8K; per ricerca accademica, MATH; per sistemi generici, BIG-Bench Hard.
2. Metodologia di esperimento controllato
2.1 Configurazione base
Per garantire comparabilità , mantieni costanti: modello, temperatura, top-k, max tokens, seed per la randomizzazione.
2.2 Prompt Chain-of-Thought (CoT)
import openai
prompt = (
"Domanda: \n" +
"Qual è la somma di 123 e 456?\n" +
"Pensa in modo sequenziale:\n"
)
response = openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[{"role":"user","content":prompt}],
temperature=0,
max_tokens=200
)
print(response.choices[0].message.content)2.3 Prompt Zero-Shot
Qui si fornisce solo la domanda, senza indicazioni di ragionamento:
prompt = "Qual è la somma di 123 e 456?"
response = openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[{"role":"user","content":prompt}],
temperature=0,
max_tokens=200
)
print(response.choices[0].message.content)2.4 Controlli addizionali
- Valutatoken countper ogni risposta.
- Registra lalatenza(tempo di risposta).
- Calcola icosti computazionalibasati sul provider.
3. Metriche di valutazione
3.1 Accuratezza (Accuracy)
La percentuale di risposte corrette. È la metrica più tradizionale ma non l'unica.
3.2 Efficienza token
Numero medio di token generati. Un CoT più lungo può migliorare l’accuratezza ma aumentare i costi.
3.3 Latenza
Tempo medio di risposta. In scenari reali, una latenza ridotta è cruciale.
3.4 Costo computazionale
Basato sul prezzo per token del provider. Un CoT più lungo può spingere i costi oltre la soglia accettabile.
4. Analisi dei trade-off
4.1 Quando preferire Chain-of-Thought
- Problemi con più passaggi logici (es. algebra, logica).
- Ambienti dove l’accuratezza è prioritaria rispetto al costo.
- Quando si dispone di budget sufficiente.
4.2 Quando optare per Zero-Shot
- Domande semplici o con risposta immediata.
- Prodotti con limitazioni di latenza o costi stretti.
- Quando si desidera una pipeline più snella.
4.3 Linee guida pratiche
- Inizia con zero-shot per ottenere una baseline.
- Se l’accuratezza è sotto il 70 %, prova CoT.
- Monitora token e latenza: se superano i 150% rispetto a zero-shot, valuta un trade-off.
5. Conclusioni
Take-away pratici
- Definisci chiaramente il benchmark in base al dominio.
- Confronta sempre zero-shot e CoT su 100-200 esempi per stabilire baseline.
- Monitora token, latenza e costi parallelamente all’accuratezza.
- Adatta la strategia in base al budget e alla criticità dell’applicazione.
Domande Frequenti
Qual è la differenza principale tra chain-of-thought e zero-shot?
Il chain-of-thought richiede al modello di eseguire e mostrare passaggi logici intermedi, aumentando spesso l’accuratezza a discapito di token e latenza, mentre il zero-shot fornisce direttamente la risposta finale senza spiegazione.