Self-consistency prompting (IT)
Decodifica auto-consistente (ingl. Self-Consistency Prompting, SC) — è un metodo o strategia di decodifica nel prompt engineering, progettata per migliorare la precisione e l'affidabilità dei grandi modelli linguistici (LLM) nella risoluzione di compiti che richiedono ragionamenti multi-passo, come enigmi aritmetici e logici[1]. Il metodo è stato proposto da ricercatori di Google Research nel 2022 come perfezionamento della tecnica «catena di pensieri» (Chain-of-Thought, CoT).
L'idea principale consiste nel non limitarsi a un'unica inferenza «greedy», ma generare invece molteplici varianti di ragionamento sulla stessa domanda, per poi selezionare la risposta finale che compare più frequentemente tra queste varianti. L'approccio si basa su un principio intuitivo: se il modello, ragionando in modi diversi, giunge ripetutamente allo stesso risultato, allora tale risultato ha un'elevata probabilità di essere corretto[1].
Contesto e presupposti
Il metodo Self-Consistency è uno sviluppo diretto della tecnica Chain-of-Thought (CoT). La tecnica CoT, proposta da Wei et al. (2022), ha migliorato significativamente la capacità degli LLM di risolvere compiti complessi, inducendo il modello a descrivere esplicitamente i passaggi della soluzione[2]. Tuttavia, nell'implementazione di base, CoT utilizza il «greedy decoding», in cui a ogni passo viene selezionato il token successivo più probabile. Ciò crea una limitazione: se il modello commette un errore nelle fasi iniziali, non può deviare da questa traiettoria errata e correggerla. Self-Consistency è stato proposto proprio per risolvere questo problema[1].
Meccanismo di funzionamento
L'algoritmo Self-Consistency sostituisce l'approccio deterministico greedy con una procedura di «campionamento con successiva aggregazione» e si articola nei seguenti passaggi[1]:
- Generazione di molteplici percorsi di ragionamento: Invece di una singola risposta, il modello genera più volte (ad esempio, fino a 40 volte) una soluzione per la stessa richiesta, utilizzando il metodo della catena di pensieri. Per ottenere percorsi di ragionamento diversificati vengono impiegati metodi di decodifica stocastici, come il temperature sampling (con parametro di temperatura > 0).
- Aggregazione e selezione della risposta: Da tutte le catene di ragionamento generate vengono estratte solo le risposte finali (ad esempio, un valore numerico). Tra queste risposte viene poi selezionata quella più frequente. Tale risposta viene fornita come risultato finale.
Questo approccio imita il principio del «self-ensemble», dove molteplici inferenze dello stesso modello vengono utilizzate per aumentare l'affidabilità e attenuare gli errori casuali[3].
Efficacia e risultati
Nella ricerca originale, Self-Consistency ha dimostrato un notevole incremento di precisione su una serie di benchmark popolari, in particolare nei compiti che richiedono ragionamenti aritmetici e logici.
- Sul benchmark di problemi matematici GSM8K la precisione del modello PaLM-540B è aumentata dal 56,6% (con CoT) al 74,4% (con Self-Consistency), con un incremento del 17,8%.
- Su altri compiti aritmetici, come SVAMP e AQuA, l'incremento è stato di +11,0% e +12,2% rispettivamente.
- Sui compiti che richiedono logica e buon senso, come StrategyQA, il miglioramento è stato di +6,4%[1].
L'applicazione di Self-Consistency ha permesso di stabilire nuovi record di prestazioni (state-of-the-art) su numerosi benchmark utilizzando modelli di grandi dimensioni come GPT-3 175B e PaLM 540B[1].
Vantaggi e limitazioni
Vantaggi
- Maggiore precisione: Migliora significativamente i risultati sui compiti che richiedono ragionamenti complessi multi-passo.
- Affidabilità: Il metodo è più resistente agli errori che possono verificarsi in un'unica catena di ragionamento.
- Semplicità di implementazione: Non richiede addestramento aggiuntivo né modifiche all'architettura del modello. Il metodo può essere implementato come un semplice «wrapper» attorno a un modello già esistente.
Limitazioni
- Elevati costi computazionali: Il principale svantaggio è la necessità di generare la risposta più volte (ad esempio, 10, 20 o 40 volte) per una singola richiesta, il che aumenta proporzionalmente il costo e il tempo di inferenza.
- Applicabilità limitata: Il metodo standard è più efficace per compiti con un formato di risposta chiaramente definito (ad esempio, un numero, «sì/no», una variante da un elenco), dove è facile effettuare una votazione a maggioranza. È poco adatto per compiti con generazione aperta (scrittura di saggi, riassunti), dove le risposte sono uniche nella loro forma.
- Rischio di errore sistematico: Se il modello genera sistematicamente ragionamenti errati che per caso convergono verso la stessa risposta sbagliata, Self-Consistency non solo non correggerà l'errore, ma ne rafforzerà la confidenza.
Sviluppo del metodo: Universal Self-Consistency
La limitazione del metodo di base sui compiti con risposta a forma libera è stata affrontata in ricerche successive. Alla fine del 2023, un gruppo di ricercatori di Google DeepMind ha proposto l'approccio Universal Self-Consistency (USC)[4].
In USC, al posto di una semplice votazione sulle risposte finali, per l'aggregazione viene utilizzato lo stesso LLM in qualità di «giudice». Il modello genera diverse varianti complete di soluzione, dopodiché riceve un nuovo prompt con la richiesta di selezionare tra esse quella «più coerente» o «di maggiore qualità». Questo approccio permette di applicare i principi della self-consistency a compiti con formato di risposta aperto e creativo[5].
Riferimenti
- Self-Consistency Improves Chain of Thought Reasoning in Language Models — articolo scientifico originale di Google Research.
- Self-Consistency — guida su Prompt Engineering Guide.
Bibliografia
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Aggarwal, P. et al. (2023). Let's Sample Step by Step: Adaptive-Consistency for Efficient Reasoning and Coding with LLMs. arXiv:2305.11860.
- Chen, X. et al. (2023). Universal Self-Consistency with Large Language Models. arXiv:2311.17311.
- Knappe, T. et al. (2024). Semantic Self-Consistency: Enhancing Language Model Reasoning via Semantic Weighting. arXiv:2410.07839.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Li, T. et al. (2024). Improving Faithfulness of Large Language Models in Summarization via Sliding Generation and Self-Consistency. arXiv:2407.21443.
- Byerly, A.; Khashabi, D. (2024). How Effective Is Self-Consistency for Long-Context Problems?. arXiv:2411.01101.
- Novikova, J. et al. (2025). Consistency in Language Models: Current Landscape, Challenges, and Future Directions. arXiv:2505.00268.
- Admoni, S. et al. (2025). Towards Large Language Models with Self-Consistent Natural Language Explanations. arXiv:2506.07523.
Note
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Wang, X., Wei, J., Schuurmans, D., et al. (2022). «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv. [1]
- ↑ Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». NeurIPS 2022.
- ↑ «Self-Consistency Improves Chain of Thought Reasoning in Language Models - Summary». Portkey. [2]
- ↑ Chen, X., et al. (2023). «Universal Self-Consistency with Large Language Models». arXiv. [3]
- ↑ «Universal Self-Consistency with Large Language Models». Google DeepMind Publications. [4]