Modelos de Lenguaje como Compiladores: La Simulación de la Ejecución de Pseudocódigo Mejora el Razonamiento Algorítmico en Modelos de Lenguaje
Language Models as Compilers: Simulating Pseudocode Execution Improves Algorithmic Reasoning in Language Models
April 3, 2024
Autores: Hyungjoo Chae, Yeonghyeon Kim, Seungone Kim, Kai Tzu-iunn Ong, Beong-woo Kwak, Moohyeon Kim, Seonghwan Kim, Taeyoon Kwon, Jiwan Chung, Youngjae Yu, Jinyoung Yeo
cs.AI
Resumen
El razonamiento algorítmico se refiere a la capacidad de comprender los patrones complejos detrás de un problema y descomponerlos en una secuencia de pasos de razonamiento hacia la solución. Esta naturaleza del razonamiento algorítmico lo convierte en un desafío para los modelos de lenguaje grandes (LLMs, por sus siglas en inglés), a pesar de que han demostrado un rendimiento prometedor en otras tareas de razonamiento. En este contexto, algunos estudios recientes utilizan lenguajes de programación (por ejemplo, Python) para expresar la lógica necesaria para resolver una instancia/pregunta dada (por ejemplo, Program-of-Thought), inspirados por su sintaxis estricta y precisa. Sin embargo, no es trivial escribir un código ejecutable que exprese la lógica correcta sobre la marcha dentro de una única llamada de inferencia. Además, el código generado específicamente para una instancia no puede reutilizarse para otras, incluso si pertenecen a la misma tarea y podrían requerir una lógica idéntica para resolverse. Este artículo presenta Think-and-Execute, un marco novedoso que descompone el proceso de razonamiento de los modelos de lenguaje en dos pasos. (1) En Think, descubrimos una lógica a nivel de tarea que es compartida por todas las instancias para resolver una tarea dada y luego expresamos dicha lógica con pseudocódigo; (2) En Execute, adaptamos aún más el pseudocódigo generado a cada instancia y simulamos la ejecución del código. Con experimentos extensos en siete tareas de razonamiento algorítmico, demostramos la efectividad de Think-and-Execute. Nuestro enfoque mejora mejor el razonamiento de los modelos de lenguaje en comparación con varias líneas base sólidas que realizan razonamiento específico por instancia (por ejemplo, CoT y PoT), lo que sugiere la utilidad de descubrir una lógica a nivel de tarea. Además, mostramos que, en comparación con el lenguaje natural, el pseudocódigo puede guiar mejor el razonamiento de los modelos de lenguaje, a pesar de que están entrenados para seguir instrucciones en lenguaje natural.
English
Algorithmic reasoning refers to the ability to understand the complex
patterns behind the problem and decompose them into a sequence of reasoning
steps towards the solution. Such nature of algorithmic reasoning makes it a
challenge for large language models (LLMs), even though they have demonstrated
promising performance in other reasoning tasks. Within this context, some
recent studies use programming languages (e.g., Python) to express the
necessary logic for solving a given instance/question (e.g.,
Program-of-Thought) as inspired by their strict and precise syntaxes. However,
it is non-trivial to write an executable code that expresses the correct logic
on the fly within a single inference call. Also, the code generated
specifically for an instance cannot be reused for others, even if they are from
the same task and might require identical logic to solve. This paper presents
Think-and-Execute, a novel framework that decomposes the reasoning process of
language models into two steps. (1) In Think, we discover a task-level logic
that is shared across all instances for solving a given task and then express
the logic with pseudocode; (2) In Execute, we further tailor the generated
pseudocode to each instance and simulate the execution of the code. With
extensive experiments on seven algorithmic reasoning tasks, we demonstrate the
effectiveness of Think-and-Execute. Our approach better improves LMs' reasoning
compared to several strong baselines performing instance-specific reasoning
(e.g., CoT and PoT), suggesting the helpfulness of discovering task-level
logic. Also, we show that compared to natural language, pseudocode can better
guide the reasoning of LMs, even though they are trained to follow natural
language instructions.Summary
AI-Generated Summary