世界を動かす技術を、日本語で。

RLにおける次のGPT-3の瞬間

概要

  • GPT-3の登場 により、スケールアップが言語モデルの汎用性と少ショット学習能力を解放
  • 現状の強化学習(RL) は、GPT-3以前のパラダイムに留まり、狭いタスクへの微調整が主流
  • 次世代RL では、数千の多様な環境での大規模トレーニングが主流になると予想
  • Replication Training という新パラダイムが、RLのGPT-3的転換点をもたらす可能性
  • 課題は多いが、Replication TrainingがRLの大規模化と汎用性向上の鍵になる見通し

強化学習の現状とGPT-3的転換点への展望

  • GPT-3以前の言語モデル開発 では、大規模コーパスで事前学習し、個別タスクで微調整する手法が主流
  • 現状のRL も同様に、まず大規模事前学習、次いで狭いタスクで微調整という流れ
  • この方法の限界 は、得られた能力の汎用性が低く、訓練済み環境外での性能劣化が顕著な点
  • GPT-3的転換点 として、数千もの多様な環境での大規模トレーニングへの移行を予測
  • これにより、新規タスクへの迅速な適応や高い汎用性を持つRLモデルの実現が期待

必要となるRL規模と比較

  • 現行のRLデータセット は規模が小さい(例:DeepSeek-R1は約60万問の数学問題で約6年分の人間作業量)
  • GPT-3の事前学習コーパス を人間が書く場合、数万年規模の作業量が必要
  • 最先端モデルの事前学習並みのRL計算量 を実現するには、約1万年分のモデルタスク時間が必要と推定
  • この規模感 は、Windows Server 2008やGTA V、Red Hat Linux 7.1などの大規模ソフトウェア開発と同等
  • 計算コストが全体コストの大半 を占めるため、RL環境の大規模化は経済的にも合理的

Replication Trainingという新パラダイム

  • Replication Training は、既存ソフトウェアやその機能の複製タスクをAIに課す手法
  • コマンドラインツールからWebサイト、ゲームまで、多様なソフトウェアが対象
  • 各タスクは詳細な仕様とリファレンス実装 を持ち、AIはこれと完全一致する実装を目指す
  • 評価基準が明確 で、実装の動作がリファレンスと一致すれば合格
  • この手法により、AIは詳細な指示理解、正確な実行、誤りの検知と修正、長期的な一貫性保持、困難への粘り強さなどを鍛えられる

Replication Trainingの意義と課題

  • 自然言語と同様に、ソフトウェアもインターネット上に豊富 であり、大規模なタスク生成が可能
  • 効率的かつ複雑なタスク生産 によって、AIによるエンドツーエンドのソフトウェア開発が現実味
  • テスト作成の難しさ や、実際のソフト開発とは異なる「複製」というタスクの人工性が課題
    • ただし、ポーティングやレガシー再実装など現実の一部業務とは一致
  • Replication Trainingは、RL環境の大規模化と汎用化のための現実的な道筋
  • RLのGPT-3的転換点 をもたらし、数万年分のタスク経験による頑健な汎用性能を実現

Replication Trainingの限界と次のパラダイム

  • Replication Trainingだけで全労働の自動化は難しい
    • 精密な設計仕様があれば複雑なソフト開発は自動化可能だが、人間のような創造的・包括的能力は未達
    • 高度なコーディング能力があっても、広範なマネジメントやエージェント的計画には限界
  • Replication Trainingは、次のパラダイムへの橋渡し
    • 事前学習がReplication Trainingの前提となったのと同様、さらなる進化の基盤
  • 今後の発展と応用に大きな期待
    • RL環境開発に関心のあるエンジニアを募集中

Hackerたちの意見

RLの重要性が増しているのは確かだね。外部から見ていると、最近のモデルの能力向上はほとんどRLから来ているから、パフォーマンス向上のためにRLをもっと活用するのは自然な流れだと思う。RLをスケールアップするのは、そのための自然なアプローチだよね。ただ、一般化の要素が見えないのが気になる。例えば、RL学習を通じてソフトウェアエンジニアリングや数学のパフォーマンスを向上させるとするじゃん(ソフトウェアエンジニアリングの方が数学よりもトレーニングコーパスが豊富だから、たぶん簡単だろうけど)。もしその一般化の要素が成立しなかったら、経済的にはどうなるんだろう?専門レベルのソフトウェアモデルは職業には役立つけど、他の業界に適用できないなら、トレーニングコストを回収できるほどの価値があるのかな?

OPが見落としている一つの詳細は、シーケンスの長さが増えるにつれてRLのコストが増加することだね。単純な算数の問題を考えているだけなら、推論トークンと回答トークンの数はかなり管理可能だよ。でも、完全なソフトウェアの答えは1000万トークンになるかもしれないし、それには推論も含まれていない。どこかで間違いがあったとしたら、モデルはそれを修正するために戻らなきゃいけないし、そのバグ修正が何を変えたのかを理解する必要がある。すべてをコンテキストウィンドウに保つことができるかもしれないけど、それはスケールしないように思える。

俺もこれを探求してるんだ。ソフトウェアを作るのにLLMに頼ってるからね。気づいたのは、開発ループのライティングやテストはほとんど人間がガイドしてるけど、言語モデルは推論でよく俺たちを上回ってるってこと。もっと自動化を進めると、MCPツールでブラウザを制御したり、ドキュメントを読んだり、要件を分析したりできるから、サイクルをもっと自動化できて、人間の関与を減らせると思う。この文章では、モデルを何千もの環境にさらしてRLをスケールアップすることを提案してるけど、複数のエージェントをチェーンすることで似たようなことはすでに達成できると思う。1. ブラウザツールを使ってドキュメントから詳細な仕様を作成する「要件」エージェント。2. ブラウザやCLIを介して環境(Docker、ビルドツール)をセットアップするコーディングエージェント。3. 再びツールを使って仕様に対してコードを検証するテストエージェント。4. テスターが結果に基づいてコーダーをガイドするフィードバックループ。これを組み合わせると、このシステムは特に小規模なプロジェクトにおいて完全に自律的な開発パイプラインになる。実際、俺はマシンを一晩中動かしておいて、これらのエージェントが新しい機能を提案して実装し、テストを実行して、合格したらリポジトリにプッシュするんだ。意外と上手くいくよ。主な障壁はコストだね。多くの強力なモデルを立ち上げるのは高くつく。でも、控えめな規模でやれば、この方法はかなり効果的だよ。

RLはトレーニング手法で、モデル自体を改善するんだ。だから、基本的には一つのステップ(例えば、成功したテスト実行や検索結果の発見)が他のステップ(例えば、コーディングエージェントや検索エージェント)のためのポジティブとネガティブの例を作ることができる。これを使うことで、ベース自体が他の要求を満たすように改善されて、もし100%の精度に近づいたら(モデルは主にテストでの単純なミスで失敗するから、可能だと思う)、テストエージェントはまったく必要なくなるかもしれない。

でも言語モデルは推論でよく俺たちを上回ってるけど、99%の確率でその推論は笑えるほどひどい。あるいは、推論が正しい方向に向かっていても、最終的な答えではそれを無視して、結局バカなことをしてしまうことが多い。

主な障壁はコストだって?俺は全然同意しない。俺たちの世界を動かしている大きくて複雑なものに関しては、広範囲で深い自動化を妨げるのはコストじゃない。むしろ、非常に洗練された制約のある要件や、変わるかもしれない非常に複雑な既存の動作、必要な情報を常に持っているわけではない人々のシステム、システムを説明する古くて役に立たない内部ドキュメントなどが問題なんだ。エージェントはこれを置き換える能力にはほど遠いし、仮に置き換えられたとしても、しばしば望ましくない方法や違法な方法で変えてしまうだろう。「もしそれが十分良ければ…」っていう魅力は分かるけど、実際にはそうじゃないし、AIが存在しなきゃいけないシステムは広大で、非常にナビゲートが難しいんだよ。

各レプリケーションタスクは詳細な仕様と参照実装から成り立っています。AIモデルは、参照の動作に正確に一致する実装を生成するように訓練されています。この明確なアプローチは評価を大幅に簡素化します。評価基準は客観的で直接的だからです:生成された実装が参照と同じ動作をするか、しないかのどちらかです。 でも、詳細な仕様を作成するには、参照実装から逆算しなきゃいけないんだよね。これは非常に簡単ではなく、TFAが事前学習と類似している点を大きく弱める。事前学習では、実際には生のテキストコーパス以外の入力は必要ないから。これがアイデアを完全に排除するわけではないけど、かなり足かせになってると思う。

詳細な仕様は特定の入力に対する出力だよ。それを拡張するためにファズァーを使うこともできる。

正しくプロンプトを与えれば、モデルはかなり包括的なテストの形で良い仕様を生成できる。すべてのテストには弱点があり、正式な仕様ではないけど、99%までは行けるかもしれない。

丁寧に反対したいな。既存のモデルやツールは、少なくともこれをブートストラップするには十分だと思う。以下のアーキテクチャを提案したい:ステップ1:Microsoft phiスタイル - コードを読み、フロンティアモデルを使って仕様を書く。ここではアンサンブルを使って仕様を細かくチェックできるよ。一度しか書かれないからね。もちろん、たくさんのRFCやそれに準拠したコードベースがあるし、準拠していない場合はバグレポートやパッチ、フォーラムのクレームなどの既存のリポジトリもある。ステップ2-4:マルチレイヤー評価を実装する:コンパイルできる?既存のモデルはコードが仕様に合ってると思う?QEMUで実行したとき、主要な評価が元のソフトウェアと同じ?私はステップ2-4のほとんどが自動化できると思っていて、既存のツールに依存して、安くはないけど実現可能なフレームワークを提供すると思う。もう少し考えれば、誰かがこの計画を改善できるはず。私にとっての興味深い質問は、これが現在のモデルサイズで能力を追加するかどうか。私の予想では、現在の巨大なモデルサイズは1/10サイズのディスティルよりもほんの少し良くなっただけのように感じる。つまり、これらの大きなスケールからはまだ最大限のものを引き出せていないってことだと思う。ダリオはこの点で異論があるみたいで、彼は公に「今のスケールの10倍は必要だ」と言っている。

「GPT-3の瞬間」ってちょっと大げさな表現だと思うんだよね。GPT-3はタスク特化のファインチューニングが不要になったけど、記事によるとRLはLLMスタイルの事前学習を置き換えるわけじゃないみたい。だから、これはGPT-3が示したパラダイムシフトよりも、むしろ漸進的な進歩って感じ。とはいえ、もしRLの一般化が実現すれば、それはすごいことだよね。大規模なRLが一般化を解放するっていう主張は、MLでスケーリング仮説が実現してきたのを見てきたから、そんなに驚くことでもないと思う。でも、ソフトウェアでの「複製トレーニング」は面白いね。既存のプログラムをコピーすることで、客観的な評価基準を持つ複雑なトレーニングデータがたくさん得られる可能性がある。私にとっての大きな疑問は、ソフトウェアの複製から学んだスキルが他の推論タスクに一般化するかどうか。これはかなりの「もし」だね。うまくいけば素晴らしいけど、ダメなら意味がない。

それはすごく大きな「もし」だね。他の分野は比較的曖昧だから。ほとんどの場合、コンパイラやインタプリタのようなものはないし(スプレッドシートがほとんどの業界で近い共通語になってるくらい)。それは「機能する」かもしれないけど、正しいことや再生成が必要なことを確認するためには、専門家によるさらに厳密な検証が必要だと思う。お願いだから、バイブ会計はやめて。

この記事は完全にハイプだね。「複製トレーニング」っていうアイデアを提供しているだけで、ただの漠然としたエージェント型の分散RLに過ぎない。マルチエージェントの分散強化学習アルゴリズムは、実際の文献にしばらく前から存在している。DeepMindが現在のエージェント型分散RLの最先端で何をしているのかを研究することをお勧めするよ。

LLMとRLは、すでにGPT-3の瞬間を迎えたと言えるかも。DeepSeek R1がすごく成功して、大手テック企業の株価を1兆ドル以上も消しちゃったからね。もしGPT-3の瞬間を人々が確実に注目した瞬間と見るなら、これもその一つだね。

これはソフトウェア、数学、ゲームにはうまくいくけど、複雑な現実のタスクにはどうかな?チャットログからの後知恵学習が役立つかもしれないと思う。どういうことかというと、長い会話を想像してみて。AIの応答が役に立ったかどうかをすぐに判断するのは難しいけど、次の20メッセージがわかれば推測しやすいかも。どう進んだかが見えるだけでなく、時には現実の検証も得られる。例えば、ユーザーがLLMにタスクを持ち込み、アイデアを試してみる。そして後で戻ってきて、新しいチャットセッションでさらに反復する。これによって、LLMの応答が実際に人々によってテストされることになる。これを使って「好みスコア」を生成し、好みモデルをトレーニングして、RLHFを行うことができる。だから、ユーザーのプライバシーも守られる。このプロセスを「人間-AI体験のフライホイール」と呼んでいるよ。もちろん、ユーザーベースが大きければ大きいほど、モデルが収集する経験も増える。今のところ、OpenAIには5億人のユーザーがいて、彼らはおそらく1日あたり0.5Tのインタラクティブトークンを生成している。そのトークンは人間の脳とLLMのログの両方に入っていく。もう環境工学の話ではなくて、結果を収穫することが重要なんだ。意味のある検証は、実際に人間がリアルな目的で使っているシステムから生まれる。

最近、タマイに会う機会があったけど、すごく鋭い人だった。私の知っている多くの人がメタRLや探索ベースのRLに取り組んでいて、目標は多様なタスクにわたる本当に良い世界モデルを持つ基盤モデルを構築し、限られたロールアウトやスパースな報酬信号から良いポリシー(または良いポリシーの更新)を予測することなんだ。まだそこには至っていないけど、オルトマンが最近言ったように、「継続的に学ぶものがない限り、AGIはない」と言っていて、この分野ではそれを実現するための大きな競争がある。

これを見て考えたことがいくつかある:1) AIモデルのトレーニングに結びついた暗号通貨があれば、トークンの生成自体以外の現実の問題を解決する数学よりも、暗号のグラインディングが有用になるのに。2) AIモデルが大きくなるにつれて、もっとハルシネーションが増えてくる。だから、特定の側面に特化した高調整モデルに焦点を当てて、どのモデルに何を依頼するかを知っている高次の指揮モデルを持って、そこから他のモデルにさらなるリクエストを送って結果を得るというアプローチがいいかもしれない。確かに、高調整されたニッチモデルの必要性がある。例えば、言語認識のモデルが言語、方言、アクセントを特定できるとしたら、それに合わせて調整された言語モデルを使うことになる。そういうアプローチの方が、すべてを一つの大きなモデルでやるよりも良さそうだね。

  1. プライムインテレクトってそれに似たことやってるんじゃないの?

10年以上前にGridcoinっていうのをマイニングしてたのを覚えてる。BOINCプロジェクトに関連した暗号通貨で、科学に計算能力を提供することで報酬がもらえるんだ。でも、残念ながらウォレットへのアクセスを失っちゃった。

最近、RLのスケーリングについて似たようなアイデアを書いた投稿があるよ: > 10^26 FLOPsにRLをスケールする方法 (blog.jxmo.io/p/how-to-scale-rl-to-1026-flops) 両方のエッセイの基本的な前提は、AIが能力の大きな飛躍をするためには、新しいデータを見つけてトレーニングする必要があるってこと。私の提案は、インターネットのテキストを再利用して、次のトークン予測でRLを行うことだった。でも、ここでリンクされている投稿は「レプリケーショントレーニング」を提案していて、それは「既存のソフトウェア製品やその中の特定の機能を複製するようAIにタスクを与えること」と定義されているんだ。

RLって何?リアルライフ?それとも強化学習?

リアルライフはIRLだよね。

近い将来、こういうのを見ることになると思う。でも、二つの大胆な主張があるんだ。一つは、RLが他の領域での一般化につながることへの希望で、現時点の証拠から見るとちょっと無理がある気がする。もう一つは、ソフトウェアや仕様が良い「RLジム」のデータであること。RLの基本的なアイデアは、モデルが最適な道を探ることだけど、もし書かれたソフトウェアがエージェントのインタラクションパラダイムにおいて最適でないなら(人間向けに書かれているから)、計算能力があってもモデルが最適でない可能性が高いんだ。現在のAIシステムが全体のワークフローを抽象化しているという並行したトレンドもある。それを考慮しないと、現在の要求に気づかない結果につながるかもしれないね。