バイトダンスSeedの新手法!オープンソース8Bコードモデル:自身でデータをキュレーションして学習、同規模でSoTAを達成、100億パラメータ級の競合をも凌駕

LLMが自身のデータを学習することで、人間がキュレーションするよりも効率的になると思いませんか?従来のコード大規模モデルは、手動で設定されたルールに依存してデータをフィルタリングしており、コストが高く、非効率的で、モデルを偏らせやすいという問題がありました。图片

論文:Seed-Coder: Let the Code Model Curate Data for Itself

リンク:https://github.com/ByteDance-Seed/Seed-Coder/blob/master/Seed-Coder.pdf

しかし、Seed-Coderチームは、「LLM自身が教師となる」という直接的なアプローチを採用しました。モデルを使ってデータをフィルタリングし、それによって自身を学習させることで、8Bパラメータの軽量なオープンソースコードモデルシリーズを構築しました。その性能は、100億パラメータクラスの競合モデルをも上回るほどです!图片

Seed-Coder

1. 自給自足のデータファクトリー従来のモデルは、「コメントを含める必要がある」「構文エラーがあってはならない」といった手動ルールに依存してコードデータをフィルタリングしていました。しかし、プログラマーの美的感覚は様々で、ルールが衝突しやすく、拡張性に乏しいという問題がありました。Seed-Coderの解決策は非常に「荒っぽい」ものです。別のLLMを審査員にするのです!チームは、「コード品質スコアラー」と呼ばれるLLMを訓練し、可読性、モジュール性、明瞭さ、再利用性の4つの観点からコードを採点させ、低品質なデータを自動的にフィルタリングします。图片

この「LLMがLLMに教える」モデルにより、データフィルタリングの効率が百倍向上し、最終的に6兆トークンの高品質なコード学習ライブラリを構築、89種類のプログラミング言語をサポートしています!

2. 小さなボディに大きな知恵のモデルアーキテクチャSeed-Coderは、Llama 3アーキテクチャに基づいており、8.2Bパラメータです:

長文脈対応:リポジトリレベルでのコード連結により、モデルは32Kという超長コードファイルを処理でき、複雑なプロジェクトにも容易に対応できます。图片

穴埋め学習法(FIM):コードをランダムに接頭辞、中綴じ、接尾辞に分解し、モデルが「中間部分の不足を補完する」ことを学習させ、コード補完能力を向上させます。式は以下の通りです:<[fim-suffix]> SUFFIX <[fim-prefix]> PREFIX <[fim-middle]> MIDDLE

この学習により、モデルはパズルを解くようにコードロジックを学習し、従来の単一モード学習をはるかに超える効果を発揮します。图片

3. 推論能力の学習法Seed-Coderの推論モデルは、長思考連鎖強化学習(LongCoT)を使用し、多段階の複雑なコーディング問題に特化しています。簡単に言うと、モデルにまず問題解決の考え方を書かせ、次にコードを生成させ、試行錯誤を繰り返してロジック連鎖を最適化します。例えば、アルゴリズム問題を解く際、モデルはまず問題を分割します:「第一段階は入力を読み込む、第二段階はソートする、第三段階は差分を計算する…」と、段階を追ってコードを書きます。この「まず考えてから実行する」戦略により、競争プログラミングの練習問題集で驚異的なパフォーマンスを発揮しています。图片

実際のパフォーマンス

Seed-Coderは、複数の権威あるテストで競合モデルを圧倒しています:

コード生成:HumanEval+テストでは、8Bモデルが77.4点を獲得し、70BパラメータのCodeLlamaを超えました!图片

コード補完:ファイル間補完タスクにおいて、Seed-Coderの編集類似度(ES)は85.1%に達し、同規模モデルを圧倒しています。图片

ソフトウェアエンジニアリング実戦:GitHubの実際のバグ修正テスト(SWE-bench)では、Seed-Coderの解決率は19.2%で、32BモデルのQwQよりも高くなっています!图片

さらに驚くべきことに、競争プログラミングプラットフォームCodeforcesで1553点に達し、人間の銅メダルレベルに近づいています!图片

将来展望:AIプログラマーが職を奪う?

Seed-Coderの優れた性能にもかかわらず、まだ限界があります:

汎用能力不足:コードに特化しているため、一般的な知識の理解が弱い(例:「トマトと卵の炒め物」の作り方に答えられない)。

数学能力の短所:学習データに数学的な内容が少ないため、複雑な数学問題を解く際に失敗しやすい。

しかし、チームは将来の方向性を計画しています:

より多くの汎用コーパスを統合し、「万能型」AIプログラマーを育成する

MoEアーキテクチャを探求し、モデルサイズをさらに圧縮する

このような軽量で効率的なコードモデルが開発ツールチェーンへの浸透を加速させ、プログラマーの24時間オンライン「スーパーアシスタント」となる日もそう遠くないと予想されます〜(安心すると同時に危険も感じますよね!

備考:ニックネーム-学校/会社-専門分野/会議(例:ACL)を記入して、技術/投稿グループに参加してください

图片

id:DLNLPer、メモを忘れないでくださいね

メインタグ:コード大規模言語モデル

サブタグ:データキュレーションAIアシスタントモデル性能自己学習


前の記事:ルールベース強化学習ファインチューニングにおける明示的思考の研究

次の記事:研究:LLMのプレフィル機能が、かえってジェイルブレイクの脆弱性になっていた!

短いURLをシェア