中国の零一万物(01.AI)、コーディング用LLM「Yi-Coder」をオープンソースとして公開「10B未満のパラメーターで最先端のコーディング性能」

中国のAIスタートアップ零一万物(01.AI)は、コーディング用大規模言語モデル(LLM)「Yi-Coder」をオープンソースとして公開した。

» 2024年09月10日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 中国のAIスタートアップ(新興企業)である零一万物(01.AI)は2024年9月5日(中国時間)、コーディング用大規模言語モデル(LLM)「Yi-Coder」をオープンソースとして公開した。

 Yi-Coderは、15億(1.5B)パラメーターと90億(9B)パラメーターのモデルがあり、それぞれベース版とチャット版がある。いずれもコンテキストウィンドウは12万8000(128K)トークンとなっている。01.AIは、「100億(10B)未満のパラメーターで最先端のコーディングパフォーマンスを実現する」とうたっている。

(提供:01.AI)

 Yi-Coderは、効率的な推論と柔軟なトレーニングが可能になるように設計されており、特に「Yi-Coder-9B」は、01.AIのオープンソースLLMファミリー「Yi」の一つである「Yi-9B」をベースに、高品質の2.4兆(2.4T)トークンの追加データを用いたトレーニングによって構築されている。このデータは、GitHubのリポジトリレベルのコードコーパスと、CommonCrawlからフィルタリングされたコード関連データから厳密に調達されている。

 Yi-Coderの主な特徴は以下の通り。

  • Java、Python、JavaScript、C++など、52の主要なプログラミング言語をカバーする高品質の2.4Tトークンでの継続的な事前トレーニング
  • ロングコンテキストのモデリング:最大128Kトークンのコンテキストウィンドウにより、プロジェクトレベルでのコードの理解と生成が可能
  • 小規模でも強力:Yi-Coder-9Bのパフォーマンスは、パラメーターが10B未満の他モデル(CodeQwen1.5 7B、CodeGeex4 9Bなど)を上回り、DeepSeek-Coder(DS-Coder)33Bに匹敵する

 01.AIは、Yi-Coderを発表したブログ記事で、Yi-Coderがコード生成や推論、コードの編集、補完、ロングコンテキストのモデリング、数学的推論に関するベンチマークテストで、優れた成績を収めたことを以下のように紹介している。

コーディング:LiveCodeBench

 LiveCodeBenchは、LLMのプログラミング能力の包括的で公平な評価を目的としたプラットフォームだ。LeetCode、AtCoder、CodeForcesといった他のプラットフォームからリアルタイムで新しい問題を収集し、動的かつ包括的なベンチマークライブラリを形成する。

 01.AIは、Yi-Coderのトレーニングデータのカットオフが2023年末だったため、2024年1〜9月までの問題を選択し、テストに使用した。

LiveCodeBenchによるコーディング能力の評価(提供:01.AI)

コード生成と推論:HumanEval、MBPP、CRUXEval-O

 HumanEval、MBPP、CRUXEval-Oといった一般的なベンチマークにより、Yi-Coderの基本的なコード生成能力と推論能力を評価した。

HumanEval、MBPP、CRUXEval-Oによるコード生成能力と推論能力の評価(提供:01.AI)

コード編集:CodeEditorBench

 Yi-Coderのコード編集タスクにおける能力を評価するために、デバッグ、多言語への変換、要件変更、最適化という4つの主要分野をカバーするCodeEditorBenchを利用した。

CodeEditorBenchによるコード編集能力の評価(提供:01.AI)

コード補完:CrossCodeEval

 PythonコードとJavaコードについて、関連コンテキストを取得する(W/retrieval)、取得しない(W/o retrieval)という2つのシナリオで、CrossCodeEvalによってコード補完能力を評価した。

(提供:01.AI)
CrossCodeEvalによるコード補完能力の評価(提供:01.AI)

ロングコンテキストのモデリング:コード内の針

 Yi-Coderのロングコンテキストモデリング能力をテストするために、「コード内の針」という合成タスクを作成し、128Kの長いシーケンスを使用した。

 このタスクでは、カスタマイズされたシンプルな関数を長いコードベースにランダムに挿入し、モデルがその関数をコードベースの末尾で再現できるかどうかをテストした。

 このテストの目的は、モデルがロングコンテキストから重要な情報を抽出できるかどうかを評価し、長いシーケンスを理解する基本的な能力を把握することにある。

 下図の緑一色の結果は、Yi-Coder-9Bが128Kの長さの範囲内で、このタスクを完璧に完了したことを示している。

Yi-Coder-9Bが合成タスク(ロングコンテキストからの重要情報の抽出)を処理した結果(提供:01.AI)

プログラムを用いた数学的推論

 プログラム支援環境(PAL:プログラム支援言語モデル)の下で、7つの数学的推論ベンチマークでYi-Coderを評価した。各ベンチマークでは、モデルにPythonプログラムを生成させ、そのプログラムを実行して最終的な答えを返すよう求めた。

プログラムを用いて数学的推論を行う能力の評価(提供:01.AI)

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。