Skip to yearly menu bar Skip to main content


CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay

Natasha Butt · Blazej Manczak · Auke Wiggers · Corrado Rainone · David Zhang · MichaĆ«l Defferrard · Taco Cohen

Hall C 4-9 #715
[ ] [ Project Page ]
Wed 24 Jul 4:30 a.m. PDT — 6 a.m. PDT


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 the 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 program output given input) to the output actually 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. Our code is available at

Live content is unavailable. Log in and register to view live content