ChatPaper.aiChatPaper

OctoPack: Instruktionsfeinabstimmung von Code-Großsprachmodellen

OctoPack: Instruction Tuning Code Large Language Models

August 14, 2023
Autoren: Niklas Muennighoff, Qian Liu, Armel Zebaze, Qinkai Zheng, Binyuan Hui, Terry Yue Zhuo, Swayam Singh, Xiangru Tang, Leandro von Werra, Shayne Longpre
cs.AI

Zusammenfassung

Das Feinabstimmen großer Sprachmodelle (LLMs) auf Anweisungen führt zu erheblichen Leistungsverbesserungen bei natürlichen Sprachaufgaben. Wir wenden das Anweisungs-Finetuning unter Verwendung von Code an und nutzen dabei die natürliche Struktur von Git-Commit-Nachrichten, die Codeänderungen mit menschlichen Anweisungen verknüpfen. Wir haben CommitPack zusammengestellt: 4 Terabyte an Git-Commit-Nachrichten aus 350 Programmiersprachen. Wir vergleichen CommitPack mit anderen natürlichen und synthetischen Codeanweisungen (xP3x, Self-Instruct, OASST) am StarCoder-Modell mit 16 Milliarden Parametern und erreichen Spitzenleistungen unter den Modellen, die nicht auf OpenAI-Ausgaben trainiert wurden, im HumanEval-Python-Benchmark (46,2 % pass@1). Darüber hinaus führen wir HumanEvalPack ein, das den HumanEval-Benchmark auf insgesamt 3 Codierungsaufgaben (Code-Reparatur, Code-Erklärung, Code-Synthese) in 6 Sprachen (Python, JavaScript, Java, Go, C++, Rust) erweitert. Unsere Modelle, OctoCoder und OctoGeeX, erzielen die beste Leistung in HumanEvalPack unter allen permissiven Modellen, was die Vorteile von CommitPack bei der Generalisierung auf eine breitere Palette von Sprachen und natürlichen Codierungsaufgaben demonstriert. Code, Modelle und Daten sind frei verfügbar unter https://github.com/bigcode-project/octopack.
English
Finetuning large language models (LLMs) on instructions leads to vast performance improvements on natural language tasks. We apply instruction tuning using code, leveraging the natural structure of Git commits, which pair code changes with human instructions. We compile CommitPack: 4 terabytes of Git commits across 350 programming languages. We benchmark CommitPack against other natural and synthetic code instructions (xP3x, Self-Instruct, OASST) on the 16B parameter StarCoder model, and achieve state-of-the-art performance among models not trained on OpenAI outputs, on the HumanEval Python benchmark (46.2% pass@1). We further introduce HumanEvalPack, expanding the HumanEval benchmark to a total of 3 coding tasks (Code Repair, Code Explanation, Code Synthesis) across 6 languages (Python, JavaScript, Java, Go, C++, Rust). Our models, OctoCoder and OctoGeeX, achieve the best performance across HumanEvalPack among all permissive models, demonstrating CommitPack's benefits in generalizing to a wider set of languages and natural coding tasks. Code, models and data are freely available at https://github.com/bigcode-project/octopack.
PDF301December 15, 2024