SelfCodeAlign: Self-Alignment for Code Generation

要約

命令チューニングは、大規模言語モデル(LLM)が人間の命令に従う能力を大幅に向上させる、教師ありの微調整アプローチである。SelfCodeAlignは、人間による大規模なアノテーションやディスティレーションを行うことなく、コードLLMをセルフアラインするための、初の完全に透過的で寛容なパイプラインである。SelfCodeAlignは、データ生成プロセス全体を通して、推論に同じ基本モデルを採用している。まず、高品質のシードスニペットから多様なコーディング概念を抽出し、新しいタスクを生成する。次に、タスクごとに複数のレスポンスをサンプリングし、それぞれをテストケースと組み合わせ、サンドボックス環境で検証する。最後に、命令チューニングのために合格例を選択する。我々の主な実験では、CodeQwen1.5-7Bと共にSelfCodeAlignを使用し、7万4千の命令と応答のペアのデータセットを生成した。このデータセットでファインチューニングを行った結果、HumanEval+で67.1pass@1を達成し、10倍小さいにもかかわらずCodeLlama-70B-Instructを上回るモデルを導き出しました。すべてのベンチマークにおいて、このファインチューニングされたモデルは、人間のアノテーションや蒸留を伴わない命令チューニングのための従来の最先端手法であるOctoPackで学習されたオリジナルバージョンを常に上回っています。さらに、SelfCodeAlignは3Bから33Bまでの様々なサイズのLLMで有効であり、ベースモデルは自身のデータ分布とのアライメントからより多くの利益を得ることができることを示します。さらに、パイプラインにおける各コンポーネントの有効性を検証し、GPT-4oからの直接蒸留、およびOSS-InstructやEvol-InstructなどのGPT-3.5ベースの主要な蒸留手法のいずれよりも、SelfCodeAlignが優れていることを示しました。SelfCodeAlignはまた、StarCoder2-Instructの作成につながりました。これは、完全に透過的で、寛容にライセンスされ、最先端のコーディング性能を達成する初のセルフアラインコードLLMです。

要約(オリジナル)

Instruction tuning is a supervised fine-tuning approach that significantly improves the ability of large language models (LLMs) to follow human instructions. We propose SelfCodeAlign, the first fully transparent and permissive pipeline for self-aligning code LLMs without extensive human annotations or distillation. SelfCodeAlign employs the same base model for inference throughout the data generation process. It first extracts diverse coding concepts from high-quality seed snippets to generate new tasks. It then samples multiple responses per task, pairs each with test cases, and validates them in a sandbox environment. Finally, passing examples are selected for instruction tuning. In our primary experiments, we use SelfCodeAlign with CodeQwen1.5-7B to generate a dataset of 74k instruction-response pairs. Finetuning on this dataset leads to a model that achieves a 67.1 pass@1 on HumanEval+, surpassing CodeLlama-70B-Instruct despite being ten times smaller. Across all benchmarks, this finetuned model consistently outperforms the original version trained with OctoPack, the previous state-of-the-art method for instruction tuning without human annotations or distillation. Additionally, we show that SelfCodeAlign is effective across LLMs of various sizes, from 3B to 33B, and that the base models can benefit more from alignment with their own data distribution. We further validate each component’s effectiveness in our pipeline, showing that SelfCodeAlign outperforms both direct distillation from GPT-4o and leading GPT-3.5-based distillation methods, such as OSS-Instruct and Evol-Instruct. SelfCodeAlign has also led to the creation of StarCoder2-Instruct, the first fully transparent, permissively licensed, and self-aligned code LLM that achieves state-of-the-art coding performance.

arxiv情報

著者 Yuxiang Wei,Federico Cassano,Jiawei Liu,Yifeng Ding,Naman Jain,Zachary Mueller,Harm de Vries,Leandro von Werra,Arjun Guha,Lingming Zhang
発行日 2024-11-01 16:06:10+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, DeepL

カテゴリー: cs.CL, cs.LG, cs.SE パーマリンク