6 ポイント 投稿者 GN⁺ 2024-09-06 | 2件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2024-09-06
Hacker Newsのコメント
  • Claude 3.5 Sonnetは、コード関連LLMで依然として最高性能を示している

    • ただし、DeepSeek Coder V2 236Bのほうがより安価で効率的
    • AiderとClaude DevプラグインでDeepSeek Coder V2を使用中
  • Yi-CoderはAiderのコード編集ベンチマークでGPT-3.5より低いスコアを記録

    • Sonnet: 77%
    • GPT-3.5: 58%
    • Yi-Coder-9b-Chat: 54%
    • Yi-Coder-9b-Chat-q4_0: 45%
  • SRE/DevOps/C#/Golang/C++作業でLLMをテストした結果、筋の通らない応答を受け取った

    • 簡単なPythonスクリプトの作成を依頼したところ、見当違いの回答をした
    • 複数のプログラミング言語で無関係な回答を返した
  • ソフトウェアエンジニアとアーティストがAIモデルに反応する方法の違いが興味深い

  • 特定の言語に特化したモデルを待っている

    • 現在のモデルは複数の言語を扱うが、特定の言語に非常に熟達したモデルが必要
  • 小規模LLMをローカルでセットアップする方法に興味がある

    • VSCodeでタブ補完機能が動作するか質問
    • GitHub Copilot以外でクラウドモデルを設定する方法についてのヒントを求めている
  • ローカルのデスクトップPCでモデルを実行するための推奨ハードウェアについて質問

  • SWE-agentとYi-Coder-9B-Chatの性能を見てみたい

  • Aiderベンチマークについて説明を求めている

    • 113個の同一テストを毎回通過させる理由が気になっている
    • モデルの一般的なコード生成および編集能力を評価する方法に疑問を持っている
  • モデルサイズを重み数で表現する理由について質問

    • GPU RAM要件を知りたい
    • 重み数が実際のユーザーにとってどれほど重要なのか疑問に思っている