HackerPapers

arXiv:2207.14502cs.LG

Language Models Can Teach Themselves to Program Better

Patrick Haluptzok, Matthew Bowers, Adam Tauman Kalai

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

Recent Language Models (LMs) achieve breakthrough performance in code generation when trained on human-authored problems, even solving some competitive-programming problems. Self-play has proven useful in games such as Go, and thus it is natural to ask whether LMs can generate their own instructive programming problems to improve their performance. We show that it is possible for an LM to synthesize programming problems and solutions, which are filtered for correctness by a Python interpreter. The LM's performance is then seen to improve when it is fine-tuned on its own synthetic problems and verified solutions; thus the model 'improves itself' using the Python interpreter. Problems are specified formally as programming puzzles [Schuster et al., 2021], a code-based problem format where solutions can easily be verified for correctness by execution. In experiments on publicly-available LMs, test accuracy more than doubles. This work demonstrates the potential for code LMs, with an interpreter, to generate instructive problems and improve their own performance.

arXiv comments
22 pages, 14 figures
Journal reference
DOI
Subjects
cs.LGMachine Learning cs.AIArtificial Intelligence

On Hacker News

Linked by 1 identifiable commenter in 4 comments across 4 threads, from Apr 2023 to Jan 2024. Found in 2 HN submissions from Aug 2022 to Mar 2023. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments4 threads

    • Wow, that's a great overview. While most of it goes over my head, it is interesting that quite a lot of research has been done in this direction. The system I outlined above was inspired by this intriguing paper: https://arxiv.org/abs/2207.14502 It is superficially about a…

      cubefoxView on HNParent context

  1. This time, it feels different 1 comment
    • I'm not sure how consensus would get you significantly above human baseline. Doesn't that just get you some sort of average? The basic problem with synthetic self-training is that we need some reward function which tells us whether a given synthetic example is good. In case of…

      cubefoxView on HNParent context

    • These guys did that by letting a model generate unit tests and then let the interpreter check it: https://arxiv.org/abs/2207.14502

      cubefoxView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.