Self-consistency prompting (ES)
Decodificación autoconsistente (en inglés, Self-Consistency Prompting, SC) es un método o estrategia de decodificación en la ingeniería de prompts, diseñado para mejorar la precisión y fiabilidad de los grandes modelos de lenguaje (LLM) al resolver problemas que requieren razonamiento de múltiples pasos, como acertijos aritméticos y lógicos[1]. El método fue propuesto por investigadores de Google Research en 2022 como una mejora de la técnica de «cadena de pensamiento» (Chain-of-Thought, CoT).
La idea principal es no limitarse a una única salida «voraz», sino generar múltiples cadenas de razonamiento diversas para la misma pregunta y luego seleccionar la respuesta final que aparece con más frecuencia entre estas variantes. Este enfoque se basa en el principio intuitivo de que si un modelo, razonando por diferentes caminos, llega repetidamente al mismo resultado, es muy probable que ese resultado sea el correcto[1].
Contexto y antecedentes
El método Self-Consistency es un desarrollo directo de la técnica Chain-of-Thought (CoT). La técnica CoT, propuesta por Wei et al. (2022), mejoró significativamente la capacidad de los LLM para resolver problemas complejos al incitar al modelo a detallar explícitamente los pasos de la solución[2]. Sin embargo, en su implementación básica, CoT utiliza la «decodificación voraz» (greedy decoding), donde en cada paso se elige el siguiente token más probable. Esto crea una limitación: si el modelo comete un error en una etapa temprana, no puede desviarse de esa trayectoria incorrecta y corregirla. Self-Consistency se propuso precisamente para resolver este problema[1].
Mecanismo de funcionamiento
El algoritmo de Self-Consistency reemplaza el enfoque determinista voraz con un procedimiento de «muestreo con posterior agregación» y consta de los siguientes pasos[1]:
- Generación de múltiples rutas de razonamiento: En lugar de una sola respuesta, el modelo genera la solución para la misma consulta varias veces (por ejemplo, hasta 40 veces) utilizando el método de cadena de pensamiento. Para obtener diversas rutas de razonamiento, se aplican métodos de decodificación estocásticos, como el muestreo por temperatura (con un parámetro de temperatura > 0).
- Agregación y selección de la respuesta: De todas las cadenas de razonamiento generadas, se extraen solo las respuestas finales (por ejemplo, un valor numérico). Luego, entre estas respuestas, se elige la que aparece con más frecuencia. Esta respuesta se presenta como la final.
Este enfoque imita el principio de «auto-ensamblado», donde se utilizan múltiples salidas del mismo modelo para aumentar la fiabilidad y suavizar errores aleatorios[3].
Eficacia y resultados
En la investigación original, Self-Consistency demostró un aumento significativo de la precisión en varios benchmarks populares, especialmente en tareas que requieren razonamiento aritmético y lógico.
- En el benchmark de problemas matemáticos GSM8K, la precisión del modelo PaLM-540B aumentó del 56,6% (con CoT) al 74,4% (con Self-Consistency), lo que supuso un incremento del 17,8%.
- En otras tareas aritméticas, como SVAMP y AQuA, el aumento fue del +11,0% y +12,2% respectivamente.
- En tareas que requieren lógica y sentido común, como StrategyQA, la mejora fue del +6,4%[1].
La aplicación de Self-Consistency permitió establecer nuevos récords de rendimiento (state-of-the-art) en muchos benchmarks al utilizar modelos grandes como GPT-3 175B y PaLM 540B[1].
Ventajas y limitaciones
Ventajas
- Aumento de la precisión: Mejora significativamente los resultados en tareas que requieren un razonamiento complejo de múltiples pasos.
- Fiabilidad: El método es más resistente a los errores que pueden ocurrir en una única cadena de razonamiento.
- Simplicidad de implementación: No requiere entrenamiento adicional ni modificaciones en la arquitectura del modelo. El método se puede implementar como una simple «envoltura» alrededor de un modelo ya existente.
Limitaciones
- Altos costos computacionales: La principal desventaja es la necesidad de generar la respuesta varias veces (por ejemplo, 10, 20 o 40 veces) para una sola consulta, lo que aumenta proporcionalmente el costo y el tiempo de inferencia.
- Aplicabilidad limitada: El método estándar es más eficaz para tareas con un formato de respuesta claramente definido (por ejemplo, un número, «sí/no», una opción de una lista), donde es fácil realizar una votación por mayoría. Es poco aplicable a tareas de generación abierta (escribir un ensayo, resumir), donde las respuestas son únicas en su forma.
- Riesgo de error sistemático: Si el modelo genera sistemáticamente razonamientos incorrectos que, por casualidad, convergen en la misma respuesta errónea, Self-Consistency no solo no corregirá el error, sino que reforzará la confianza en él.
Desarrollo del método: Universal Self-Consistency
La limitación del método básico en tareas con formato de respuesta libre fue abordada en investigaciones posteriores. A finales de 2023, un grupo de investigadores de Google DeepMind propuso el enfoque Universal Self-Consistency (USC)[4].
En USC, en lugar de una simple votación sobre las respuestas finales, se utiliza el propio LLM como «juez» para la agregación. El modelo genera varias soluciones completas y luego recibe un nuevo prompt pidiéndole que elija la «más consistente» o la «de mayor calidad» entre ellas. Este enfoque permite aplicar los principios de autoconsistencia a tareas con un formato de respuesta abierto y creativo[5].
Enlaces
- Self-Consistency Improves Chain of Thought Reasoning in Language Models — artículo de investigación original de Google Research.
- Self-Consistency — guía en Prompt Engineering Guide.
Bibliografía
- 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.
Notas
- ↑ 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]