atlas

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

OctoPack: Instruction Tuning Code Large Language Models

ICLR 2024 · Large language models › Instruction and fine-tuning · approach: Efficient LLM fine-tuning systems · 17 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.

Introduces CommitPack/CommitPackFT, a 4TB Git-commit instruction dataset, and HumanEvalPack, a 3-task x 6-language benchmark, to instruction-tune StarCoder (OctoCoder) and CodeGeeX2 (OctoGeeX) with permissive licenses.

Problem

Instruction tuning for code LLMs typically relies on synthetic data generated by closed-source models (e.g., OpenAI), which is legally and practically problematic, and existing code benchmarks cover mainly Python code synthesis, leaving code repair and explanation under-evaluated.

Approach

Use natural human instructions from Git commit messages paired with code diffs as a permissively licensed instruction-tuning source, and extend HumanEval into code repair, explanation, and synthesis tasks across six languages, with execution-based pass@k for explanation via chained regeneration.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
instruction-tune StarCoder with CommitPackFT + OASST instead of the base modelStarCoder · HumanEvalPack Code Synthesis (Python)pass@1 (%): relative 38%Helped
add CommitPackFT to instruction tuning data (ablation)StarCoder · HumanEvalPack Code Repair (Python)pass@1 (%)Helped
use OASST alone instead of CommitPackFT-containing data (ablation)StarCoder · HumanEvalPack Code Repair (Python)pass@1 (%)Hurt
include natural-language-target samples such as OASST (ablation)StarCoder instruction tuning · HumanEvalPack Code Explanation (Python)pass@1 (%)Helped
use Self-Instruct code-target data without natural-language targets (ablation)StarCoder instruction tuning · HumanEvalPack Code Explanation (Python)pass@1 (%)Hurt
mix xP3x with OASST instead of CommitPackFT with OASST (ablation)StarCoder instruction tuning · HumanEvalPack Code Explanation (Python)pass@1 (%)Hurt
combine CommitPackFT with OASST (ablation)StarCoder instruction tuning · HumanEvalPack average across taskspass@1 (%): absolute 23%Helped
add more programming-language coverage from CommitPackFT during instruction tuningStarCoder · HumanEvalPack new-language taskspass@1 (%)Helped

Surprising findings

Limitations

Experimental setup

Datasets: CommitPack CommitPackFT OASST xP3x StarCoder Self-Instruct HumanEval

Benchmarks: HumanEvalPack

Metrics: pass@1

Baselines: WizardCoder InstructCodeT5+ GPT-4 BLOOMZ StarChat-β CodeGeeX2 StarCoder

Builds on: HumanEval StarCoder Self-Instruct xP3x OASST

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