Summary of Next: Teaching Large Language Models to Reason About Code Execution, by Ansong Ni et al.
NExT: Teaching Large Language Models to Reason about Code Execution
by Ansong Ni, Miltiadis Allamanis, Arman Cohan, Yinlin Deng, Kensen Shi, Charles Sutton, Pengcheng Yin
First submitted to arxiv on: 23 Apr 2024
Categories
- Main: Machine Learning (cs.LG)
- Secondary: Computation and Language (cs.CL); Programming Languages (cs.PL); Software Engineering (cs.SE)
GrooveSquid.com Paper Summaries
GrooveSquid.com’s goal is to make artificial intelligence research accessible by summarizing AI papers in simpler terms. Each summary below covers the same AI paper, written at different levels of difficulty. The medium difficulty and low difficulty versions are original summaries written by GrooveSquid.com, while the high difficulty version is the paper’s original abstract. Feel free to learn from the version that suits you best!
Summary difficulty | Written by | Summary |
---|---|---|
High | Paper authors | High Difficulty Summary Read the original abstract here |
Medium | GrooveSquid.com (original content) | Medium Difficulty Summary This paper proposes NExT, a method for teaching large language models (LLMs) to reason about the run-time behavior of programs through execution trace analysis. The goal is to enable LLMs to understand and debug code more effectively, like human developers do. To achieve this, NExT uses self-training to generate synthetic training data that includes chain-of-thought (CoT) rationales leading to correct solutions. Experimental results show that NExT improves the fix rate of a PaLM 2 model by 26.1% and 14.3% absolute on program repair tasks based on MBPP and HumanEval, with better rationale quality verified by automated metrics and human raters. |
Low | GrooveSquid.com (original content) | Low Difficulty Summary This paper helps computers understand how code works when it’s running. Right now, big language models can only look at the words in the code, not what’s happening while it’s being executed. The authors created a new way to teach these models to think about program execution by looking at variable states (like what values are stored in memory) and using “chain-of-thought” explanations to figure out how to fix broken code. |
Keywords
» Artificial intelligence » Palm » Self training