Openai/692aba85-5b10-8006-817a-d5a83b020f8e
This conversation was exported from ChatGPT[1]
gpt-5-1-thinking[edit | edit source]
User: November 26, 2025[edit | edit source]
November 26, 2025 INTELLECT-3: A 100B+ MoE trained with large-scale RL https://www.primeintellect.ai/blog/intellect-3 概要を説明してください。
Assistant: INTELLECT-3 は、Prime Intellect が公開した 約106BパラメータのMixture-of-Experts MoE モデルで、[edit | edit source]
INTELLECT-3 は、Prime Intellect が公開した 約106BパラメータのMixture-of-Experts (MoE) モデルで、 大規模なRL(強化学習)を用いてポストトレーニングされたオープンなフロンティア級モデルです。INTELLECT-3_A_100B+_MoE_trained…
- ベースモデルは GLM-4.5-Air。[edit | edit source]
- その上に 1. SFT(教師ありファインチューニング) 2. 大規模RL をかけた 106B MoE モデルが INTELLECT-3。
- 数学・コード・科学・推論系ベンチマークで、 同クラスのモデル中では最先端の性能を達成し、 さらに より大きい一部のフロンティアモデルも上回ると主張。
- モデル重み・トレーニングフレームワーク・データセット・RL環境・評価まで まるごとオープンソースとして公開し、「大規模RLのレシピ」を開放することがコンセプト。INTELLECT-3_A_100B+_MoE_trained…
###[edit | edit source]
prime-rlという独自の大規模RLフレームワークで、 SFT から RL・評価までを一貫して扱う「ポストトレーニング用スタック」。- 特徴は 「完全非同期(async-only)」のオフポリシー学習。 - 長いロールアウトを伴うエージェント的RLでは、 同期SGDだと一番遅い環境に足を引っ張られるため、 常に少しオフポリシーで走る非同期方式がスケールには必須という立場。INTELLECT-3_A_100B+_MoE_trained…
- このフレームワークを、そのままプラットフォーム上から使って ユーザ自身のモデルをポストトレーニングできるようにしていく計画。
- verifiers ライブラリ+Environments Hubで、 LLM向けRL環境・評価をモジュールとして作り、共有・バージョン管理できる仕組み。[edit | edit source]
- 通常は学習コードと環境が密結合していて外部貢献やアブレーションがしづらいが、 Environments Hub では 「独立したPythonモジュールとして環境を配布」し、 トレーナー側から共通のインターフェースで利用できる。INTELLECT-3_A_100B+_MoE_trained…
- Hub 上には、数学・科学・推論・コード・ディープリサーチなど 数百種類の環境が公開されている。
- エージェント的なRLでは「コード実行」が頻繁に必要になるため、 「Prime Sandboxes」という専用の高速実行レイヤを構築。[edit | edit source]
- Kubernetes の通常パターンではレイテンシ・スループットが足りないため、 - Kubernetes コントロールプレーンを迂回する設計 - Rust から Pod への直接実行パス などで、 ローカルプロセスに近いレイテンシ・高い同時実行性能を達成したと説明。INTELLECT-3_A_100B+_MoE_trained…
- 512枚の NVIDIA H200 GPU(64ノード)で学習。[edit | edit source]
- Ansible による IaC、Slurm + cgroup v2 によるジョブ管理、 Lustre + NVMe NFS によるストレージ、DCGM + Prometheus による監視など、 大規模分散での安定稼働にかなり力を入れた構成を採用。INTELLECT-3_A_100B+_MoE_trained…
- 期間:約2ヶ月。 すべて 512×H200 クラスター上で実施。[edit | edit source]
- ステージ構成: 1. SFTステージ:GLM-4.5-Air 上に教師あり微調整。 2. 大規模RLステージ:Environments Hub 上の多様な環境で長期RL。
- RL環境のカテゴリ: - Math - Code - Science - Logic - Deep Research - Software Engineering
- トレーニング中の推論系ベンチマークスコアは 継続的に上昇を続けており、明確な飽和には達していないとされる。INTELLECT-3_A_100B+_MoE_trained…
- Agentic RLのさらなるスケール - 公開チェックポイント時点でも報酬・評価は伸び続けているので、 よりエージェント的な環境比率を高めて追加学習を継続予定。[edit | edit source]
- よりリッチで多様な環境 - Environments Hub には 500+ タスクがあるが、 INTELLECT-3 はその一部しか使っていない。 - 今後はより広範・高品質なコミュニティ環境へRLを拡大する。
- 長期的コンテキストを扱えるエージェント - モデル自身にコンテキスト管理(切り出し・分岐・軽量メモリなど)を学習させ、 「長い思考過程をRLで直接訓練」する方向を目指す。INTELLECT-3_A_100B+_MoE_trained…
- Prime Intellect は、INTELLECT-3 を単なるモデルではなく、 「大規模RLを含むフロンティア級モデルを誰でも訓練できるスタックの実例」と位置付けている。[edit | edit source]
- 目的は - 特定の巨大企業のクローズドAPIに依存せず、 - スタートアップやあらゆる企業が自前のモデルとRLパイプラインを持てる世界 を実現すること。
- INTELLECT-3 は 「ビッグラボでなくても、工夫されたインフラ+オープンなRLスタックで 十分にトップクラスと戦える」というデモでもある、とまとめている。INTELLECT-3_A_100B+_MoE_trained…
User: 利用方法について説明してください。[edit | edit source]
利用方法について説明してください。
Assistant: INTELLECT-3 の「使い方」は、ざっくり言うとこの 4 パターンです。[edit | edit source]
INTELLECT-3 の「使い方」は、ざっくり言うとこの 4 パターンです。
- ブラウザで触る(お試し)
- API 経由でアプリから呼ぶ
- ローカル or 自前サーバで推論サーバとして動かす
- prime-rl / verifiers を使って自分のモデルをポストトレーニングする
順番に整理します。
公式サイトからそのままチャットできます。[edit | edit source]
- Prime Intellect のトップに “CHAT WITH INTELLECT-3” へのリンクがあり、ブラウザ上のチャット UI で対話可能。primeintellect.ai[2]
これは単に「使い心地を見る」「数学・コード・推論の感触を確かめる」用途向けです。
###[edit | edit source]
Prime Intellect 自身が API を提供しており、 OpenAI 互換のエンドポイント形式 で叩けるようになっています(メソッドや JSON 形式がほぼ同じ)。apidog[3]
典型的な使い方の流れ:
- Prime Intellect のアカウントを作成し API キーを取得
- OpenAI 互換のクライアント(公式 SDK や openai パッケージなど)で base_url と api_key だけ Prime Intellect 用に差し替える
- model: "intellect-3" のように指定して messages を投げる
例(疑似コード):
from openai import OpenAI
client = OpenAI(
base_url="https://api.primeintellect.ai/v1", # 仮の例
api_key="YOUR_PRIME_INTELLECT_API_KEY",
)
resp = client.chat.completions.create(
model="intellect-3",
messages=[
{"role": "user", "content": "整数論のこの証明を手伝って"},
],
max_tokens=2048,
temperature=0.2,
)
print(resp.choices[0].message.content)
※ 正確な base_url やモデル名は Prime Intellect 側のドキュメント/ダッシュボードで確認する必要があります。apidog[4]
- OpenRouter に prime-intellect/intellect-3 として登録されており、 OpenRouter の API キーで他モデルと同様に呼べます。OpenRouter[5][edit | edit source]
特徴:
- 既に OpenRouter を使っている場合、同じエンドポイントでモデル名だけ差し替えればよい。
- いろいろなモデルを横断して比較するときに便利。
###[edit | edit source]
- モデルカード:PrimeIntellect/INTELLECT-3Hugging Face[6]
- BF16 版と FP8 版があり、さらに 8bit/4bit など複数の量子化モデルもコレクションとして公開されています。Hugging Face[7]
ライセンスは MIT / Apache2 系で、商用利用を含めかなり緩い条件。Hugging Face[8]
Hugging Face のモデルカードに、vLLM 用の起動例が掲載されています。Hugging Face[9][edit | edit source]
- BF16 版(2× H200):
vllm serve PrimeIntellect/INTELLECT-3 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--reasoning-parser deepseek_r1
- FP8 版(1× H200):
vllm serve PrimeIntellect/INTELLECT-3-FP8 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--reasoning-parser deepseek_r1
ポイント:
- 107B パラメータ MoE(アクティブ ~12B) なので、それなりに GPU が必要。
- 公式例では H200 を想定していますが、 Hugging Face 側の量子化モデルを使えば小さめの GPU(A100 80G 相当など)でも現実的になります。Hugging Face[10]
- vLLM を立ててしまえば、あとは OpenAI 互換の HTTP API として どのクライアントからも使えます。
INTELLECT-3 の大きな売りは、「中身の RL スタックごと全部オープン」な点です。[edit | edit source]
- INTELLECT-3 自体が、 GLM-4.5-Air-Base → SFT → RL(prime-rl) というレシピで訓練されています。Hugging Face[11][edit | edit source]
- 同じ prime-rl を使って、 自前データや独自環境で 自分のモデルを RL で強化することが可能。
おおまかな流れ:
- prime-rl / 関連パッケージをインストール
- ベースモデル(GLM-4.5-Air か、自前モデル)を用意
- verifiers / Environments Hub から環境を選ぶ or 自作する
- prime-rl の設定ファイルで - どの環境を使うか - 報酬設計 - ロールアウト長・バッチサイズ などを指定して学習ジョブを走らせる
INTELLECT-3 のテクニカルレポートには、 非同期オフポリシー学習・連続バッチング・in-flight weight update など prime-rl の実装詳細がかなり丁寧に書かれているので、それを参考に自前トレーニング設計を詰めていく形です。storage.googleapis.com[12]
- GitHub: PrimeIntellect-ai/verifiersGitHub[13][edit | edit source]
- Environments Hub に、数学・コード・科学・推論・ディープリサーチなどの環境がまとまっていて、 verifiers ライブラリを通じて prime-rl から呼び出せます。primeintellect.ai[14]
CLI の典型的な使い方(概要):
- uv tool install prime で CLI を入れる
- prime login で認証
- 自作環境をパッケージ化して prime env push で Hub に公開
- 学習用ノード側では prime env install owner/name で環境を取得
こうして 環境をコードとしてバージョン管理しつつ、複数のモデル・実験から再利用できます。
- HF コレクションには INTELLECT-3-RL Viewer / INTELLECT-3-SFT Viewer が含まれ、 どういうタスク・報酬で学習したかを可視化したスペースが公開されています。Hugging Face[15][edit | edit source]
これを読むと、
- どのカテゴリの環境がどれくらい効いていそうか
- 学習中にベンチマークスコアがどう立ち上がっているか
などが分かるので、自分で RL 設計するときのかなり具体的な参考資料になります。
- 単に使う(推論) - Web UI で試す - OpenRouter 経由で他モデルと並べて試す - 自前 vLLM サーバとして立てて、OpenAI 互換 API で統合[edit | edit source]
- プロダクトに組み込む - Prime Intellect のネイティブ API(レイテンシ・性能重視) - OpenRouter 経由(マルチモデル統合・課金一本化)
- 研究・自作モデル強化に使う - prime-rl+verifiers+Environments Hub で、 GLM-4.5-Air や自前モデルに同種の RL レシピを適用 - INTELLECT-3 のテクニカルレポートや Viewer を見ながら エージェント的 RL のスケーリング設計をコピー & 変形する
こういう層構造になっているイメージです。
User: INTELLECT-3: Technical Report[edit | edit source]
INTELLECT-3: Technical Report https://storage.googleapis.com/intellect-3-paper/INTELLECT_3_Technical_Report.pdf 詳細に解説してください。
Assistant: INTELLECT-3 のテクニカルレポートは、[edit | edit source]
INTELLECT-3 のテクニカルレポートは、
- モデルそのもの(106BパラメータMoE、12Bアクティブ)
- それを作るためのRLインフラ一式(prime-rl+verifiers+Environments Hub+Prime Sandboxes+512枚H200クラスタ)
- 具体的なSFT & RLレシピとベンチマーク結果
をまとめて公開した技術報告です。INTELLECT_3_Technical_Report
以下、セクション順にかみ砕いて解説します。
1. イントロ:何を目指した仕事か[edit | edit source]
近年のポストトレーニングは、RLVR(Reinforcement Learning with Verifiable Rewards)が事実上の標準になりつつあります(OpenAI o3、Grok 4、DeepSeek R1 など)。 しかし OSS 側は、
- RLフレームワーク
- RL環境 & 評価
- 安定なトレーニングレシピ
がバラバラで、フロンティアラボの社内スタックに比べてまだ弱い、という問題意識があります。INTELLECT_3_Technical_Report
そこでこの論文では:
- GLM-4.5-Air-Base をベースに、SFT+大規模RLで鍛えたモデル INTELLECT-3 を公開
- そのために作った 非同期大規模RLフレームワーク prime-rl を公開
- さらに RL環境群(verifiers+Environments Hub)とコード実行基盤 Prime Sandboxes、H200クラスタ上の運用方法 まで含めて “再現可能なスタック” として出す
というのがメインの貢献です。
図1(p1)では、AIME24/25、LiveCodeBench v6、GPQA、HLE、MMLU-Pro などで、INTELLECT-3 が同クラスの GLM-4.5-Air ポストトレインや DeepSeek R1-0528 を上回り、一部では 3倍以上大きい GLM-4.6 に迫る/肩を並べることを示しています。INTELLECT_3_Technical_Report
2. トレーニングインフラ[edit | edit source]
2.1 prime-rl:大規模非同期RLフレームワーク[edit | edit source]
prime-rl は 「トレーナ」「オーケストレータ」「推論サービス」 の3役で構成されます(図2, p5)。INTELLECT_3_Technical_Report
2.1.1 アーキテクチャ[edit | edit source]
- Trainer - 役割:ロールアウト+報酬から勾配を計算し、ポリシーを更新 - 実装:PyTorch FSDP2 ベース、torchtitan 由来のコードを使い - データ並列 - テンソル並列 - コンテキスト並列 - MoE向け grouped GEMM - HF 互換モデルをそのまま扱える
- Inference サービス - vLLM をバックエンドにした OpenAI互換 API サーバ - 標準 API に加え /update_weights /reload_weights を追加して、 トレーナからの重み更新を受け取れるようにしている。
- Orchestrator(CPUプロセス) - 推論サーバからロールアウトを受け取り、バッチ化して Trainer へ送る - Trainer から新しい重みを受け取って Inference へ配布 - ロールアウト生成には verifiers 環境を使い、Environments Hub 上の任意の環境をそのまま使える
この3者が疎結合で動作するため、トレーニング用GPUと推論用GPUを完全に分離しつつ、両者を非同期に回せるのがポイントです。
2.1.2 非同期オフポリシー学習[edit | edit source]
- 通常の同期 on-policy RL だと、 「ロールアウト生成 → 勾配計算 → パラメータ更新」が逐次になるため、 推論側がパラメータ更新待ちで止まる。
- prime-rl では オフポリシーを許容して非同期化: - 推論側は少し古いパラメータ θₙ を使い続けてロールアウトを生成 - その間に Trainer 側は θₙ から θₙ₊₁ へ更新を進める
- 図3(p6)のように、理想化すれば「常に1ステップ遅れ」くらいの off-policy で走るイメージ。
このとき生じる trainer-inference のミスマッチは後述の 重要度サンプリング+マスキング で制御します。INTELLECT_3_Technical_Report
2.1.3 Continuous Batching & In-Flight Weight Updates[edit | edit source]
長いチェイン・オブ・ソートやエージェントロールアウトでは、ロールアウト長の分散が大きいため、同期バッチだと一番遅いサンプル待ちでGPUが遊びがちです。
そこで、AReal や PipelineRL で広まった手法を取り入れて:
- Continuous Batching - オーケストレータが常に多数のロールアウトリクエストを「プール」しておき、 - ひとつ終わるたび即座に新リクエストを投入 → 推論GPUの利用率を常に高く維持
- In-Flight Weight Updates - Trainer から新しい重みが届くと、推論サーバは一瞬生成を中断して重みをアップデート - その後のトークンは新しいポリシーで生成 - 1本の軌跡の中に複数世代のポリシーが混在し得る - ポリシーの古さが一定ステップ数(max_off_policy_steps)を超えた軌跡は破棄
図4(p7)では、タイムライン上で「ロールアウト開始・終了」と「ポリシー更新」が重なっているイメージが描かれています。INTELLECT_3_Technical_Report
2.1.4 Multi-Client Orchestrator[edit | edit source]
vLLM 標準の multi-node data parallel では、ノード数を増やしてもスループットが頭打ちになったため、
- 各ノードを独立した推論サーバとみなし
- オーケストレータが「ノードごとに1クライアント」を持ち、
- ロールアウトをラウンドロビンで振り分ける
という カスタム data-parallel 方式を採用。これによりノード数にほぼ線形でスケールしたと述べています。INTELLECT_3_Technical_Report
2.1.5 オンライン難易度フィルタ[edit | edit source]
カリキュラム学習として、
- 問題ごとに過去の解答成功率から easy / normal / hard のプールを作成
- 各ステップでプールごとのサンプリング割合を制御
- さらに「常に成功 or 常に失敗」する問題のロールアウトは破棄
といったオンラインフィルタで、常にちょうど良い難易度帯を出し続けるように調整しています。INTELLECT_3_Technical_Report
2.1.6 長いシーケンス長への対応[edit | edit source]
RL中に自然とシーケンス長が伸びる(長く考えるようになる)ため、48k〜72kトークン級での訓練を効率的に回す必要があります。INTELLECT_3_Technical_Report
アプローチは2つ:
- Context Parallelism(Ring Attention系) - Q/K/V をGPU間で回しながら注意を計算 - 256kトークンまで伸ばせたが、 - データ並列度が半減 - 精度劣化も見られた → 本番設定には不採用
- Activation Offloading - 層出力だけ保存し、中間活性はバックプロップ時に再計算(フルチェックポイント) - さらに出力アクティベーションをCPUへオフロード(torchtuneベース) - これで 48k → 72k まで伸ばしつつ、MFU低下は 0.1% 程度に抑えた
2.1.7 Distributed Muon[edit | edit source]
GLM 系はプレトレで Muon optimizer を使っているため、ポストトレーニングでも Muon を継続使用するのがよいとされる一方、Muon は 行列単位の更新 を行うので、FSDP でシャーディングされた勾配にはそのまま適用できません。INTELLECT_3_Technical_Report
試した方法:
- ラウンドロビン gather/scatter - 各 rank が一部の行列を集めて Newton-Schulz を計算し、更新済み勾配を scatter - しかしノード数が増えると gather が多すぎて InfiniBand が詰まる
- All-to-all ベースの手法(最終採用) - all-to-all collective で勾配を再配置し、Mu on を分散適用 - 実装には Dion の OSS 実装を利用
2.1.8 Mixture-of-Experts の効率化[edit | edit source]
MoE 層には torchtitan の実装を使い、grouped GEMM カーネルで専門家をまとめて実行。
- 実験の結果、 - シーケンス長と hidden dim が大きい今回の設定では、 既に grouped GEMM が十分に飽和しており、 - Expert Parallelism(EP)を入れてもスループットがむしろ下がることが分かった(scatter/gather オーバーヘッドのみ増える)。INTELLECT_3_Technical_Report
- 図5(p9)のベンチマークでは、 シーケンス長 32k〜65k では 128 experts まではTFLOPSが飽和領域にとどまるため、EPは不要という判断。
推論側では HF の MoE 実装を使う必要があるため、トレーナ側の state dict をHF形式にオンザフライ変換して vLLM に渡す工夫もしています。
2.2 verifiers と Environments Hub:RL環境の設計[edit | edit source]
verifiers は 「RL環境=データセット+ロールアウトロジック+報酬関数」として切り出すライブラリです。INTELLECT_3_Technical_Report
2.2.1 環境の構成要素[edit | edit source]
- dataset - 各行が1問題:入力プロンプト+メタデータ(正解、テストケースなど)
- rollout メソッド - 1問題+OpenAI互換クライアントを受け取り、 - ツール呼び出しやマルチターン対話を含む一連の行動を実行 - 学習に必要なログ(token ids, logprobs 等)を収集
- Rubric - 複数の reward function をまとめる抽象 - 各 reward は (プロンプト, completion, 正解, rollout state) を受けてスカラーを返す - 重み付き合成で最終報酬を作る - 投票・ランキングなど相対評価にも対応
- load_environment - 前処理やリソース確保を行い、環境インスタンスを生成するエントリポイント
ロールアウトは asyncio ベースで非同期に大量並列実行。図6(p10)のクラス階層では、
- Environment(基底)
- MultiTurnEnv(マルチターン)
- ToolEnv / StatefulToolEnv(ツール呼び出し)
- SandboxEnv(コンテナ実行)
- CodeEnv(テストケース付きコード環境)
と段階的に機能が拡張される様子が示されています。INTELLECT_3_Technical_Report
2.2.2 prime-rl との統合[edit | edit source]
- 環境は Python モジュールとして Environments Hub から pip install できる。
- prime-rl のオーケストレータは、モジュール名だけ指定すれば - 環境をロード - ロールアウト実行 - 報酬・logprobs などを Trainer に渡す
- EnvGroup によって 複数環境を1つの「大環境」として束ねることができ、 task ID 列でどのサブ環境で評価するかを振り分ける。
2.2.3 Environments Hub[edit | edit source]
- 環境を 独立したPythonパッケージとして登録・バージョン管理するレジストリ。
- 従来の「トレーニングリポジトリ内のサブフォルダ形式」から脱却し、 - 評価専用の利用 - バージョン固定 - 外部コントリビューション をやりやすくしている。
2.2.4 評価[edit | edit source]
トレーニング中のオンライン評価も verifiers 環境で行い、
- オーケストレータが訓練リクエストと評価リクエストを同じ推論プールに投げる
- 評価のオーバーヘッドを「訓練の隙間」に隠しつつ、リアルタイムにスコアを監視
という形になっています。
2.3 Prime Sandboxes:コード実行基盤[edit | edit source]
2.3.1 素朴な Kubernetes 実装の限界[edit | edit source]
「kubectl exec でエフェメラル Pod に入ってコードを走らせる」という素朴な設計だと、
- API Server & etcd が制御プレーンのボトルネックになり、
- 数千並列のとき 1コマンドのレイテンシが2.5秒まで悪化した、という測定結果が示されています。INTELLECT_3_Technical_Report
2.3.2 Prime Sandboxes のアーキテクチャ[edit | edit source]
これを解決するために、
- Rust 製 Gateway - 軽量HTTP APIで実行リクエストを受付 - Kubernetes APIではなく Headless Service を通じてPod IPを直接解決 - kube-proxy を迂回し、Pod へ直接接続
- 高スループット CoreDNS - Headless Service 由来の大量のAレコード更新に耐えるよう、CoreDNS構成をカスタム
- Sidecar パターンのサンドボックスPod - 特権 sidecar が nsenter でターゲットコンテナの namespace 内へ侵入してコマンド実行 - これにより ローカルプロセス並の速度とフルコンテナ隔離を両立
というかなり攻めた設計になっています。INTELLECT_3_Technical_Report
2.3.3 非同期ライフサイクル管理[edit | edit source]
Pod の Ready 検知も、
- Kubernetes API や Kopf controller でのイベント監視に頼ると、 - 大量Pod同時起動でバックログが溜まり、 - 実際には起動済みなのに「Ready通知が来ない」時間が長くなる
ため、
- Kopf はエラーハンドリング等のメンテ専用に縮小し、
- Pod 側の sidecar からトレーニングバックエンドへ Webhook を直接送ることで 起動完了を即時通知する方式に変更。
- この結果、クラスタ負荷に関わらず 起動から Ready まで常に < 10 秒に抑えられたと報告。INTELLECT_3_Technical_Report
2.3.4 イメージ配布と高密度化[edit | edit source]
イメージ配布は2段構え:
- 専用レジストリ+Lazy Pulling - 動的環境向け - エントリポイントに必要なレイヤだけ先読みし、残りはバックグラウンドでストリーミング
- Warm Pool - 標準的なランタイムイメージ用に、常に起動済みPodをプール - 取得即実行可能
さらに、1ノードに256サンドボックスを詰め込むことを目標とした bin-packing スケジューラと、
- RLは「短時間CPUスパイク+長時間待ち」のワークロードなので、
- CPUを Burstable QoS で大幅オーバーサブスクライブ
という設計でリソース効率を高めています。INTELLECT_3_Technical_Report
2.3.5 セキュリティ[edit | edit source]
- ランタイムには gVisor (runsc) を採用して、ユーザ空間カーネルでホストを隔離
- ネットワークポリシーで外部通信を制限
- 必要に応じて GPU をマウントしたサンドボックスも支援
2.4 GPUクラスタ運用[edit | edit source]
- 512枚の NVIDIA H200(64ノード)
- ネットワーク:400Gbps NDR InfiniBand(ConnectX-7)、AllReduce の tail latency を監視し、160GB/s 以上を目標
- 構成管理:Ansible による IaC
- ジョブ管理:Slurm + cgroup v2(ジョブ終了時に cgroup ごとプロセス凍結・破棄)
- ストレージ:Lustre(高スループット)+NVMe-NFS(メタデータ多め用途)
- 監視:DCGM → Prometheus、Xid エラーや熱スロットリング検知でノードを事前に drain
と、かなり “HPC すぎる” レベルまでチューニングされています。INTELLECT_3_Technical_Report
3. INTELLECT-3 の具体的な学習[edit | edit source]
3.1 環境ミックス[edit | edit source]
6カテゴリの環境を組み合わせています。INTELLECT_3_Technical_Report
- Math(i3-math, 21.2k問) - 元データ:Skywork-OR1, Acereason-Math, DAPO, ORZ-Hard などから高難度問題を抽出 - 検証: - まず math-verify で記号的に採点 - 間違い判定になったものは CompassVerifier-7B(LLM judge)でも再チェック → ルールベースの偽陰性を補正 - 難易度付け:Qwen3-4B-Thinking が8サンプル生成したときの成功率で easy / normal / hard に分ける
- Code(i3-code, 8.6k問) - Python 単発プログラミング問題 - SYNTHETIC-2 データセットをベースに、1問あたり最大15テストケースを Prime Sandboxes で実行 - サンドボックスが壊れた場合はその completion をマスク - 難易度付けは Qwen3-4B-Instruct の成功率で
- Science(i3-science, 29.3k問) - MegaScience からフィルタした物理・化学・生物など - math-verify+LLM judge の二段構えで採点 - 難易度付けも Qwen3-4B-Instruct
- Logic(i3-logic, 11.6k問) - SynLogic 由来の29種類の論理パズル/ゲーム(ブール式評価、クロスワード、数独、マインスイーパーなど) - 同様に Qwen3-4B-Instruct の成功率で難易度付け
- Deep Research(deepdive 環境) - Serper ベースの web search tool、click / open tool、finish tool を使う「ウェブ調査」環境 - z-AI DeepDive データセットから - SFT 用軌跡 1k - RL 用 2.2k - 検証として、Qwen3-4B-Instruct を SFT→RL した小実験を行い、 図7(p15)のように RL 中に平均報酬がちゃんと上がることを確認(環境実装の検証)。
- Software Engineering(deepswe / mini-swe-agent-plus) - R2E-Gym と mini-swe-agent-plus をベースにしたエージェント scaffold を2種類用意 - サンドボックス内で - Bash 実行ツール - ファイル編集ツール を使ってGitHubリポジトリのバグ修正を行う - 最大200ターンまで行動可、最後にテストスイートで成功判定 - 2万以上のGitHubリポを事前にインストールしたイメージを Prime Sandboxes 上に用意
3.2 Supervised Fine-Tuning(SFT)[edit | edit source]
SFT は2段構え。INTELLECT_3_Technical_Report
ステージ1:一般チャット+Reasoning SFT[edit | edit source]
データソース(表1, p16):
- NVIDIA Nemotron Post-Training Dataset v1 の - OpenReasoning-Math(200万例, 78.1Bトークン) - OpenReasoning-Code(190万例, 94.3B) - OpenReasoning-Science(31万例, 32B) - OpenReasoning-Tool(80万例, 3.8B)
- AM-DeepSeek-R1-0528-Distilled の - General Chat(95.2万例, 8.4B) - Instruction Following(5.4万例, 0.4B)
いずれも DeepSeek-R1-0528 由来の高品質な思考トレースを含む合成データ。
設定:
- コンテキスト長 65k
- 1エポック、1ステップあたり ≈33M トークン
- Optimizer: Muon, weight decay 0.01
- LR: 5e-5(300ステップで 1e-8 から線形ウォームアップ)
- FSDP world size=64, DP replicate 8 → 512 GPUをフル活用
- 図8(a) の loss カーブはスムーズで、発散やスパイクは見られない
ステージ2:Agentic SFT[edit | edit source]
目的:
- ツール利用
- 長時間エージェント行動
- 65k 以上の長コンテキストへの慣れ
追加データ:
- SWE-Swiss(SWEエージェントタスク)
- Toucan Tool(ツール利用データ)
- Environments Hub 上の各環境で DeepSeek-R1-0528 を走らせて作った軌跡
設定:
- ステージ1の最終チェックポイントから再開
- 文脈長 98k(Context Parallelism により拡張)
- 2エポック、800ステップ
- Muon, LR 5e-8 から線形減衰
- 図8(b) の loss も安定
チャットテンプレートと「常に思考する」設計[edit | edit source]
- Qwen3 / GLM 系に似た <|system|>, <|user|>, <|assistant|>, <|im_start|>, <|im_end|> の構造
- ツールコールは XML 風タグ
- 特徴的なのは - ユーザ側には「思考モードの切り替え」を見せず、常に内部で<|think|>トークンを使って思考させる - multi-turn で reasoning_content を自動パースし、前ターンの思考をうまく継続できるようにしている - 実際に使うときは qwen3_coder tool parser と deepseek_r1 reasoning parser を使うことを推奨
3.3 Reinforcement Learning フェーズ[edit | edit source]
設定[edit | edit source]
- バッチサイズ:256プロンプト × 各プロンプト16ロールアウト
- 最大コンテキスト長:65,536
- オンライン難易度フィルタ+「easyプールのpass率1問題を除外」
- max_off_policy_steps = 8
- Optimizer: Muon, LR 1e-6
- クラスタ構成: - 60ノード(計480 H200)を使用 - うち 16ノードを Trainer、44ノードを Inference に割り当て(≒1:3) - in-flight weight update ありの場合、1ステップ ≈1500秒 なしだと 2倍以上かかる
学習アルゴリズム:masked importance sampling(IcePop系)[edit | edit source]
目的:非同期 off-policy による trainer-inference ミスマッチを安全にコントロールすること。INTELLECT_3_Technical_Report
数式的には、N本のロールアウト {y_i} に対して
- 重要度比 ri,t=πtrain(yi,t∣x,yi,<t;θ)πinfer(yi,t∣x,yi,<t;θold)r_{i,t} = \frac{\pi_{\text{train}}(y_{i,t}|x,y_{i,<t};\theta)}{\pi_{\text{infer}}(y_{i,t}|x,y_{i,<t};\theta_\text{old})}ri,t=πinfer(yi,t∣x,yi,<t;θold)πtrain(yi,t∣x,yi,<t;θ)
- これを [α, β] = [0.5, 5] の範囲内にあるトークンだけ採用し、それ以外はマスク(寄与0)
- ロールアウト i の報酬 Sᵢ に対し、同一プロンプト内で平均を引いた A^i,t=Si−mean(Sj)\hat{A}_{i,t} = S_i - \text{mean}({S_j})A^i,t=Si−mean(Sj) をトークンごとの advantage とみなす
- さらに どこか1トークンでも重要度比が非常に小さい(< 1e-5)ロールアウトは全体を破棄
という設計です。
これは CISPO に近い発想ですが、clipping ではなく masking にすることで、比率が暴れたサンプルがノイズとして残るのを防いでいる、と説明しています。図10(p18)では、GSPO と CISPO 系アルゴリズムを比較したとき、GSPO が高 off-policy 設定(async-8)で突然 reward 崩壊を起こす様子が示され、これが実験上の安全性問題になると述べています。
オンライン評価[edit | edit source]
図9(p17)では、AIME24/25, HLE, LiveCodeBench, GPQA のスコアが、ステップを追うごとに着実に上昇していることが示されています。
- どのベンチマークも まだ明確に頭打ちになっていない → さらに RL を継続すればまだ伸びる余地がある、というのが著者の結論です。
4. 評価結果[edit | edit source]
4.1 ベンチマーク[edit | edit source]
表2(p19)に、主要モデルとの比較がまとまっています。INTELLECT_3_Technical_Report
| モデル | AIME24 | AIME25 | LCB v6 | GPQA | HLE | MMLU-Pro | | ------------------------ | ------ | ------ | ------ | ---- | ----- | -------- | | INTELLECT-3 | 90.8 | 88.0 | 69.3 | 74.4 | 14.6 | 81.9 | | GLM-4.5-Air (post-train) | 84.6 | 82.0 | 61.5 | 73.3 | 13.3 | 73.9 | | GLM-4.5 (base) | 85.8 | 83.3 | 64.5 | 77.0 | 14.8 | 83.5* | | GLM-4.6 | 92.0 | 90.3 | 73.0 | 78.8 | 13.3* | 83.1 | | DeepSeek R1-0528 | 83.2 | 73.4 | 62.5 | 77.5 | 15.9 | 75.3 | | DeepSeek v3.2 | 88.1 | 84.7 | 71.6 | 81.4 | 17.9 | 84.6 | | GPT-OSS 120B | 75.8 | 77.7 | 69.9 | 70.0 | 10.6 | 67.1 |
- 一部スコアは AA Index 由来。
ポイントとしては:
- 同じGLM-4.5-Airベースでも、Prime Intellect版RLの効果がかなり大きい - 例:LCB v6 で 61.5 → 69.3(+7.8pt) - MMLU-Pro でも +8pt 程度
- 3倍大きい GLM-4.5 / 4.6 に対しても、AIME や LCB では肉薄 or 逆転
- 一方、GPQA / HLE / MMLU-Pro の一部では DeepSeek v3.2 がまだ上 → INTELLECT-3 は「GLM系の中では非常に強いが、全体トップではない」という位置づけ
また、全モデル同一設定で評価するために、
- 可能な限り各社の公式APIを使用
- Environments Hub 上の公開実装を用いて再現可能性を確保
していると明記されています。
5. 結論と今後の課題[edit | edit source]
結論として著者らは:
- INTELLECT-3 は 100Bクラスのオープンモデルとして非常に強い Reasoning/Agent モデル
- それを支える prime-rl+verifiers+Environments Hub+Prime Sandboxes+H200クラスタ運用ノウハウ を一式OSS化したことが本質的貢献
- これにより「大企業のクローズドRLスタック」と「個人/小規模ラボ」のギャップをかなり埋えられる
と主張します。INTELLECT_3_Technical_Report
今後の方向性としては:
- Agentic RL のさらなるスケール - 現状でも報酬カーブは伸び続けているので、DeepDive や SWE など agentic 環境を厚くして継続学習すべき。
- よりリッチな RL 環境 - Environments Hub には既に500以上の環境(自律AI研究、コンピュータ操作、定理証明、ブラウザ自動化、法律・金融など)があるが、 INTELLECT-3 はその一部しか使っていない。 - これらコミュニティ環境をフル活用することで、現実タスクに近いスキルを強化したい。
- 長期ホライズンエージェントとコンテキスト管理 - 「コンテキストウィンドウは有限資源」とみなし、 - 自分でコンテキストを切り出す - サブタスクごとに自己プロンプトする - 外部メモリを自分で管理 といった機能を、できるだけシンプルなツールの組み合わせとして与え、RLで end-to-end 学習させたい。 - 最近指摘されている「Long context でも、実効的な reasoning window はかなり短い(context rot)」問題を、 RLで“自分で文脈を管理する能力”を学習させることで克服する狙い。INTELLECT_3_Technical_Report
ざっくりまとめると、
- INTELLECT-3 は「GLM-4.5-Air を土台に、きっちり作り込んだ大規模非同期RLスタックで鍛えた 100B級オープンReasoningモデル」であり、
- 同時に「誰でも同じ手法で自分のモデルを鍛えられるようにするための、RLインフラ一式の技術マニュアル」
という位置づけのテクニカルレポートだと言えます。
References[edit | edit source]
- ↑ "INTELLECT-3: A 100B+ MoE trained with large-scale RL". ChatGPT. Retrieved 2025-11-29.
- ↑ "primeintellect.ai". primeintellect.ai. Retrieved 2025-11-29.
- ↑ "apidog". apidog.com. Retrieved 2025-11-29.
- ↑ "apidog". apidog.com. Retrieved 2025-11-29.
- ↑ "OpenRouter". openrouter.ai. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.
- ↑ "storage.googleapis.com" (PDF). storage.googleapis.com. Retrieved 2025-11-29.
- ↑ "GitHub". github.com. Retrieved 2025-11-29.
- ↑ "primeintellect.ai". primeintellect.ai. Retrieved 2025-11-29.
- ↑ "Hugging Face". Hugging Face. Retrieved 2025-11-29.