CodeIt: Modelli Linguistici Auto-Miglioranti con Replay Prioritario Retrospettivo
CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay
February 7, 2024
Autori: Natasha Butt, Blazej Manczak, Auke Wiggers, Corrado Rainone, David Zhang, Michaël Defferrard, Taco Cohen
cs.AI
Abstract
I modelli linguistici di grandi dimensioni stanno risolvendo sempre più compiti che si ritiene comunemente richiedano capacità di ragionamento a livello umano. Tuttavia, questi modelli continuano a ottenere prestazioni molto scarse su benchmark di intelligenza generale come il Corpus di Astrazione e Ragionamento (ARC). In questo articolo, affrontiamo ARC come un problema di programmazione tramite esempi e introduciamo un metodo nuovo e scalabile per l'auto-miglioramento dei modelli linguistici chiamato Iterazione del Codice (CodeIt). Il nostro metodo alterna tra 1) campionamento di programmi e rilabeling retrospettivo, e 2) apprendimento da replay di esperienze prioritarie. Rilabelando l'obiettivo di un episodio (cioè, l'output del programma target dato l'input) con l'output effettivamente prodotto dal programma campionato, il nostro metodo affronta efficacemente l'estrema scarsità di ricompense nella sintesi di programmi. Applicando CodeIt al dataset ARC, dimostriamo che il replay retrospettivo prioritario, insieme al pre-training e all'aumentazione dei dati, porta a una generalizzazione inter-task di successo. CodeIt è il primo approccio neuro-simbolico che scala all'intero dataset di valutazione ARC. Il nostro metodo risolve il 15% dei task di valutazione ARC, raggiungendo prestazioni all'avanguardia e superando le baseline neurali e simboliche esistenti.
English
Large language models are increasingly solving tasks that are commonly
believed to require human-level reasoning ability. However, these models still
perform very poorly on benchmarks of general intelligence such as the
Abstraction and Reasoning Corpus (ARC). In this paper, we approach ARC as a
programming-by-examples problem, and introduce a novel and scalable method for
language model self-improvement called Code Iteration (CodeIt). Our method
iterates between 1) program sampling and hindsight relabeling, and 2) learning
from prioritized experience replay. By relabeling the goal of an episode (i.e.,
the target program output given input) to the realized output produced by the
sampled program, our method effectively deals with the extreme sparsity of
rewards in program synthesis. Applying CodeIt to the ARC dataset, we
demonstrate that prioritized hindsight replay, along with pre-training and
data-augmentation, leads to successful inter-task generalization. CodeIt is the
first neuro-symbolic approach that scales to the full ARC evaluation dataset.
Our method solves 15% of ARC evaluation tasks, achieving state-of-the-art
performance and outperforming existing neural and symbolic baselines.