StarCoder2 コーディングLLM(スターコーダーツーコーディングエルエルエム)
BigCode プロジェクトが開発したオープンソースのコーディング特化大規模言語モデル。3B・7B・15Bの3サイズを提供し、600以上のプログラミング言語に対応する。
StarCoder2 コーディングLLMとは
StarCoder2は、BigCodeプロジェクト(Hugging Face・ServiceNow主導)が2024年に公開したオープンソースのコーディング特化大規模言語モデル(LLM)です。前作StarCoderから大幅に改善され、3B・7B・15Bの3サイズで提供されています。
訓練データ: The Stack v2
StarCoder2の核心はThe Stack v2と呼ばれるコーディングデータセットです。
- 言語数: 619のプログラミング言語
- 総トークン数: 3.3兆トークン(3.3 Trillion)
- データソース: GitHub公開リポジトリ・Stack Overflow・GitHub Issues・Jupyter Notebooks
- ライセンス遵守: 許可ライセンス(Apache 2.0・MIT・BSD等)のコードのみ収録
The Stack v2は前作The Stack(358言語)を大幅に拡張し、GitHubの最新コードを2024年時点でクローリングしたものです。
3サイズ比較
| モデル | パラメータ数 | HumanEval Pass@1 | VRAM目安 | 用途 |
|---|---|---|---|---|
| StarCoder2-3B | 30億 | 31.7% | 6GB以上 | 軽量補完・エッジデバイス |
| StarCoder2-7B | 70億 | 35.4% | 12GB以上 | バランス型ローカル補完 |
| StarCoder2-15B | 150億 | 46.8% | 24GB以上 | 高精度補完・コードレビュー |
アーキテクチャ
- 変換器アーキテクチャ: Grouped Query Attention (GQA)
- コンテキストウィンドウ: 16,384トークン(16K)
- トークナイザー: BPE(BytePair Encoding)、語彙数49,152
- Fill-in-the-Middle (FIM): カーソル位置前後からのコード補完に対応
- マルチクエリアテンション: 推論速度を改善
ベンチマーク成績(15Bモデル)
| ベンチマーク | StarCoder2-15B | Code Llama-34B | Codestral-22B |
|---|---|---|---|
| HumanEval | 46.8% | 48.8% | 81.1% |
| MBPP | 66.2% | 61.2% | 75.9% |
| DS-1000 | 46.4% | 38.4% | - |
| MultiPL-E | 46.9% | 39.8% | - |
2024年時点比較。Codestralは2024年後半リリースのため差が開く。
ローカル環境での使い方
VS Code + Continue拡張:
# Ollamaでモデル取得
ollama pull starcoder2:15b
# Continue拡張のconfig.jsonに追加
{
"models": [{
"title": "StarCoder2-15B",
"provider": "ollama",
"model": "starcoder2:15b"
}]
}
LM Studio:
- LM Studioを起動
- 検索バーで「StarCoder2」を検索
- 15B Q4_K_Mをダウンロード(約9GB)
- サーバーを起動してContinue等から接続
ライセンス
StarCoder2はBigCode OpenRAIL-M v1ライセンスで提供されています。商用利用は可能ですが、有害コード生成・著作権侵害コードの大量生成等への利用は制限されています。商用利用前にライセンス条項を確認してください。
よくある質問(FAQ)
Q1: StarCoder2とStarCoderの違いは? A: StarCoder2は訓練データをThe Stack→The Stack v2(619言語・3.3Tトークン)に拡張し、GQAアーキテクチャ採用でパフォーマンス・効率ともに向上しています。
Q2: 日本語コードコメントに対応しているか? A: 多言語コードコメントを含む訓練データが含まれているため基本的な対応はしていますが、日本語専用最適化はされていません。英語コメントのほうが補完精度は高い傾向があります。
Q3: RTX 4090でStarCoder2-15Bは動くか? A: RTX 4090(24GB VRAM)でQ4量子化版(約9GB)なら快適に動作します。FP16フル精度では24GBを超えるため量子化が推奨です。