CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay

Natasha Butt, Blazej Manczak, Auke Wiggers, Corrado Rainone, David W. Zhang +2 more
2/7/2024
cs.AIcs.CLcs.LG

Official code: Qualcomm-AI-research/codeit (27 stars, BSD-3-Clause-Clear, last commit 2024-06-06).

Abstract

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. Our code is available at https://github.com/Qualcomm-AI-research/codeit .

View on arXivView PDF

Code Implementations(1)

BSD-3-Clause-Clear
276Shell, PythonMay 29, 20242 years agoBSD-3-Clause-Clear

Similar Papers

Cite this paper

@article{butt2024codeit,
  title  = {CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay},
  author = {Natasha Butt and Blazej Manczak and Auke Wiggers and Corrado Rainone and David W. Zhang and Michaël Defferrard and Taco Cohen},
  year   = {2024},
  eprint = {2402.04858},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.04858v2},
  journal = {ICML 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2402.04858.svg)](https://codeofpaper.com/paper/2402.04858)

Discussion