- Yi-Coderは、100億未満のパラメータで最先端のコーディング性能を提供するオープンソースのコード大規模言語モデル(LLM)
- 1.5Bと9Bパラメータの2つのサイズで提供され、効率的な推論と柔軟な学習のために、ベース版とチャット版の両方が設計されている
- Yi-Coder-9Bは、GitHubのリポジトリレベルのコードコーパスと、CommonCrawlからフィルタリングしたコード関連データに含まれる2.4Tの高品質トークンを追加し、Yi-9Bをベースに構築されている
Yi-Coderの主な特徴
- **2.4兆(Trillion)**の高品質トークンで、52の主要プログラミング言語にわたって事前学習
- 長文脈モデリング: 最大128Kトークンのコンテキストウィンドウを使用し、プロジェクトレベルのコード理解と生成が可能
- 小さくても強力: Yi-Coder-9Bは、CodeQwen1.5 7BやCodeGeex4 9Bのような100億未満のパラメータを持つ他モデルを上回り、DeepSeek-Coder 33Bと同等の性能も達成
Yi-Coderは印象的なコーディング性能を提供
LiveCodeBench
- LiveCodeBenchは、LLMに対する包括的かつ公正な競技プログラミング評価を提供するために設計された、公開利用可能なプラットフォーム
- Yi-Coder-9B-Chatは23.4%という印象的な通過率を達成し、100億未満のパラメータを持つモデルの中で唯一20%を超えた
- この性能は、DeepSeek-Coder-33B-Instruct(22.3%)、CodeGeex4-All-9B(17.8%)、CodeLlama-34B-Instruct(13.3%)、CodeQwen1.5-7B-Chat(12%)を上回る
HumanEval、MBPP、CRUXEval-O
- Yi-Coder-9B-Chatは、HumanEvalで85.4%、MBPPで73.8%の通過率を達成し、他のコードLLMを上回った
- また、Yi-Coder 9BはCRUXEval-Oで50%を超える精度を達成した初のオープンソースコードLLMとなった
Yi-Coderはコード編集と補完に優れる
CodeEditorBench
- Yi-Coder-9Bは、オープンソースコードLLMの中で印象的な平均勝率を達成し、PrimaryおよびPlusの両サブセットでDeepSeek-Coder-33B-InstructとCodeQwen1.5-7B-Chatを一貫して上回った
CrossCodeEval
- Yi-Coderは、検索あり・なしの両シナリオにおいて、PythonおよびJavaの両データセットで同規模の他モデルを上回った
- これは、ソフトウェアリポジトリレベルのコードコーパスをより長いコンテキスト長で学習したことにより、Yi-Coderが長期依存関係を効果的に捉えられるようになり、優れた性能に貢献していることを裏付けている
Yi-Coderは128Kの長いコンテキストをモデリング可能
コードの中の針
- Yi-Coderの長文脈モデリング能力をテストするため、128K長のシーケンスを使う「コードの中の針」という合成タスクを作成
- このタスクでは、単純なカスタム関数を長いコードベースにランダムに挿入し、コードベースの末尾でその関数を再現できるかどうかをモデルにテストする
- これは、LLMが長いコンテキストから重要情報を抽出できるかを評価し、長いシーケンスを理解する基本能力を反映する
- Yi-Coder-9Bは、128Kの長さ範囲内でこのタスクを完全に達成した
Yi-Coderは数学的推論でも際立つ
プログラム支援による数学的推論
- Yi-Coderをプログラム支援設定(PAL: Program-aided Language Models)で7つの数学推論ベンチマークに対して評価
- Yi-Coder-9Bは70.3%という驚異的な精度を達成し、DeepSeek-Coder-33Bの65.8%を上回った
結論
- Yi-Coder 1.5B/9Bを、ベース版とチャット版の両方でオープンソースとしてコミュニティに提供
- Yi-Coderは、基礎および競技プログラミング、コード編集とリポジトリレベル補完、長文脈理解、数学的推論を含むさまざまなタスクで優れた性能を示す
- Yi-Coderが小規模コードLLMの限界を押し広げ、ソフトウェア開発を加速・変革できるユースケースを切り開くと考えている
GN⁺のまとめ
- Yi-Coderの利点は、少ないパラメータ数でも最新のコーディング性能を提供できる点にある。これは、ChatGPTのような大規模LLMが要求する莫大な計算資源がなくても、優れたコーディング支援を可能にするはず
- Yi-Coderの長文脈モデリング能力は、大規模プロジェクト全体にわたるコード理解を可能にし、複雑なコーディング作業で特に有用とみられる
- 競技プログラミング、コード編集、リポジトリレベル補完、長いコンテキスト理解、数学的推論などで優れた性能を発揮
- LLMベースのコーディング支援ツールの代表例には、GitHub CopilotやAmazon CodeWhispererなどがある。Yi-Coderはこれらと比べて軽量モデルである点が利点だが、プラグインなどの追加機能ではまだ不足している面もある
- 類似機能を持つ他プロジェクトとしては、DeepSeek-Coder、CodeGeex4、CodeLLamaなどがある
- Yi-Coderの数学推論能力は興味深い点。プログラミングによる問題解決の方式は、純粋な言語モデルとは異なるアプローチであり、数学だけでなくさまざまな分野でのLLM活用可能性を示している
2件のコメント
Yi - 次世代オープンソースバイリンガルLLM
Yi 1.5 - 次世代オープンソースバイリンガルLLM
Hacker Newsのコメント
Claude 3.5 Sonnetは、コード関連LLMで依然として最高性能を示している
Yi-CoderはAiderのコード編集ベンチマークでGPT-3.5より低いスコアを記録
SRE/DevOps/C#/Golang/C++作業でLLMをテストした結果、筋の通らない応答を受け取った
ソフトウェアエンジニアとアーティストがAIモデルに反応する方法の違いが興味深い
特定の言語に特化したモデルを待っている
小規模LLMをローカルでセットアップする方法に興味がある
ローカルのデスクトップPCでモデルを実行するための推奨ハードウェアについて質問
SWE-agentとYi-Coder-9B-Chatの性能を見てみたい
Aiderベンチマークについて説明を求めている
モデルサイズを重み数で表現する理由について質問