AI・機械学習
3

StarCoder2-15B(スターコーダー・ツー・15ビー)

BigCode(Hugging FaceとServiceNowの共同研究)が2024年2月に公開したコード生成LLM。600以上のプログラミング言語を学習したモデルで、15Bパラメータながらコード補完・デバッグ・説明生成に高い性能を示す。

0 回閲覧
0 いいね
2026/6/1 更新

StarCoder2-15Bとは

StarCoder2-15BはBigCode(Hugging FaceとServiceNowの共同研究機関)が2024年2月に公開したコード生成特化LLMです。初代StarCoder(2023年5月)の後継モデルとして、学習データ・アーキテクチャ・ライセンスが全面的に刷新されました。3B・7B・15Bの3サイズが用意されており、15Bが最高性能版です。

モデルの主要スペック

項目StarCoder2-3BStarCoder2-7BStarCoder2-15B
パラメータ3B7B15B
学習トークン3兆3.5兆4兆
コンテキスト長16,38416,38416,384
対応言語600+600+600+
GQAありありあり
ライセンスBigCode OpenRAILBigCode OpenRAILBigCode OpenRAIL

アーキテクチャにはGrouped Query Attention(GQA)を採用し、推論時のKVキャッシュメモリを削減。16,384トークンのスライディングウィンドウアテンションにより、長いコードファイルも効率的に処理できます。

The Stackv2データセット

StarCoder2の学習データはThe Stackv2(67.5兆トークン)で、これはソフトウェアヘリテージアーカイブ・GitHub・GitLab・Bitbucketなど複数ソースから収集されています。

データ構成の特徴

  • 許諾確認済み: OSIライセンスのリポジトリのみ学習に使用
  • opt-out対応: 開発者が自分のコードの除外申請可能(約56万ユーザーが申請)
  • 多言語: Python 22%・Java 14%・JavaScript 13%・C++ 11%・その他40%
  • 高品質フィルタリング: スターゼロのリポジトリ除外、重複除去、近似重複除去を実施

Fill-in-the-Middle(FIM)機能

StarCoder2の実用上の強みがFIM(穴埋め補完)機能です。コードの途中にカーソルを置いた状態で前後のコンテキストを渡すと、最適なコードを補完します。

FIMプロンプト形式

<fim_prefix>def calculate_total(prices):
    total = 0
    for price in prices:
<fim_suffix>
    return total
<fim_middle>

この形式でインタラクティブなコード補完が可能で、VS Code拡張のContinue.devやTabnine OSS版がStarCoder2のFIMに対応しています。

他のCode LLMとの比較

HumanEvalベンチマーク(pass@1)

モデルHumanEvalEvalPlusMultiPL-E(avg)
StarCoder2-15B46.3%37.5%51.2%
StarCoder2-7B35.4%29.9%45.1%
CodeLlama-13B36.0%32.9%47.3%
StarCoder1-15B33.6%27.4%42.7%

StarCoder2-15BはCodeLlama-13Bより優れた性能を示しつつ、モデルサイズは同程度です。特に600言語対応の広さが特徴で、Rustや設定ファイル言語(YAML/TOML/HCL)の補完精度が初代StarCoderから大幅に改善されています。

ローカル環境での利用

必要なVRAM目安

量子化必要VRAM推奨環境
fp16約30GBA100
Q8_0約16GBRTX 3090/4090
Q4_K_M約9GBRTX 3080/4080
Q2_K約5GBRTX 3060 12GB

GGUF形式はllama.cppプロジェクトによって提供されており、Ollamaからはollama run starcoder2:15bで即座に利用できます。

実際の開発ワークフローへの組み込み

VS CodeのContinue拡張とStarCoder2を組み合わせたローカルAIコーディング環境の構築手順は以下のとおりです。

  1. Ollamaのインストールとollama pull starcoder2:15bの実行
  2. Continue拡張をVS Codeにインストール
  3. ~/.continue/config.jsonでモデルをOllama経由に設定
  4. コード選択後Cmd+Lでチャット、Cmd+Iでインライン編集

これにより、コードが外部サーバーに送信されないオンプレミス環境でGitHub Copilot相当の補完機能を利用できます。

FAQ

Q: StarCoder2のライセンスは商用利用できますか? A: BigCode OpenRAILライセンスに基づき商用利用可能です。ただし、生成コードを利用して悪意あるソフトウェアを作成する等の用途は禁止されています。利用前にライセンス全文の確認を推奨します。

Q: 初代StarCoderと何が違いますか? A: 学習データがThe Stack(v1/6.4兆トークン)からThe Stackv2(67.5兆トークン)へ約10倍増加し、GQAアーキテクチャの採用、対応言語86言語→600以上への拡大が主な変更点です。

Q: GitHub Copilotとどう違いますか? A: GitHub CopilotはOpenAI Codexをベースにしたクラウドサービスで月額$10〜$19かかります。StarCoder2はローカル実行可能なオープンモデルで、プライベートコードをクラウドに送らない用途に適しています。

まとめ

StarCoder2-15Bは600言語対応・FIM補完・商用可ライセンスというバランスに優れたコードLLMです。GitHub Copilotの代替をローカル環境で構築したい開発者や、プライベートコードの社外送信を避けたい企業にとって実用的な選択肢です。Ollamaによるワンコマンド導入が可能で、導入コストも低く抑えられます。

この記事について
カテゴリーAI・機械学習
難易度3
作成日2026/6/1