Taalmodellen als Compilers: Het Simuleren van Pseudocode-uitvoering Verbeterd Algoritmisch Redeneren in Taalmodellen
Language Models as Compilers: Simulating Pseudocode Execution Improves Algorithmic Reasoning in Language Models
April 3, 2024
Auteurs: 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
Samenvatting
Algoritmisch redeneren verwijst naar het vermogen om de complexe patronen achter een probleem te begrijpen en deze te ontbinden in een reeks redeneerstappen naar de oplossing. Deze eigenschap van algoritmisch redeneren maakt het een uitdaging voor grote taalmmodellen (LLMs), ook al hebben ze veelbelovende prestaties getoond in andere redeneertaken. In deze context gebruiken sommige recente studies programmeertalen (bijv. Python) om de benodigde logica uit te drukken voor het oplossen van een gegeven instantie/vraag (bijv., Program-of-Thought), geïnspireerd door hun strikte en precieze syntax. Het is echter niet triviaal om uitvoerbare code te schrijven die de correcte logica uitdrukt in één enkele inferentie-aanroep. Bovendien kan de code die specifiek voor een instantie is gegenereerd, niet worden hergebruikt voor andere instanties, zelfs niet als ze van dezelfde taak zijn en mogelijk identieke logica vereisen om op te lossen. Dit artikel presenteert Think-and-Execute, een nieuw raamwerk dat het redeneerproces van taalmmodellen ontbindt in twee stappen. (1) In Think ontdekken we een taakniveau-logica die gedeeld wordt over alle instanties voor het oplossen van een gegeven taak en drukken we deze logica uit met pseudocode; (2) In Execute passen we de gegenereerde pseudocode verder aan aan elke instantie en simuleren we de uitvoering van de code. Met uitgebreide experimenten op zeven algoritmische redeneertaken demonstreren we de effectiviteit van Think-and-Execute. Onze aanpak verbetert het redeneren van LLMs beter in vergelijking met verschillende sterke baselines die instantie-specifiek redeneren uitvoeren (bijv., CoT en PoT), wat de nuttigheid aantoont van het ontdekken van taakniveau-logica. Ook laten we zien dat pseudocode, in vergelijking met natuurlijke taal, het redeneren van LLMs beter kan begeleiden, zelfs als ze getraind zijn om instructies in natuurlijke taal te volgen.
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.