SelfCodeAlign: Self-Alignment for Code Generation

要約

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

要約(オリジナル)

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-10-31 17:55:13+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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