atlas

Research map / Large language models / Instruction and fine-tuning

Training Language Models on Synthetic Edit Sequences Improves Code Synthesis

ICLR 2025 · Large language models › Instruction and fine-tuning · approach: Efficient LLM fine-tuning systems · 1 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes LintSeq, a linter-guided algorithm that refactors code instruction data into synthetic insertion-only edit sequences, and fine-tunes LMs (TinyCodeLM 150M/400M and Gemma 2, Phi-3, Llama 3.1) to synthesize code edit-by-edit.

Problem

Language models synthesize programs in a single autoregressive pass, while human programmers write code by iteratively editing; sequential edit data for code synthesis is scarce, making it hard for LMs to learn edit-by-edit generation and to scale test-time compute efficiently.

Approach

LintSeq backward-samples linter-error-free intermediate program states by random line deletions (with linter-guided removal of affected lines) and converts them via Unix diff into insertion-only edit sequences, so that standard SFT on refactored instruction data teaches models to write code edit-by-edit.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Fine-tune TinyCodeLM-150M on LintSeq edit sequences instead of standard instruction dataTinyCodeLM-150M · HumanEvalpass@1: 9.1 -> 12.8Helped
Fine-tune TinyCodeLM-400M on LintSeq edit sequences instead of standard instruction dataTinyCodeLM-400M · HumanEvalpass@1: 11.3 -> 13.4Helped
Fine-tune TinyCodeLM-150M on LintSeq edit sequences instead of standard instruction dataTinyCodeLM-150M · MBPPpass@1: 11.5 -> 13.6Helped
Fine-tune TinyCodeLM-400M on LintSeq edit sequences instead of standard instruction dataTinyCodeLM-400M · MBPPpass@1: 15.5 -> 19.4Helped
Add linter-guided structure to edit sampling rather than using random edit sampling (ablation)TinyCodeLM-150M edit-sequence fine-tuning · HumanEvalpass@1: 4.5 -> 6.4Helped
Add linter-guided structure to edit sampling rather than using random edit sampling (ablation)TinyCodeLM-400M edit-sequence fine-tuning · HumanEvalpass@1: 6.0 -> 8.4Helped
Add linter-guided structure to edit sampling rather than using random edit sampling (ablation)TinyCodeLM-150M edit-sequence fine-tuning · MBPP(+)pass@1: 6.5 -> 8.6Helped
Add linter-guided structure to edit sampling rather than using random edit sampling (ablation)TinyCodeLM-400M edit-sequence fine-tuning · MBPP(+)pass@1: 10.2 -> 14.2Helped
Fine-tune on LintSeq edit sequences rather than standard instruction dataGemma 2, Phi-3, and Llama 3.1 models · HumanEval, MBPP, DS-1000, BigCodeBench Instructpass@1: +2.3 HumanEval, +4.3 MBPP, +3.1 DS-1000, and +1.1 BigCodeBench InstructMixed
Fine-tune on LintSeq edit sequences rather than standard instruction dataPhi-3, Gemma 2, and Llama 3.1 models · HumanEval, MBPP, CodeContestspass@k vs total test-time FLOPsHelped

Surprising findings

Limitations

Experimental setup

Datasets: Magicoder OSS-Instruct Python subset StarCoder2-15B self-alignment instruction data FineWeb 10BT sample The Stack Python subset

Benchmarks: HumanEval MBPP(+) CodeContests DS-1000 BigCodeBench (Instruct)

Metrics: pass@1 pass@k pass@k vs total test-time FLOPs proportion of generations with lint errors

Baselines: CodeT5+ AlphaCode Codex CodeGen-Mono Standard SFT on instruction data RandSeq

Builds on: OSS-Instruct Unix diff OLMo CommitPackFT

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy