StarCoder2 と The Stack v2 のリリース

StarCoder2 モデルファミリーと仕様

StarCoder2 は 3 つのパラメータサイズで提供され、各サイズは The Stack v2 の異なるサブセットで訓練され、異なるパートナーによってサポートされています。

  • StarCoder2-3B: ServiceNow によって、17 のプログラミング言語にまたがる 3 兆トークン以上で訓練されました。
  • StarCoder2-7B: Hugging Face によって、17 のプログラミング言語にまたがる 3.5 兆トークン以上で訓練されました。
  • StarCoder2-15B: NVIDIA が NVIDIA NeMo を使用し、NVIDIA 加速インフラ上で訓練しました。この旗艦モデルは 4 兆トークン以上で訓練され、600 以上のプログラミング言語をカバーしています。

ファミリー内のすべてのモデルは、Grouped Query Attention (GQA) を特徴とする共通アーキテクチャ、コンテキストウィンドウ 16,384 トークン、スライディングウィンドウアテンション 4,096 トークンを共有しています。コード補完能力を向上させるために、すべて Fill-in-the-Middle (FIM) 目的で訓練されました。

パフォーマンスベンチマーク

StarCoder2-15B は同サイズクラスで最高のモデルとして位置付けられ、多くの評価で 33B 以上のパラメータを持つモデルと同等の性能を示します。さらに、StarCoder2-3B モデルは前世代の StarCoder1-15B と同等の性能を持ちます。

The Stack v2 データセット

The Stack v2 は、LLM の事前学習用に設計された最大規模のオープンコードデータセットで、Software Heritage アーカイブから派生しています。Software Heritage は、Inria と UNESCO が主導する非営利イニシアチブで、公開されているすべてのソフトウェアソースコードを保存することを目的としています。

前バージョンと比較して、The Stack v2 は規模と品質の両面で大幅に向上しています。

指標 The Stack v1 The Stack v2
全体サイズ 6.4TB 67.5TB
重複除去サイズ 2.9TB 32.1TB
訓練データセット ~200B トークン ~900B トークン

v2 の技術的改善点として、言語とライセンス検出手順の強化、フィルタリングヒューリスティックの改善、リポジトリ単位でデータをグループ化する構造があります。後者により、モデルはリポジトリレベルのコンテキストで訓練でき、プロジェクト全体の依存関係の理解が向上します。

ガバナンスとアクセシビリティ

StarCoder2 とその関連データセットは BigCode OpenRAIL-M v1 ライセンス契約の下でリリースされています。透明性とデータガバナンスを確保するために、BigCode は以下のツールを提供しています。

  • StarCoder2 Search: 事前学習データセット内のコードを対象とした全文検索ツールです。
  • StarCoder2 Membership Test: 特定のコードが事前学習データに含まれていたかを高速に確認できるユーティリティです。

BigCode は、Hugging Face と ServiceNow が主導する科学的協働プロジェクトで、オープンコード LLM の責任ある開発に取り組んでいます。

Sources