・完全に透明性のある自己整合型のコードLLMで、人手によるアノテーションや巨大な独自LLMからの蒸留データを一切使用せずにトレーニング
・HumanEval scoreで72.6を達成し、CodeLlama-70B-Instructを上回る性能を示した
・様々なベンチマークで同規模のオープンソースモデルの中でトップクラスの結果を達成し、GPT-4から蒸留したモデルよりも自身のデータから学習する方が効果的である可能性を示唆

大規模言語モデル(LLM)に自然言語の指示に従う能力を与えるインストラクションチューニングの手法が注目を集めています。しかし、プログラミングタスクにおいては、人手で作成された高コストな指示や、巨大で制約の多い独自LLMによって生成された指示を用いることが一般的でした。

StarCoder2-15B-Instructの特徴

Yuxiang Wei氏らのチームは、完全に透明性があり、制約のない自己整合型のコードLLMである「StarCoder2-15B-Instruct-v0.1」を発表しました。このモデルの特徴は以下の通りです。

  • StarCoder2-15Bを用いて数千のインストラクションと応答のペアを生成し、人手によるアノテーションや巨大で独自のLLMからの蒸留データを一切使用せずに、StarCoder-15B自体をファインチューニング
  • HumanEval scoreで72.6を達成し、CodeLlama-70B-Instructの72.0を上回る性能
  • GPT-4から蒸留したデータでトレーニングしたモデルよりも、自身の分布内のデータから学習する方が効果的である可能性を示唆

データ生成のプロセス

StarCoder2-15B-Instructのデータ生成は主に3つのステップで構成されています。

  1. 許諾されたソースコードの大規模コーパスであるThe Stack v1から、高品質で多様なシード関数を抽出
  2. シード関数に含まれるデータのデシリアライゼーションやリストの連結、再帰などの様々なコードの概念を組み込んだ、多様で現実的なコード指示を作成
  3. 各指示に対して、実行ガイドによる自己検証を通じて高品質な応答を生成

評価結果

EvalPlusベンチマークにおいて、StarCoder2-15B-Instructは同規模の許諾されたLLMの中でトップの性能を示し、はるかに大きなGrok-1 Command-R+やDBRXを上回り、Snowflake Arctic 480BやMixtral-8x22B-Instructに匹敵する結果となりました。

LiveCodeBenchやDS-1000でも、StarCoder2-15B-Instructは同等またはより小さなサイズのオープンソースモデルの中で最高の結果を達成しています。特にLiveCodeBenchでは、GPT-4のデータを蒸留したOpenCodeInterpreter-SC2-15Bを一貫して上回りました。

StarCoder2-15B-Instruct-v0.1は、GPT-4のような強力な教師モデルに頼ることなく、強力なインストラクションチューニングされたコードモデルを作成できることを初めて示しました。Wei氏らは、データキュレーションからトレーニングまでのパイプライン全体をオープンソース化しており、この分野のさらなる研究開発のきっかけになることが期待されます。