Flusso di Ricerca (SoS): Imparare a Cercare nel Linguaggio
Stream of Search (SoS): Learning to Search in Language
April 1, 2024
Autori: Kanishk Gandhi, Denise Lee, Gabriel Grand, Muxin Liu, Winson Cheng, Archit Sharma, Noah D. Goodman
cs.AI
Abstract
I modelli linguistici raramente vengono esposti a errori fruttuosi durante l'addestramento. Di conseguenza, faticano a guardare oltre il token successivo, soffrendo di un effetto a valanga di errori e trovando difficoltà a prevedere le conseguenze delle loro azioni a diversi passi di distanza. In questo articolo, dimostriamo come i modelli linguistici possano essere insegnati a cercare rappresentando il processo di ricerca nel linguaggio, come una stringa appiattita – un flusso di ricerca (Stream of Search, SoS). Proponiamo un linguaggio unificato per la ricerca che cattura una gamma di diverse strategie di ricerca simbolica. Illustriamo il nostro approccio utilizzando il semplice ma difficile gioco del Countdown, in cui l'obiettivo è combinare numeri di input con operazioni aritmetiche per raggiungere un numero target. Pre-addestriamo un modello linguistico basato su transformer da zero su un dataset di flussi di ricerca generati da risolutori euristici. Scopriamo che il pre-addestramento SoS aumenta l'accuratezza della ricerca del 25% rispetto ai modelli addestrati a prevedere solo la traiettoria di ricerca ottimale. Successivamente, perfezioniamo questo modello con due metodi di miglioramento delle politiche: Advantage-Induced Policy Alignment (APA) e Self-Taught Reasoner (STaR). I modelli SoS perfezionati risolvono il 36% dei problemi precedentemente irrisolti, inclusi problemi che non possono essere risolti da nessuno dei risolutori euristici. I nostri risultati indicano che i modelli linguistici possono imparare a risolvere problemi attraverso la ricerca, auto-migliorarsi per utilizzare flessibilmente diverse strategie di ricerca e potenzialmente scoprirne di nuove.
English
Language models are rarely shown fruitful mistakes while training. They then
struggle to look beyond the next token, suffering from a snowballing of errors
and struggling to predict the consequence of their actions several steps ahead.
In this paper, we show how language models can be taught to search by
representing the process of search in language, as a flattened string -- a
stream of search (SoS). We propose a unified language for search that captures
an array of different symbolic search strategies. We demonstrate our approach
using the simple yet difficult game of Countdown, where the goal is to combine
input numbers with arithmetic operations to reach a target number. We pretrain
a transformer-based language model from scratch on a dataset of streams of
search generated by heuristic solvers. We find that SoS pretraining increases
search accuracy by 25% over models trained to predict only the optimal search
trajectory. We further finetune this model with two policy improvement methods:
Advantage-Induced Policy Alignment (APA) and Self-Taught Reasoner (STaR). The
finetuned SoS models solve 36% of previously unsolved problems, including
problems that cannot be solved by any of the heuristic solvers. Our results
indicate that language models can learn to solve problems via search,
self-improve to flexibly use different search strategies, and potentially
discover new ones.