Introducción
¿Qué es el prompting automático de cadena de pensamiento en modelos de lenguaje grandes? En este blog, desglosaremos esta pregunta en partes pequeñas, comenzando por la definición del prompting de Cadena de Pensamiento (CoT), hasta las ventajas y el desarrollo del Auto CoT. Finalmente, discutiremos la API de LLM como una parte central de la aplicación de Auto CoT. ¡Sigue leyendo para explorar el poderoso Auto CoT!
¿Qué es el prompting CoT?
El prompting de Cadena de Pensamiento (CoT) es una técnica utilizada para mejorar las capacidades de razonamiento de los modelos de lenguaje grandes (LLMs). Los LLMs, como GPT-3, han demostrado un rendimiento notable en una variedad de tareas, incluyendo respuesta a preguntas, generación de texto y resolución de problemas.
Sin embargo, en muchas tareas de razonamiento complejo, los LLMs pueden tener dificultades para proporcionar una solución paso a paso completa y coherente. El prompting CoT busca abordar esto incitando al modelo de lenguaje a generar una “cadena de pensamiento” — una secuencia de pasos de razonamiento intermedios que conducen a la respuesta final.
La idea central detrás del prompting CoT es incitar al modelo de lenguaje a pensar explícitamente a través de un problema, en lugar de simplemente proporcionar una respuesta directa. Esto se hace típicamente incluyendo un prompt como “Pensemos paso a paso” o “Explica tu razonamiento” junto con la pregunta o problema de entrada. El prompting CoT puede llevar a resultados más precisos y explicables, particularmente en tareas complejas de múltiples pasos.

¿Por qué necesitamos Auto CoT?
El problema clave es que existen dos enfoques principales para el prompting de cadena de pensamiento (CoT), y ambos tienen inconvenientes significativos.
Limitaciones de Zero-Shot-CoT
En este enfoque, simplemente le das al modelo de lenguaje (LM) una pregunta y le pides que “piense paso a paso” para llegar a la respuesta. La ventaja es que es muy fácil de usar — no necesitas proporcionar información adicional ni ejemplos. Sin embargo, la gran desventaja es que el razonamiento paso a paso del LM a menudo puede ser defectuoso o contener errores. Por lo tanto, la respuesta final puede no ser confiable.
Limitaciones de Manual-CoT
Este enfoque implica crear manualmente ejemplos detallados para el LM, mostrándole cómo desglosar un problema en pasos lógicos y llegar a la respuesta correcta. Al proporcionar estos ejemplos cuidadosamente elaborados, el LM puede usar ese conocimiento para resolver mejor nuevas preguntas. El beneficio es que el razonamiento del LM es más robusto y preciso cuando puede referirse a los ejemplos manuales. Pero la principal desventaja es que crear estos ejemplos detallados requiere mucho tiempo y esfuerzo humano y experiencia. No es escalable en absoluto.

Superando las limitaciones con Auto-CoT
Entonces, en resumen, Zero-Shot-CoT es fácil pero poco confiable, mientras que Manual-CoT es más robusto pero requiere mucho trabajo. Este es el desafío clave que los autores intentan abordar con su enfoque propuesto “Auto-CoT”.
La idea central de Auto-CoT defendida por algunos académicos es generar automáticamente las demostraciones de ejemplo que el LM puede usar, sin requerir esfuerzo humano manual. Esto podría combinar potencialmente los beneficios de ambos enfoques existentes — razonamiento confiable, pero de una manera más escalable.
¿Cómo desarrolló la gente Auto CoT?
En esta sección, exploraremos los detalles del artículo titulado “Automatic Chain of Thought Prompting in Large Language Models” de Zhuosheng Zhang, Aston Zhang, Mu Li y Alex Smola, publicado en 2022. Si no te interesan los detalles de la investigación, siéntete libre de saltar a la siguiente sección.

Enfoque propuesto
Para superar estas limitaciones de los enfoques CoT existentes, los autores proponen un paradigma “Auto-CoT” que construye automáticamente demostraciones para el prompting CoT.
Los pasos clave son:
- Aprovechar los LLMs con el prompt “Pensemos paso a paso” para generar cadenas de razonamiento para preguntas de demostración.
- Reconociendo que las cadenas de razonamiento generadas pueden contener errores, los autores se centran en asegurar la diversidad en las preguntas de demostración seleccionadas.
- Los autores desarrollan un enfoque de dos pasos para construir automáticamente demostraciones:
a. Particionar las preguntas del conjunto de datos en clústeres basados en similitud.
b. Seleccionar una pregunta representativa de cada clúster y generar su cadena de razonamiento usando Zero-Shot-CoT.
Evaluación
Los autores evalúan el enfoque Auto-CoT con GPT-3 en diez tareas de razonamiento de referencia, incluyendo razonamiento aritmético, de sentido común y simbólico. Comparan el rendimiento con los paradigmas Zero-Shot-CoT y Manual-CoT.
Hallazgos clave
Los resultados muestran que el enfoque Auto-CoT iguala o supera consistentemente el rendimiento del paradigma Manual-CoT, que requiere el diseño manual de demostraciones. Esto demuestra que los LLMs pueden realizar un razonamiento CoT efectivo sin necesidad de esfuerzos manuales.
¿Cómo funciona Auto CoT?
La idea clave detrás de Auto-CoT es generar automáticamente los ejemplos de demostración que el modelo de lenguaje (LM) puede usar para el prompting de cadena de pensamiento (CoT), en lugar de depender de demostraciones elaboradas manualmente.
Aquí está cómo funciona el enfoque Auto-CoT, paso a paso:
Paso 1 Agrupación de preguntas:
- El primer paso es tomar el conjunto de preguntas de prueba (las preguntas en las que se evaluará el LM y preguntas preexistentes de los conjuntos de datos de referencia estándar) y agruparlas en unos pocos clústeres según su similitud.
- Esta agrupación ayuda a garantizar que las preguntas de demostración cubran tipos diversos de problemas, en lugar de ser demasiado similares.
Paso 2 Generación de demostraciones:
- Para cada clúster de preguntas, Auto-CoT selecciona una pregunta representativa de ese clúster.
- Luego usa el prompt “Pensemos paso a paso” para pedirle al LM que genere una cadena de razonamiento para esa pregunta representativa.
- Esta cadena de razonamiento, que consta de los pasos intermedios y la respuesta final, se convierte en el ejemplo de demostración para ese clúster.
Paso 3 Incitar al LM:
- Al evaluar el LM en una nueva pregunta de prueba, Auto-CoT proporciona al LM el conjunto de ejemplos de demostración generados automáticamente.
- El LM puede usar entonces estas demostraciones para guiar su propio proceso de razonamiento paso a paso para llegar a la respuesta de la pregunta de prueba.

¿Cómo puedo usar Auto CoT?
Requisitos:
- Versión de Python 3.8 o posterior
Instalación:
- Instala los paquetes requeridos PyTorch y torchtext usando las versiones especificadas y la URL de PyPI:
pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html - Instala los otros requisitos ejecutando
pip install -r requirements.txt
Conjuntos de datos:
Descarga los conjuntos de datos de los siguientes repositorios de GitHub:
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/dataset
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/log
Inicio rápido:
Consulta el cuaderno try_cot.ipynb para una guía de inicio rápido.
Instrucciones:
Construir Demos:
- Ejecuta el siguiente comando para construir demos para la tarea “multiarith”:
python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith
Ejecutar Inferencia:
- Ejecuta el siguiente comando para ejecutar inferencia en el conjunto de datos “multiarith”:
python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith
Citando Auto-CoT:
Si usas Auto-CoT en tu trabajo, por favor cita el siguiente artículo:
@inproceedings{zhang2023automatic,
title={Automatic Chain of Thought Prompting in Large Language Models},
author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex},
booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)},
year={2023}
}

La API de LLM como parte central de la aplicación de Auto-CoT
¿Cuáles son los beneficios de combinar Auto-CoT con APIs de LLM?
- Acceso a modelos de lenguaje potentes:
- Auto-CoT depende de las capacidades de los modelos de lenguaje grandes para generar cadenas de razonamiento paso a paso y producir resultados precisos.
- Al integrar APIs de LLM, los investigadores y desarrolladores pueden aprovechar los modelos de lenguaje más recientes y potentes, como GPT-3, Megatron-LLM o InstructGPT, para impulsar el sistema Auto-CoT.
- Flexibilidad y personalización:
- Diferentes modelos de lenguaje pueden tener diferentes fortalezas, sesgos y capacidades. La integración de APIs de LLM permite a los usuarios experimentar y comparar el rendimiento de diferentes modelos para sus tareas y aplicaciones específicas.
- Esta flexibilidad permite a los investigadores ajustar y personalizar los modelos de lenguaje según sus necesidades, mejorando la efectividad general del sistema Auto-CoT.
- Escalabilidad y despliegue:
- Las APIs de LLM a menudo proporcionan una infraestructura escalable y confiable para servir y desplegar modelos de lenguaje, permitiendo que los sistemas Auto-CoT manejen cargas de trabajo mayores y sirvan a una base de usuarios más amplia.
- Al aprovechar las capacidades de escalado de las APIs de LLM, los investigadores y desarrolladores pueden desplegar y mantener más fácilmente el sistema Auto-CoT en entornos de producción.
- Mejoras continuas del modelo:
- Los modelos de lenguaje están evolucionando rápidamente, con nuevas versiones mejoradas que se lanzan con frecuencia. La integración de APIs de LLM permite que los sistemas Auto-CoT se beneficien de estos avances y se mantengan actualizados con las últimas capacidades de los modelos de lenguaje.
- Esto asegura que el sistema Auto-CoT pueda continuar entregando resultados de alta calidad y mantener su competitividad a medida que avanza el campo de los modelos de lenguaje.
¿Cómo integrar la API de LLM en mi proyecto?
Novita AI proporciona a los usuarios una API de LLM con muchos modelos para llamar, incluyendo los recién lanzados llama-3-8b y llama-3-70b. Puedes probar diferentes modelos y comparar su rendimiento en nuestro Playground de forma gratuita antes de integrar nuestra API de LLM.

Además, para satisfacer necesidades personalizadas, puedes ajustar parámetros clave como temperature (controla la aleatoriedad y exploración de la salida del modelo), top_p (una alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con probabilidad top_p), presence_penalty (alienta al modelo a producir texto diferente al que ha generado antes) y maximum tokens (establece la longitud máxima de la salida generada por el modelo) para optimizar las salidas del modelo según los requisitos específicos de tu aplicación. Este nivel de adaptación te permite combinar completamente las capacidades del LLM con tus sistemas Auto-CoT.

Puedes visitar nuestro sitio web para obtener más información sobre la API de LLM, incluyendo las instrucciones de código para la integración, precios y otras características.

Conclusión
En este blog, exploramos el concepto de prompting de Cadena de Pensamiento (CoT) y la necesidad de un enfoque automatizado llamado Auto-CoT. Mientras que los métodos CoT existentes tienen limitaciones, el enfoque Auto-CoT tiene como objetivo generar automáticamente ejemplos de demostración para guiar a los modelos de lenguaje en el razonamiento paso a paso, sin requerir esfuerzo manual. Discutimos los pasos clave de Auto-CoT, incluyendo la agrupación de preguntas y la generación de demostraciones. Finalmente, destacamos cómo la integración de APIs de LLM puede proporcionar modelos de lenguaje potentes y flexibles para impulsar el sistema Auto-CoT, lo que lleva a un mejor rendimiento, escalabilidad y mejoras continuas del modelo. En general, Auto-CoT representa un desarrollo emocionante en la mejora de las capacidades de razonamiento de los modelos de lenguaje grandes.
Novita AI, la plataforma integral para la creatividad ilimitada que te brinda acceso a más de 100 APIs. Desde generación de imágenes y procesamiento de lenguaje hasta mejora de audio y manipulación de video, con pago por uso económico, te libera de las tareas de mantenimiento de GPU mientras construyes tus propios productos. Pruébalo gratis.
