代碼生成:具有優先後見重播的自我改進語言模型
CodeIt: Self-Improving Language Models with Prioritized Hindsight Replay
February 7, 2024
作者: Natasha Butt, Blazej Manczak, Auke Wiggers, Corrado Rainone, David Zhang, Michaël Defferrard, Taco Cohen
cs.AI
摘要
大型語言模型越來越能夠解決一般認為需要人類水平推理能力的任務。然而,這些模型在像是抽象和推理語料庫(ARC)這樣的智能總體基準測試中表現仍然非常糟糕。在本文中,我們將ARC視為一個通過示例編程的問題,並引入一種名為程式迭代(CodeIt)的新穎且可擴展的語言模型自我改進方法。我們的方法在程式採樣和事後重新標記以及從優先經驗重播中學習之間進行迭代。通過將一個情節的目標(即給定輸入的目標程式輸出)重新標記為採樣程式生成的實際輸出,我們的方法有效處理了程式綜合中獎勵的極度稀疏性。將CodeIt應用於ARC數據集,我們展示了優先事後重播、預訓練和數據擴增結合,實現了成功的任務間泛化。CodeIt是首個能夠擴展到完整ARC評估數據集的神經符號方法。我們的方法解決了15%的ARC評估任務,實現了最先進的性能,並優於現有的神經和符號基準。
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.