Modelos de Linguagem como Compiladores: A Simulação da Execução de Pseudocódigo Melhora o Raciocínio Algorítmico em Modelos de Linguagem
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
Resumo
O raciocínio algorítmico refere-se à capacidade de compreender os padrões complexos por trás de um problema e decompô-los em uma sequência de etapas de raciocínio que levam à solução. Essa natureza do raciocínio algorítmico o torna um desafio para grandes modelos de linguagem (LLMs), mesmo que eles tenham demonstrado desempenho promissor em outras tarefas de raciocínio. Nesse contexto, alguns estudos recentes utilizam linguagens de programação (por exemplo, Python) para expressar a lógica necessária para resolver uma instância/pergunta específica (por exemplo, Program-of-Thought), inspirados por suas sintaxes rigorosas e precisas. No entanto, não é trivial escrever um código executável que expresse a lógica correta de forma imediata em uma única chamada de inferência. Além disso, o código gerado especificamente para uma instância não pode ser reutilizado para outras, mesmo que sejam da mesma tarefa e possam exigir lógica idêntica para serem resolvidas. Este artigo apresenta o Think-and-Execute, uma estrutura inovadora que decompõe o processo de raciocínio dos modelos de linguagem em duas etapas. (1) No Think, descobrimos uma lógica em nível de tarefa que é compartilhada por todas as instâncias para resolver uma determinada tarefa e, em seguida, expressamos essa lógica em pseudocódigo; (2) No Execute, adaptamos ainda mais o pseudocódigo gerado para cada instância e simulamos a execução do código. Com experimentos extensos em sete tarefas de raciocínio algorítmico, demonstramos a eficácia do Think-and-Execute. Nossa abordagem melhora significativamente o raciocínio dos LLMs em comparação com várias linhas de base fortes que realizam raciocínio específico para instâncias (por exemplo, CoT e PoT), sugerindo a utilidade de descobrir a lógica em nível de tarefa. Além disso, mostramos que, em comparação com a linguagem natural, o pseudocódigo pode orientar melhor o raciocínio dos LLMs, mesmo que eles sejam treinados para seguir instruções em linguagem 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.