StarCoder:コードのための最先端のLLM

StarCoder:LLM for cutting-edge code.

StarCoderの紹介

StarCoderとStarCoderBaseは、GitHubからの許可を得たデータを使用してトレーニングされた大規模な言語モデルです。これらのモデルは、80以上のプログラミング言語、Gitのコミット、GitHubの課題、Jupyterノートブックなど、様々な情報源からデータを取得しています。LLaMAと同様に、私たちは1兆トークンのために約15兆パラメータのモデルをトレーニングしました。また、35兆のPythonトークンに対してStarCoderBaseモデルを微調整し、新しいモデルであるStarCoderと呼びます。

StarCoderBaseは、人気のあるプログラミングベンチマークにおいて既存のオープンなコードモデルよりも優れたパフォーマンスを発揮し、GitHub Copilotの初期バージョンで使用された「code-cushman-001」といったクローズドモデルとも匹敵する結果を示しました。StarCoderモデルは、8,000以上のトークンのコンテキスト長を持つため、他のオープンなLLMよりも多くの入力を処理することができます。これにより、さまざまな興味深いアプリケーションが可能となります。例えば、StarCoderモデルに対して対話のシリーズをプロンプトとして与えることで、技術アシスタントとしての機能を果たすことができます。さらに、これらのモデルはコードの自動補完、指示に基づいたコードの変更、コードスニペットの自然言語による説明などにも使用することができます。私たちは、改善されたPIIの削除パイプライン、新しい帰属追跡ツールなど、安全なオープンモデルのリリースに向けていくつかの重要な手順を踏んでいます。また、StarCoderは改良されたOpenRAILライセンスのもとで一般に公開されています。この更新されたライセンスにより、企業がモデルを製品に統合するプロセスが簡素化されます。StarCoderモデルの強力なパフォーマンスにより、コミュニティは自分たちのユースケースや製品に適応させるための堅固な基盤としてこれを活用することができると考えています。

評価

私たちはStarCoderといくつかの類似モデルについて、さまざまなベンチマークで徹底的に評価を行いました。人気のあるPythonベンチマークであるHumanEvalでは、関数のシグネチャとドキュメント文字列に基づいてモデルが関数を完成させることができるかどうかをテストしました。StarCoderとStarCoderBaseは、PaLM、LaMDA、LLaMAなどの最大のモデルを上回るパフォーマンスを発揮しましたが、それらよりも遥かに小さなサイズであるという特徴も持っています。また、CodeGen-16B-MonoやOpenAIのcode-cushman-001(12B)モデルよりも優れた結果を示しました。私たちはまた、モデルの失敗例として、通常は練習の一部として使用されるため、# Solution hereというコードを生成することがあることに気付きました。実際の解決策を生成させるために、プロンプトとして<filename>solutions/solution_1.py\n# Here is the correct implementation of the code exerciseを追加しました。これにより、StarCoderのHumanEvalスコアは34%から40%以上に向上し、オープンモデルの最新のベンチマーク結果を更新しました。CodeGenとStarCoderBaseに対してもこのプロンプトを試しましたが、あまり違いは観察されませんでした。

StarCoderの興味深い特徴の一つは、多言語対応であることです。そのため、MultiPL-Eという多言語の拡張を使用して評価を行いました。その結果、StarCoderは多くの言語においてcode-cushman-001と匹敵または優れたパフォーマンスを発揮することがわかりました。また、DS-1000というデータサイエンスのベンチマークでも、StarCoderは他のオープンアクセスモデルを圧倒する結果を示しました。しかし、コード補完以外にもモデルができることを見てみましょう!

技術アシスタント

徹底的な評価の結果、StarCoderはコードの記述に非常に優れていることがわかりました。しかし、ドキュメンテーションやGitHubの課題などの情報を大量に学習しているため、技術アシスタントとして使用できるかどうかもテストしたかったのです。AnthropicのHHHプロンプトに触発されて、私たちはTech Assistant Promptを作成しました。驚くべきことに、プロンプトだけでモデルは技術アシスタントとして機能し、プログラミングに関連する要求に答えることができます!

トレーニングデータ

このモデルは、The Stack 1.2の一部のデータセットでトレーニングされました。データセットは許可されたコードのみを含んでおり、コードの貢献者はデータセットから自分のデータを削除することができるオプトアウトプロセスが存在します(Am I in The Stackを参照)。私たちはTolokaとの共同作業により、名前、パスワード、メールアドレスなどの個人を特定する情報をトレーニングデータから削除しました。

BigCodeについて

BigCodeは、Hugging FaceとServiceNowが共同で進める、コードのための大規模言語モデルの責任ある開発に取り組むオープンな科学的なコラボレーションです。

追加リリース

モデルと共に、以下のリソースとデモを公開しています:

  • モデルのウェイト、OpenRAILライセンスを含む中間チェックポイント
  • データの前処理とトレーニングに関するすべてのコード(Apache 2.0ライセンス)
  • コードモデルの包括的な評価ハーネス
  • PIIの削除のための新しいデータセット
  • トレーニングに使用された完全に前処理されたデータセット
  • データセット内の生成されたコードを見つけるためのコード帰属ツール

モデル

  • 論文: StarCoderに関する技術レポート。
  • GitHub: StarCoderの使用方法や調整方法に関する情報がすべて掲載されています。
  • StarCoder: PythonでさらにトレーニングされたStarCoderBase。
  • StarCoderBase: The Stackの80以上の言語でトレーニングされたモデル。
  • StarEncoder: TheStackでトレーニングされたエンコーダーモデル。
  • StarPii: StarEncoderベースのPII検出モデル。

ツールとデモ

  • StarCoder Chat: StarCoderとのチャット。
  • VSCode Extension: StarCoderでコードを書く。
  • StarCoder Playground: StarCoderで書く。
  • StarCoder Editor: StarCoderで編集する。

データとガバナンス

  • StarCoderData: StarCoderの事前トレーニングデータセット。
  • Tech Assistant Prompt: このプロンプトを使用すると、StarCoderをテックアシスタントに変えることができます。
  • Governance Card: モデルのガバナンスについてのカード。
  • StarCoder License Agreement: このモデルはBigCode OpenRAIL-M v1ライセンス契約に基づいてライセンスされています。
  • StarCoder Search: 事前トレーニングデータセット内のコードの全文検索。
  • StarCoder Membership Test: コードが事前トレーニングデータセットに存在するかを高速にテストします。

すべてのリソースとリンクはhuggingface.co/bigcodeで見つけることができます!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

Aaron Lee、Smith.aiの共同設立者兼CEO - インタビューシリーズ

アーロン・リーさんは、Smith.aiの共同創業者兼CEOであり、AIと人間の知性を組み合わせて、24時間365日の顧客エンゲージメン...

人工知能

ベイリー・カクスマー、ウォータールー大学の博士課程候補 - インタビューシリーズ

カツマー・ベイリーは、ウォータールー大学のコンピュータ科学学部の博士課程の候補者であり、アルバータ大学の新入教員です...

機械学習

もし芸術が私たちの人間性を表現する方法であるなら、人工知能はどこに適合するのでしょうか?

MITのポストドクターであるジヴ・エプスタイン氏(SM '19、PhD '23)は、芸術やその他のメディアを作成するために生成的AIを...

データサイエンス

「3つの質問:ロボットの認識とマッピングの研磨」

MIT LIDSのLuca CarloneさんとJonathan Howさんは、将来のロボットが環境をどのように知覚し、相互作用するかについて議論し...

人工知能

ムーバブルインクのCEO兼共同創設者であるヴィヴェク・シャルマ氏についてのインタビュー・シリーズ

ビヴェクは2010年にムーバブルインクを共同設立し、急速な成長を遂げながら、600人以上の従業員を擁し、世界有数の革新的なブ...

人工知能

「ジンディのCEO兼共同創設者、セリーナ・リー― インタビューシリーズ」

「Celina Leeは、ZindiのCEO兼共同創設者であり、アフリカのデータサイエンティスト向けの最大の専門ネットワークです Celina...