ビッグコード
無料
BigCode は、Hugging Face と ServiceNow Research が共同で立ち上げたオープン サイエンス コラボレーション プロジェクトで、Code Large Language Model (Code LLM) のオープンで責任ある開発に特化しています。主な出力には、StarCoder シリーズ モデル (StarCoder 15B、StarCoder2 3B/7B/15B)、The Stack データ セット BigCodeBench ベンチマーク、BigCodeArena コード評価プラットフォームが含まれます。
ビッグコード
コアパラメータと統計
BigCode は、Hugging Face と ServiceNow Research が共同で立ち上げたオープン サイエンス コラボレーション プロジェクトで、オープン ソースの研究と Code Large Language Model (Code LLM) の責任ある開発に焦点を当てています。このプロジェクトの公式ウェブサイトは、「大規模なコードモデルのオープンで責任ある開発に取り組む、オープンな科学的コラボレーション」と位置付けられている。これは単一の製品ではなく、モデル、データ、評価、展開ツールを含むオープンソース エコシステムの完全なセットです。
| プロジェクト | 広報 |
|---|---|
| 公式の位置づけ | オープンな科学的コラボレーション。大規模なコード言語モデルのオープンかつ責任ある開発に取り組んでいます。 |
| スポンサー | ハグフェイス + ServiceNow リサーチ |
| 組織形態 | 非営利のオープンサイエンスコラボレーション |
| コアモデル | StarCoder (15.5B)、StarCoder2 (3B/7B/15B) |
| コアデータセット | スタック (v1/v2、最大ライセンス コード事前トレーニング データ セット) |
| 評価の枠組み | BigCodeBench、BigCodeArena、BigCode 評価ハーネス |
| オープンソースライセンス | Apache-2.0 (コア リポジトリ)、BigCode OpenRAIL-M v1 (モデル) |
| コミュニティの規模 | GitHub 1.8k HF をフォローする 2.1k 359 人のチーム メンバーをフォローする |
| 最新モデルバージョン | StarCoder2-15B (2024-02-29) |
| サポートされているプラットフォーム | Web (HF Spaces)、API (TGI)、セルフホスト |
コミュニティの規模: GitHub によって組織されたパブリック ウェアハウスが 29 あります。 StarCoder ウェアハウスは、7.5,000 個のスター、2.1,000 個のスター、および 1.1,000 個のスターを備えた BigCode Evaluation Harness で StarCoder2 ウェアハウスをリードしています。 Hugging Face 組織には 69 のモデル、93 のデータ セット、および 29 のスペースがあります。最もダウンロードされたモデルである StarCoder2-3B は、累計 181,000 ダウンロードされています。
出力カバレッジ: BigCode は、モデル トレーニング、データ ガバナンス、評価ベンチマーク、推論展開の 4 つのセクションを同時にカバーします。これは、オープン ソース コード モデル プロジェクトの中では比較的まれです。ほとんどのプロジェクトは、単一のセクションのみに焦点を当てています (モデルのみのリリースやベンチマークの提供のみなど)。
ユーザーと市場の認識
BigCode の認知度は、従来の意味でのユーザー登録や売上高ではなく、オープンソース コミュニティでの採用や学術的な引用に反映されています。
オープンソース コミュニティの人気: StarCoder シリーズ リポジトリの合計は、GitHub スターの数が 10,000 個を超えています。 BigCode Evaluation Harness (1.1k スター) は、コード モデル評価の標準フレームワークの 1 つとなり、複数のサードパーティ モデル プロジェクトによって評価ツールとして引用されています。
エンタープライズ レベルの導入: ServiceNow は、共同スポンサーとして、コード インテリジェンス シナリオに StarCoder モデルを内部で使用しています。 Hugging Face は、Text Generation Inference (TGI) を通じて StarCoder2 推論サービスを提供します。オープンソース エコシステムには、StarCoder 微調整に基づく複数の垂直モデルがすでに存在します (13 のアダプター モデルと 21 の微調整モデルが Hugging Face モデル ツリーにリストされています)。
学術的な影響: StarCoder2 論文 (arXiv 2402.19173) は 2024 年 2 月に出版され、BigCodeBench 論文は ICLR 2025 に受理され、SelfCodeAlign 論文は NeurIPS 2024 に受理されました。コード生成の分野でこのプロジェクトによって生み出された学術的引用の数は増え続けています。
実装の前提条件: StarCoder シリーズはコマンド モデルではなくベース モデルです。特定のタスク (コード補完、バグ修復、テスト生成など) に適応するには、微調整または迅速なエンジニアリングが必要です。会話の中で直接使用するとうまく機能しません。
コストメリット
BigCode プロジェクトのコスト上の利点は、API の価格競争ではなく、Apache-2.0 ライセンスの下ですべてのモデルの重みを開放し、チームがライセンス料ゼロでコード生成機能を取得できることにあります。
C サイド/個人: StarCoder2 モデルは完全に無料で、Hugging Face Spaces を通じてオンラインで体験することも、ローカル GPU で実行することもできます。 3B モデルは、8 ビット量子化を備えたコンシューマ グレードの GPU (RTX 3090 など) で実行でき、約 9 GB のビデオ メモリを占有します。 15B モデルには、8 ビット量子化で約 17GB のビデオ メモリが必要です。
開発者/セルフホスト: モデルの重みは無料でダウンロードでき、TGI または vLLM を通じて独自の推論サービスを構築できます。ハードウェアのコストはモデルのサイズとスループット要件によって異なります。3B モデルは 1 枚のカード T4 で導入でき、15B モデルは少なくとも 24GB のビデオ メモリと量子化を備えた GPU の使用を推奨します。全体として、セルフホステッド コード モデルの総コスト = GPU インスタンス料金 + 運用および保守の人件費は、トークンによって課金される同じ機能を備えた商用 API のコストよりもはるかに低くなります。
エンタープライズ/プライベート: 企業は、BigCode プロジェクトにライセンス料を支払うことなく、StarCoder2 の重みに直接基づいてプライベートに展開し、微調整することができます。ただし、BigCode OpenRAIL-M v1 ライセンス契約の制約 (使用制限を含む) に注意する必要があります。商用利用の前に、法務部門によるライセンス審査を完了することをお勧めします。
隠れたコスト: 基本モデルは、使用可能なレベルに達するために微調整または迅速なエンジニアリングを必要としますが、過小評価されることがよくあります。さらに、モデル生成コードの著作権所有権とライセンス準拠にも追加のガバナンスが必要です。BigCode はトレーニング データのソースを追跡するための検索インデックス ツールを提供しますが、企業は依然として独自のコード トレーサビリティ プロセスを確立する必要があります。
主な機能
BigCode プロジェクトの中核機能は、フルリンクのオープン ソース コード LLM を中心に設計されており、公開出力は 5 つのレベルに要約できます。
- コード生成モデル (StarCoder シリーズ): マルチスケール (1.1B ~ 15B) の基本モデルを提供し、中間補完 (FIM) コード補完、多言語コード生成 (StarCoder2 は 600 以上のプログラミング言語をカバー)、および長いコンテキスト コードの理解 (16K トークン) をサポートします。
- 事前トレーニング データ セット (スタック): スタック v2 は現在、ライセンスを取得した最大のコード事前トレーニング データ セット (545 億トークン) であり、600 以上のプログラミング言語をカバーしており、開発者がトレーニング データから独自のウェアハウスを削除することを選択できるようにするオプトアウト メカニズムをサポートしています。
- 評価ベンチマーク (BigCodeBench/BigCodeArena): BigCodeBench (ICLR 2025) は、複数の関数呼び出しと複雑な命令のコード生成評価に焦点を当てています。 BigCodeArena (2025) は、コードの実行結果を通じてモデルの設定を評価し、より信頼性の高い自動評価方法を提供します。
- 評価ハーネス: 標準化されたコード モデル評価フレームワークを提供し、HumanEval、HumanEval+、GSM8K (PAL)、DS-1000、CruxEval-I などの複数のベンチマークのワンクリック評価をサポートします。
- 微調整および展開ツール: LoRA 微調整スクリプト PEFT 統合ビットサンドバイト定量化サポート TGI 推論コンテナーおよび starcoder.cpp (ggml に基づく C++ 推論実装) を提供します。
相乗効果: これらの機能は単独で存在するものではありません。スタック データ セットは StarCoder モデルのトレーニングに使用され、StarCoder モデルは評価ハーネスを通じて評価され、BigCodeBench は標準化された評価方法を提供します。 3 つは「データモデル評価」構造を形成します。つまり、BigCode を使用するチームは、複数のプロジェクトにわたるコンポーネントをつなぎ合わせなくても、同じツール チェーンを再利用して、トレーニングから評価までのプロセス全体を完了できます。
モデルとバージョンの進化
継続的な反復更新により、最新バージョンではパフォーマンスの最適化と新機能が導入されます。過去のバージョン情報は公式リリースページからご覧いただけます。現在、完全な公開バージョンの進化タイムラインはありません。
技術的な利点
BigCode の技術的な利点は、モデル設計、トレーニング規模、オープンソース ガバナンスの 3 つの側面に反映されています。その中心となるロジックは、「オープン サイエンスを通じてコード モデルの透明性と再現性を高める」ことです。
モデル アーキテクチャ: StarCoder2 はグループ化クエリ アテンション (GQA) を使用します。これにより、マルチヘッド アテンションと比較して、推論中の KV キャッシュの使用量が削減され、自己展開メモリ要件が削減されます。スライディング ウィンドウ アテンション (4K トークン) は、16K の有効なコンテキストを保持しながら、長いシーケンスのシナリオでの計算コストを制御します。 FIM トレーニング目標により、モデルはコード補完シナリオに自然に適合します。モデルは、単に左から右へのテキスト生成ではなく、コードの中央を埋めるセマンティクスを理解します。
トレーニング規模: 1024× H100 GPU でトレーニングされた 150 億モデル、合計 4 兆以上のトークン。このスケールは、オープン ソース コード モデルの最初の段階に属します。トレーニングでは、NVIDIA NeMo フレームワークと Eos スーパーコンピューターを使用します。これは、同じサイズの商用モデルのトレーニング構成に匹敵します。
データ ガバナンス: Stack v2 の処理パイプライン (重複排除、権限フィルタリング PII 削除オプトアウト サポート) は、オープン ソース コード データセットの中で最も成熟しています。各トレーニング サンプルにはソースのトレーサビリティが保持されており、検索インデックス ツールを使用すると、生成されたコードが特定のオープン ソース ウェアハウスからのものであるかどうかを確認できます。これは企業のコンプライアンスのトレーサビリティにとって重要です。
評価の再現性: BigCode 評価ハーネスは、標準化された評価スクリプトと Docker 環境を提供します。同じベンチマークにおける異なるチームの結果を直接比較できるため、評価方法の違いによって引き起こされる比較不能の問題が軽減されます。
技術的な制限: StarCoder シリーズはコマンド微調整モデルではなくベース モデルであり、直接的な対話効果は乏しいです。モデルの推論、数学、その他の機能は、同じスケールのマルチモーダル基本モデル (DeepSeek、LLaMA 3 など) よりも弱いです。強力なコンテキストの理解が必要な長いファイルの再構築シナリオでは、16K のコンテキスト ウィンドウでは不十分な場合があります。
使い方
- Webクライアント:公式Webサイトにアクセスし、アカウントを登録することで利用できます。ほとんどの機能はインストールする必要がありません。
- API アクセス: RESTful API を提供し、開発者は API キーを取得して独自のアプリケーションに統合できます。
製品の価格設定
BigCode プロジェクト自体には料金はかかりません。すべてのモデルの重み、データセット、コードはオープンソース ライセンスの下でリリースされます。
- C サイド/個人: 完全に無料です。 Hugging Face Spaces を使用してオンラインで体験するか、ローカル GPU でモデルを実行します。
- 開発者/API ユーザー: 公式にホストされている API はありません。 TGI または vLLM を通じて独自の推論サービスを構築できます。コストには GPU インスタンスのコストのみが含まれます。
- エンタープライズ/プライベート: モデルの重みは、ライセンス料なしで無料で利用できます。 BigCode OpenRAIL-M v1 ライセンス契約の条項 (使用制限を含む) が適用されます。商用利用する前に、法的ライセンスの確認を完了することをお勧めします。
アプリケーションのシナリオ
BigCode のモデルには、コード生成と理解の分野で適用可能な幅広いシナリオがあり、その中核は「オープン ソース コードから一般的なプログラミング パターンを学習する」機能にあります。
- コード補完と生成: StarCoder モデルを IDE プラグインまたは CLI ツールに統合して、リアルタイムのコード補完、関数本体の生成、定型コードの埋め込みを提供します。その利点は、反復的なコーディング作業が軽減され、プロトタイプ開発が加速されることです。基本モデルには、自然言語による命令ではなく、適切なプロンプト設計が必要であることに注意してください。
- コードの変換と移行: モデルの多言語コードを理解する機能を利用して、ある言語から別の言語へのコードの変換 (Python→Java など)、またはフレームワークのアップグレードのためのコードの移行の完了を支援します。効果は、トレーニング データ内のソース言語とターゲット言語の範囲によって異なります。
- テスト ケースの生成: 関数のシグネチャとドキュメント文字列に基づいて単体テストのスケルトンを生成します。 BigCodeBench の評価データは、StarCoder2 が複雑な多関数呼び出しシナリオで良好に動作することを示していますが、テストの生成には依然としてカバレッジと正確性を手動でレビューする必要があります。
該当する人
BigCode のオープンソースの位置付けにより、そのサービス グループは主に開発者と研究者になります。
- AI/ML 研究者: コード LLM アーキテクチャ、トレーニング方法、または評価方法を研究します。 BigCode は、モデルの重み、データ処理パイプライン、評価フレームワーク、ベンチマークを含む完全な再現可能なベースラインを提供します。
- ソフトウェア エンジニアおよびアーキテクト: 独自のコード インテリジェンス機能を構築する必要があるチーム。 StarCoder2 モデルに基づいてプライベート コード補完サービスを構築し、ソース コードをサードパーティ API に送信することを回避できます。
- エンタープライズ AI プラットフォーム チーム: オープンソース コード モデルを評価し、内部ツールチェーンに統合します。 BigCode のライセンスの透明性とデータセットのトレーサビリティは、そのビジネス モデルに対する主要な利点です。
境界に適合しません:
- 会話型コード アシスタントを必要とするシナリオ (GitHub Copilot Chat など) - StarCoder シリーズは命令モデルではなく、対話方法は対話ではなく完了に基づいています。
- 生成されたコードの著作権に対するゼロトレランスのコンプライアンス シナリオ - モデルでは、トレーニング データ内にオープン ソースのライセンス コードと同様のスニペットが生成される場合があり、追加のトレーサビリティ レビューが必要になります。
- リソースが非常に限られたエッジ デバイス - 3B モデルでも特定の GPU またはメモリ リソースが必要なため、モバイル端末や MCU で直接実行するのは非現実的です。
概要と展望
BigCode の中核となる価値は、トレーニング データ (The Stack)、モデル (StarCoder シリーズ)、評価ベンチマーク (BigCodeBench) から展開ツール (TGI、starcoder.cpp) に至るまで、トレーニングから実装までのコード モデルの完全なリンクをカバーする、コード LLM インフラストラクチャの完全なセットをオープンな科学的な方法で提供することです。 BigCode は最速のコード アシスタントでも最軽量のモデルでもありませんが、コード生成機能を完全に制御し、データのトレーサビリティとライセンスの透明性に注意を払う必要があるチームにとって、BigCode はオープンソース エコシステムで最も完全なツール チェーンを提供します。
現在の制限: StarCoder2 シリーズには公式の命令微調整バージョンがありません (コミュニティの instruct-v0.1 はまだ実験段階です)。チームは微調整と適応を自分たちで完了する必要があります。大規模なコード ベースを扱う場合、モデル コンテキスト ウィンドウ (16K) では不十分な場合があります。プロジェクトはマネージド API を提供せず、自己展開には特定の MLOps 機能が必要です。
調達および導入のリスク評価: BigCode のモデルの重みは、Apache-2.0 および OpenRAIL-M v1 ライセンスに基づいてリリースされます。ライセンスのリスクは比較的制御可能ですが、OpenRAIL-M の追加の使用制限には、対象のシナリオに適用できるかどうかについて法的な確認が必要です。導入前に、企業は以下の点を評価することに重点を置く必要があります。 ① 対象のプログラミング言語およびコーディング スタイルにおける StarCoder2 の完成精度が使用可能なしきい値に達しているかどうか。 ② 許容可能なパフォーマンス レベルに微調整するために必要なデータ アノテーションと GPU コスト。 ③ プロジェクトガバナンスモデルの長期的な持続可能性(Hugging Face と ServiceNow が主導)。最初に非実稼働環境で少量のサンプルを使用して 7B モデルを実行して効果を検証し、その後、評価の範囲を拡大することをお勧めします。
関連ツール: github-copilot、cursor
BigCode のバージョンの進化
BigCode のバージョン コンテキストはモデル リリースに基づいており、StarCoder2 シリーズの初期の小規模な探索から大規模なトレーニングまで徐々に進化しています。
初期探索 (~2023-01)
- SantaCoder-1.1B: 最初の公開モデル出力である 1.1B パラメーターは、多言語コード生成の基本機能を検証するために使用されます。
メインライン リリース
- StarCoder-15.5B (~2023-05): 最初のフラッグシップ モデル、15.5B パラメータ、80 以上のプログラミング言語、1 兆トークン トレーニング、8K コンテキスト。 Pass@1 は HumanEval で 33.6% に達し、リリース後すぐに複数の微調整された亜種がコミュニティに出現しました。
- StarCoder2-3B/7B/15B (2024-02-29): 完全にアップグレードされた第 2 世代モデル シリーズ。 3B/7B は 3 兆以上のトークンでトレーニングされ、15B は 4 兆以上のトークンでトレーニングされます。グループ化されたクエリ アテンション、16K コンテキスト ウィンドウ (4K スライディング ウィンドウ)、および FIM ターゲットが導入されています。トレーニング ハードウェアは 1024× H100 GPU にアップグレードされています。
評価と生態学的補足 (2024-2025)
- BigCodeBench (ICLR 2025): 単一関数の生成のみをテストする既存のベンチマークのギャップを埋める、多関数呼び出しベンチマークをリリースします。
- SelfCodeAlign (NeurIPS 2024): 手動アノテーションを使用せずにモデル命令のコンプライアンス機能を向上させるコードの自己調整方法を提案します。
- BigCodeArena (2025-10): 従来の手動評価の再現性の問題を解決するために、実行結果に基づくコード優先評価を導入しました。
- OctoPack (~2024): コード モデルに標準化されたアライメント データを提供するために、データ セットとトレーニング製品を微調整するための指示を発行します。
2026 年 7 月の時点で、プロジェクトは GitHub と Hugging Face を通じて新しいモデルとデータ セットの作成を続けていますが、固定バージョンのリリース サイクルは設定していません。運用ユーザーは、StarCoder2-15B または StarCoder2-7B を評価ベースラインとして使用し、タスクの複雑さに基づいて適切な仕様を選択することをお勧めします。
BigCode の使用方法
BigCode のモデルは、さまざまな技術的背景を持つチームに適したさまざまな方法で取得および使用できます。
| 使い方 | 群衆に適しています | 特長 | コスト |
|---|---|---|---|
| ハグフェイススペースのオンライン体験 | 製品評価・クイック検証 | インストールは不要で、ブラウザで直接実行できます。無料 | |
| トランスフォーマー ライブラリのロード中 | 開発統合 | PyTorch、ビットサンドバイト定量化をサポート | 無料 (独自の GPU が必要) |
| テキスト生成推論 (TGI) | 実稼働推論の展開 | REST API、連続バッチ処理をサポート | 無料のオープンソース (GPU が必要) |
| スターコーダー.cpp (ggml) | エッジ/CPU の展開 | C++ 実装、Python 依存関係なし | 無料 |
| ローカル微調整 (PEFT + LoRA) | モデルのカスタマイズ | 4 ビット量子化微調整、民生用 GPU が利用可能 | 無料 (GPU が必要) |
一般的な使用手順 (例として、StarCoder2-15B をロードする Transformers を取り上げます):
「」パイソン
依存関係をインストールする
pip install git+https://github.com/huggingface/transformers.git
トランスフォーマーから AutoModelForCausalLM、AutoTokenizer をインポート
チェックポイント = "bigcode/starcoder2-15b" デバイス = "cuda"
tokenizer = AutoTokenizer.from_pretrained(チェックポイント) モデル = AutoModelForCausalLM.from_pretrained( チェックポイント、 デバイスマップ = "自動", torch_dtype=torch.bfloat16 ).to(デバイス)
inputs = tokenizer.encode("def fibonacci(n):", return_tensors="pt").to(device) 出力 = model.generate(入力、max_new_tokens=128) print(tokenizer.decode(outputs[0])) 「」
定量的展開: bitsandbytes を使用すると、8 ビット (約 16.9 GB ビデオ メモリ) または 4 ビット (約 9.2 GB ビデオ メモリ) の推論を実現でき、GPU 要件を大幅に削減できます。
適応の微調整: このプロジェクトは、PEFT + LoRA に基づく微調整スクリプトを提供します。これにより、4 ビット量子化下でシングルカードのコンシューマーグレード GPU でドメイン適応を完了できます。
実際の導入は「評価ベースラインの選択→少数サンプル検証→微調整と適応→定量的展開」の4段階で進めることが推奨されている。最初の 1 週間は、ターゲット プログラミング言語とタスク タイプでのモデルの完了精度を検証することに重点を置き、その後、微調整に入るかどうかを決定します。
バージョン情報
- スターコーダー2-15B :StarCoder2 シリーズ最大のモデル (15B パラメーター) は、16K コンテキスト ウィンドウを備えた Grouped Query Attendance を使用して、600 以上のプログラミング言語と 4 兆以上のトークンでトレーニングされました。
- スターコーダー2-7B :StarCoder2 シリーズの中規模モデル (7B パラメーター)、3 兆以上のトークン トレーニング、単一 GPU の導入シナリオに適しています。
- スターコーダー2-3B :StarCoder2 シリーズの最小モデル (3B パラメーター) で、リソースに制約のあるシナリオでのコード補完と生成を目的としています。
- スターコーダー-15.5B :StarCoderシリーズ初のフラッグシップモデル、80以上のプログラミング言語、1兆トークントレーニング、8Kコンテキストウィンドウ。公式の正確な日付はまだありません。
- SantaCoder-1.1B :BigCode の多言語コード生成を検討するための小規模コード モデル (1.1B パラメーター) の初期出力。公式の正確な日付はまだありません。
ユーザーレビュー