HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Ornith-1.0: エージェント的コーディングのための自己足場型LLM

Ornith-1.0: Self-scaffolding LLMs for agentic coding (deep-reinforce.com)

53 pointsby kordlessagain7 コメント

要約

Ornith-1.0は、エージェント的コーディングタスクに特化した自己改善型オープンソースLLMファミリーです。9Bから397Bまでの多様なモデルサイズを提供し、Gemma 4とQwen 3.5をベースに、同サイズのオープンソースモデルの中で最先端の性能を達成しています。特に、タスクの解決とソリューションを導く足場の構築を共同で学習する自己改善型トレーニングフレームワークが特徴で、報酬ハッキング対策も施されています。

全文翻訳

アロハ!🌺 本日、エージェント的コーディングタスクに特化した自己改善型オープンソースモデルファミリー「Ornith-1.0」をご紹介します。Ornith-1.0は、エッジデバイスへの展開に適したコンパクトな9B Denseモデルから、最高のパフォーマンスのために最適化された397B MoEフロンティアスケールモデルまで、9B Dense、31B Dense、35B MoE、397B MoEを含む多様なバリアントをカバーしています。事前学習済みGemma 4とQwen 3.5の上に構築されており、同サイズのオープンソースモデルの中で、コーディングベンチマークで最先端の性能を達成しています。 Ornith-1.0の主な革新は、自己改善型トレーニングフレームワークです。RLでソリューション生成を駆動するために人間が設計したハーネスに依存するのではなく、Ornith-1.0はソリューションのロールアウトと、それらのロールアウトを導くタスク固有のハーネスの両方を生成することを学習します。足場と結果として得られるソリューションを共同で最適化することで、モデルはより良い探索軌道を発見し、より高品質なソリューションを生成できます。 Ornith-1.0は、幅広いエージェント的コーディングベンチマークで、同サイズのオープンソースモデルの中で最先端の性能を達成しています。Ornith-1.0-397B(Terminal-Bench 2.1で77.5、SWE-Bench Verifiedで82.4)はClaude Opus 4.7(TB-2.1で70.3、SWE-Bench Verifiedで80.8)の性能に匹敵し、MiniMax M3(TB-2.1で66.0、SWE-Bench Verifiedで80.5)やDeepSeek-V4-Pro(TB-2.1で67.9、SWE-Bench Verifiedで80.6)などの主要なオープンソースモデルを上回っています。エッジデバイスに容易に展開できるOrnith-1.0-9Bは、Gemma 4-31BやQwen 3.6 35Bのようなはるかに大きなモデルの性能に匹敵するか、それを上回ります。フラッグシップスケールでは、Ornith-1.0-397BはTerminal-Bench 2.1で77.5、SWE-Bench Verifiedで82.4を達成し、両ベンチマークでClaude Opus 4.7を上回り、Minimax M3やDeepSeek-V4-Proを含む同サイズの主要なオープンソースモデルを凌駕しています。Ornith-1.0-35Bは、Qwen 3.5-35B、Qwen 3.6-35B、Gemma 31Bを含む同サイズのモデルを大幅に上回ります。35Bパラメータしかないにもかかわらず、Terminal-Bench 2.1ではQwen 3.5-397Bをも上回り(64.4対53.5)、他のいくつかのコーディングおよびエージェント的ベンチマークではその性能に匹敵します。エッジ展開可能なOrnith-1.0-9Bも、Terminal-Bench 2.1で43.1、SWE-Bench Verifiedで69.4という驚くほど強力な結果を出しています。コンパクトな9Bパラメータモデルであるにもかかわらず、Gemma 4-31Bのようなはるかに大きなモデルの性能に匹敵するか、それを上回っており、リソース効率の良い展開でも強力なエージェント的コーディング能力が達成できることを示しています。 LLMトレーニングのための自己改善戦略 Ornith-1.0の核となるのは、タスクを解決することと、それらのソリューションを導く足場を構築することを共同で学習する自己改善型トレーニングフレームワークです。Ornith-1.0は、タスクカテゴリ全体で共有される固定の人間が設計したハーネスに依存するのではなく、足場をポリシーとともに共進化する学習可能なオブジェクトとして扱います。各RLステップは2つの段階で進行します。まず、タスクと以前にそれに使用された足場を条件として、モデルは洗練された足場を提案します。次に、その足場とタスク記述を条件として、ソリューションのロールアウトを生成します。ロールアウトからの報酬は両方の段階に伝播されるため、モデルはより良い回答を生成するだけでなく、それらを引き出すオーケストレーションを作成するためにも最適化されます。トレーニング中に繰り返されることで、足場が継続的に変異し、より高い報酬の軌道を引き出すものに向けて選択されるフィードバックループが生じ、タスクカテゴリごとの戦略が自動的に出現し、手作業によるハーネス設計なしに持続的な能力向上が促進されます。 自己改善における報酬ハッキングへの対処 モデルが独自の足場を作成することを許可すると、当然ながら報酬ハッキングの問題が発生します。自己生成された足場は、タスクを実行せずに検証者を満足させることを学習する可能性があります。たとえば、目に見えるテストファイルを読み込み、チェック対象のファイルをタッチしたり、リテラルな期待される出力を書き込んだりするなど、期待される成果物をハードコーディングしたり、環境に存在するオラクルソリューションをコピーしたりすることが考えられます。これに対して、私たちは3つの層で防御します。第一に、外部の信頼境界を固定します。環境、ツール表面、テスト隔離は不変であり、モデルの手に届かないため、モデルは内部のポリシー足場、つまりそのメモリ、エラー処理、オーケストレーションロジックのみを進化させます。第二に、決定論的なモニターが、指定されたレベルでその境界を厳密に強制し、保留されたパスを読み取ろうとする試み、検証スクリプトを変更しようとする試み、または許可されたツール表面外のアクションを呼び出そうとする試みをフラグ付けし、そのような軌道にはゼロ報酬を割り当て、アドバンテージ計算から除外します。第三に、意図レベルのゲームが許可されたツール表面内で完全に発生する可能性があるため、凍結されたLLMジャッジは、主要な報酬としてではなく、検証者の上に立つ拒否権として機能します。 非同期RLトレーニング RLトレーニングでは、長いロールアウトのオフラインポリシー問題に対処するため、Ornith-1.0はパイプライン-RL戦略を採用しています。以前に生成されたオフポリシーのトークンの影響を制御するために、トークンの古さ を用いてトークンをダウンウェイトし、しきい値を超えると完全にドロップする陳腐化ウェイト を適用します。 \[ w(d_t)= \begin{cases} \!1, & \text{if } d_t \le K_1,\\ \!\exp\!\bigl(-\lambda(d_t-K_1)\bigr), & \text{if } K_1 < d_t \le K_2,\\ \!0, & \text{if } d_t > K_2. \end{cases} \] トークンレベルのGRPO損失は次のように重み付けされます。 \[ L_t=\min\!\bigl(r_t A_t,\; \mathrm{clip}(r_t,1-\epsilon^{-},1+\epsilon^{+})A_t\bigr)\cdot w(d_t), \] ここで、 \[ r_t= \frac{\pi_{\theta}(y_t \mid x, y_{<t})} {\pi_{\theta_t^{\mathrm{beh}}}(y_t \mid x, y_{<t})} \] 全ベンチマーク表 Ornith-1.0-397B Qwen3.5-397B Qwen3.7-Max GLM-5.2-744B Minimax-M3-428B DeepSeek-V4-Pro-1.6T Claude Opus 4.7 Claude Opus 4.8 Terminal Bench 2.1 (Terminus-2) 77.5 53.5 73.5 81.0 64 64 70.3 85 Terminal Bench 2.1 (Claude Code) 78.2 48.6 69.8 82.7 - 66.5 69.7 78.9 SWE-Bench Verified 82.4 76.4 80.4 - - 80.6 80.8 87.6 SWE-Bench Pro 62.2 51.6 60.6 62.1 59 55.4 64.3 69.2 SWE-Bench Multilingual 78.9 69.3 78.3 - - 76.2 - - NL2Repo 48.2 36.8 47.2 48.9 42.1 - - 69.7 ClawEval Avg 77.1 70.7 65.2 - - 75.8 78.2 - SWE Atlas - QnA 41.2 20.4 - - 37.9 27.2 40.3 48.8 SWE Atlas - RF 42.6 18.4 - - - - 48.6 46.7 SWE Atlas - TW 39.1 18.5 - - 30.8 - 38.5 - Benchmark Ornith-1.0-35B Qwen3.5-35B Qwen3.6-35B Gemma4-31B Qwen3.5-397B Terminal Bench 2.1 (Terminus-2) 64.2 41.4 52.5 42.1 53.5 Terminal Bench 2.1 (Claude Code) 62.8 38.9 49.2 - 48.6 SWE-Bench Verified 75.6 70 73.4 52 76.4 SWE-Bench Pro 50.4 44.6 49.5 35.7 51.6 SWE-Bench Multilingual 69.3 60.3 67.2 51.7 69.3 NL2Repo 34.6 20.5 29.4 15.5 36.8 ClawEval Avg 69.8 65.4 68.7 48.5 70.7 SWE Atlas - QnA 37.1 13.2 15.5 - 20.4 SWE Atlas - RF 29.7 10.2 11.4 - 18.4 SWE Atlas - TW 27.8 9.8 13.3 - 18.5 Benchmark Ornith-1.0-9B Qwen3.5-9B Qwen3.5-35B Gemma4-12B Gemma4-31B Terminal Bench 2.1 (Terminus-2) 43.1 21.3 41.4 21 42.1 Terminal Bench 2.1 (Claude Code) 40.6 18.9 38.9 - - SWE-Bench Verified 69.4 53.2 70 44.2 52 SWE-Bench Pro 42.9 31.3 44.6 27.6 35.7 SWE-Bench Multilingual 52 39.7 60.3 32.5 51.7 NL2Repo 27.2 16.2 20.5 10.3 15.5 ClawEval Avg 63.1 53.2 65.4 32.5 48.5 SWE Atlas - QnA 17.9 9.2 13.2 - - SWE Atlas - RF 16.6 4.3 10.2 - - SWE Atlas - TW 15.3 4.4 9.8 - - 脚注 Terminal-Bench 2.1 (Terminus-2): Terminal-Bench 2.1は、Harbor/Terminus-2フレームワークを使用し、parser=json、temperature=1.0、top_p=1.0、128Kコンテキストウィンドウで評価します。各実行は4時間のタイムアウト、32CPUコア、48GB RAMを使用し、結果は5回の実行の平均です。トレーニングと推論の一貫性を確保するためにQwenチャットテンプレートを調整し(https://huggingface.co/deepreinforce-ai/Ornith-1.0-397B/blob/main/chat_template.jinja)、vLLMのreasoning_contentキーに合わせるためにHarborを修正します。 Terminal-Bench 2.1 (Claude Code): Terminal-Bench 2.1は、Claude Code 2.1.126を使用し、parser=json、temperature=1.0、top_p=1.0、max_new_tokens=131072で評価します。結果は5回の実行の平均です。繰り返しになりますが、Qwenチャットテンプレート