ChatPaper.aiChatPaper

OctoPack : Réglage par instruction des grands modèles de langage pour le code

OctoPack: Instruction Tuning Code Large Language Models

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

Résumé

L'affinage des grands modèles de langage (LLM) sur des instructions entraîne des améliorations significatives des performances sur les tâches de traitement du langage naturel. Nous appliquons l'affinage par instruction en utilisant du code, en exploitant la structure naturelle des commits Git, qui associent des modifications de code à des instructions humaines. Nous compilons CommitPack : 4 téraoctets de commits Git couvrant 350 langages de programmation. Nous comparons CommitPack à d'autres instructions de code naturelles et synthétiques (xP3x, Self-Instruct, OASST) sur le modèle StarCoder de 16 milliards de paramètres, et obtenons des performances de pointe parmi les modèles non entraînés sur les sorties d'OpenAI, sur le benchmark HumanEval Python (46,2 % de réussite en pass@1). Nous introduisons également HumanEvalPack, qui étend le benchmark HumanEval à un total de 3 tâches de codage (Réparation de code, Explication de code, Synthèse de code) dans 6 langages (Python, JavaScript, Java, Go, C++, Rust). Nos modèles, OctoCoder et OctoGeeX, obtiennent les meilleures performances sur l'ensemble de HumanEvalPack parmi tous les modèles permissifs, démontrant les avantages de CommitPack pour généraliser à un plus large éventail de langages et de tâches de codage naturelles. Le code, les modèles et les données sont librement disponibles à l'adresse 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