StarCoder

StarCoderは、80以上のプログラミング言語で学習された、150億パラメータの強力なモデルです。Hugging Faceのオープンソースモデルを使用して、高精度でコードを生成、補完、または補完できます。

AIへ移動
StarCoder cover

StarCoderについて

次世代コード生成モデル

StarCoderは、BigCodeプロジェクトによって構築された大規模言語モデルであり、80以上のプログラミング言語のソースコードを生成・補完するように設計されています。155億のパラメータと中間補完学習に重点を置いたStarCoderは、高度なコード生成タスクをサポートし、高品質でコンテキストを考慮した補完によって開発者を支援します。

開発者と研究者向けに構築

StarCoder は、最新のハードウェアで効率的に実行できるように設計されており、Hugging Face を介して展開されるため、コード支援を求める開発者とオープンソース コーディング モデルを評価する研究者の両方が利用できます。

機能と性能

多言語サポート

StarCoderは重複排除されたデータセット「The Stack(v1.2)」で学習されており、80以上のプログラミング言語のコードが含まれています。Python、JavaScript、C++、あるいはニッチな言語であっても、このモデルは環境に適応できます。

中間記入目標

StarCoderは、従来の左から右への生成とは異なり、中間補完(FIM)タスクをサポートしています。これにより、開発者は既存のセクション間に不足しているコードブロックを挿入することができ、自動補完とスニペット生成の柔軟性が向上します。

技術的なハイライト

高度なモデルアーキテクチャ

StarCoderは、マルチクエリアテンションと8192トークンの大規模なコンテキストウィンドウを備えたGPT-2アーキテクチャを採用しています。長く構造化されたコードシーケンスの理解と生成に最適化されており、実際のソフトウェア開発タスクに最適です。

大規模なトレーニングデータセット

StarCoderは1兆トークン以上で学習され、24日間の学習サイクルで512基のA100 GPUを使用して構築されました。データセットはオプトアウトコンテンツが除外され、許容ライセンスのコードのみが含まれています。

ユースケースとアプリケーション

コード補完と生成

StarCoderは、新しい関数を生成したり、未完成のコードを補完したり、定型コードや繰り返しロジックの作成を支援したりすることができます。プロトタイピング、学習、開発ワークフローの自動化に役立つツールです。

研究と実験

BigCode OpenRAIL-M ライセンスに基づくオープン アクセス モデルである StarCoder は、学術研究、ベンチマーク、コーディング タスクのダウンストリーム アプリケーションの構築に最適です。

トランスフォーマーと互換性あり

開発者は、わずか数行のコードでHugging Face Transformersを介してStarCoderを直接使用できます。GPUアクセラレーションにより、ローカルまたはクラウドでの展開において完全なアクセス性を実現します。

ライセンスと責任ある使用

OpenRAIL-Mライセンス

StarCoderはBigCode OpenRAIL-Mライセンスに基づいてリリースされています。トレーニングデータはオープンライセンスのコードから取得されていますが、生成されたコードを使用する際には、適切な帰属表示とライセンス要件の遵守はユーザーの責任となります。

帰属と透明性

生成されたコード セグメントの起源を追跡するための検索可能なインデックスが用意されており、開発者は必要に応じて適切な帰属を提供できます。

評価とパフォーマンス

競争ベンチマーク

StarCoder は、次のようなコーディング ベンチマークで優れたパフォーマンスを実証しています。

  • HumanEval (pass@1): 0.408 (prompted)
  • MBPP (pass@1): 0.527
  • MultiPL (Java, C++, Go): Competitive across multiple languages

これらのスコアは、汎用プログラミング タスク全体にわたるモデルの有効性を強調しています。

代替ツール