0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

verlとは:複雑な強化学習を"数行"で書けるRL基盤——制御と計算を分ける設計

0
Posted at

2026年2月、Amazon(AWS)が公開した小さなモデルが話題を呼んだ。競技プログラミング向けに鍛えた70億パラメータ(7B)の「CodeFu」が、4倍の規模を持つモデルをベンチマークで上回ったのだ。巨大モデルのAPIを買い続けるのではなく、自社のタスクに特化した小型モデルを強化学習(RL: Reinforcement Learning)で磨いて勝つ——そんな選択肢が現実になりつつある。

ただし、この記事の主役はCodeFuではない。その訓練の裏側で動いていた verl だ。verlは、複雑な強化学習の手順を「数行」で書けるのに、必要なら数百GPUまでスケールできるオープンソースのRL基盤(強化学習フレームワーク)である。そして先に言っておくと、これは数百GPUを持つ会社だけの話ではない——verl自体は、手元で小さく試せる。

CodeFuはverlで強化学習をどう回したか

CodeFuはゼロから作られたのではない。DeepSeekが公開した蒸留モデル(大きく賢いモデルの振る舞いを小さなモデルに写し取ったもの)「DeepSeek-R1-Distill-Qwen-7B」を土台に、強化学習で鍛え直した。事前学習を終えたモデルをあとから追加で磨くこの工程を ポストトレーニング(広い意味でのファインチューニング)と呼ぶ。組み立ては3つだ。

  • アルゴリズム:GRPO(Group Relative Policy Optimization。1つの問題に複数の解答を出させ、その中で相対的に良いものを強化するRL手法)。
  • 実行基盤:verlに分散実行ライブラリRayを組み合わせ、AWSのマネージド学習サービスSageMaker上で動かす。
  • 報酬の作り方:生成されたコードを実際に実行し、テストに通った割合で点を付ける 実行ベース報酬。正解を機械的に判定できる「検証可能報酬によるRL(RLVR)」の一例だ。

結果、CodeFu-7BはベンチマークUSACOで 13.7% pass@1(pass@1=1回の生成で正答する割合)を記録し、4倍規模のモデルを上回ったとAWSは報告している。肝心なのは報酬の定義で、CodeFuは「正しいコード=テストに通るコード」という素朴で強い基準をそのまま点数にした。

もっとも、これは巨大クラウド事業者による 存在証明 であって、どんな会社でも同じに再現できる話ではない。それでも「どのフレームワークで、報酬をどう作るか」という再現の道筋がここまで具体的に公開された意義は大きい。

「数百GPU」で身構える前に——verlを使える入口

ここで「数百GPUなんてうちにはない」と引いた人もいるはずだ。だが数百GPUは、verlがスケールできる 上限 であって、使い始めの条件ではない。verlはpip(Pythonのパッケージ導入コマンド)で入るオープンソースで、小さく試してから必要に応じて規模を上げられる。同じ数行のコードが規模を問わずそのまま動く——これは後で見る「制御と計算を分けた設計」の効きどころだ。

本当の入口は、GPUの枚数ではなく 報酬を作れるかどうか にある。CodeFuの強さは「テストに通るか」で機械的に採点できた点にあった。あなたのプロダクトに、答え合わせで自動採点できるタスク——コードのテスト通過、数値の一致、書式の充足など——はないだろうか。そこにこそ、verlのようなRL基盤が効く余地がある。逆に、良し悪しが人の主観でしか測れないタスクは、点数の基準を機械的に作りにくく、この型の強化学習は向きにくいと考えられる。「採点できるタスクがあるか」が、GPUの枚数より先に確かめるべき入口だ。

「数行で書ける」の正体——制御と計算を分けるHybridFlow

では、なぜverlは「数行で書けるのに大規模でも速い」のか。RL訓練が難しいのは、1ステップの中で「生成→採点→更新」という性質の違う処理が連鎖し、それを多数のGPUへ分散させねばならないからだ。素朴に書くと、この配線だけでコードが膨れ上がる。verlの土台になった論文「HybridFlow」(人の評価でモデルを仕上げるRLHF=人間のフィードバックによる強化学習を効率化する研究。EuroSys 2025採択)は、ここを「制御」と「計算」の2層に分けて解いた。

  • single-controller(制御フロー):RL全体の手順を1つの中央プログラムが上から書く層。いわば司令塔で、開発者は普通の逐次処理のように数行でアルゴリズムを書ける。
  • multi-controller(計算エンジン):生成や学習といった重い処理を、多数のGPUが手分けして実行する層。
[ single-controller : 司令塔 ]  RLの流れを数行で記述。データを配って結果を集める
        ├─▶ multi-controller : 生成(rollout)   ← 多数GPUが並列実行
        ├─▶ multi-controller : 報酬計算
        └─▶ multi-controller : 学習(方策モデルの更新)

この二層分離のおかげで、書く側は司令塔の数行だけを意識すればよく、重い計算はGPU群に任せられる。「数行で書ける」簡潔さと「大規模で速い」性能が、ここで両立する。

速さを支えるもう一つの仕組みが 3D-HybridEngine だ。ここでの「3D」は、大規模な学習で定番の3種類の並列化——データ・テンソル・パイプラインの並列——をまとめて指す。いずれも計算を手分けして速くするやり方だ。verlはこの仕組みで、生成用と学習用のモデル配置を同じGPU上で組み替え、両者が別々のコピーを抱えるメモリの無駄を省く。

速さの数字も見ておこう。論文は既存3フレームワーク(DeepSpeed-Chat / OpenRLHF / NeMo-Aligner)に対し、最大で約20倍、70B規模の訓練で平均9.64倍のスループット改善を報告している。手が届きやすい7B規模でも、手法によっておよそ1.5〜8.6倍で、128GPU程度でも既存の最良フレームワークを上回ったという(手法・モデル規模ごとの内訳は原論文を参照)。

では「数行で書ける」を最小コードで見よう。verlでは、報酬の決め方を1つの関数として書くだけでよい。

# verlのカスタム報酬関数。単一なら関数名を compute_score にすればよい。
# 引数は data_source, solution_str, ground_truth, extra_info の4つで固定。
def compute_score(data_source, solution_str, ground_truth, extra_info=None):
    code = extract_code(solution_str)              # 生成テキストからコードを抽出(自前ヘルパー)
    passed, total = run_tests(code, ground_truth)  # サンドボックスで実行(自前ヘルパー)
    return passed / total                          # テストに通った割合=実行ベース報酬

あとは、この関数をGRPOの設定とともに渡すだけだ。

python3 -m verl.trainer.main_ppo \
    algorithm.adv_estimator=grpo \              # アドバンテージ推定をGRPOに(既定はgae)
    actor_rollout_ref.rollout.n=8 \            # 1問につき8個生成=「グループ」
    actor_rollout_ref.actor.use_kl_loss=True \ # 方策が暴れないよう補正(KL損失)を併用
    custom_reward_function.path=my_reward.py    # 上のcompute_scoreを接続

extract_coderun_tests は説明用の自前ヘルパー(公式APIではない)で、そのまま動く完成例は公式リポジトリのGRPOレシピ(参考文献4)にある。複雑なRLの中身が 報酬関数の数行と設定フラグの数行 に圧縮されている——これが「数行で書ける」の実体だ。

広がる採用と「次の波」uni-agent

verlの採用はAWSだけではない。一次情報で確度が高いもう一つの例が、生みの親 ByteDance Seed チームだ。Seedは自社のRLモデルをverlで訓練し、数学ベンチAIMEで 70.0 pass@1 という高い水準を報告している。公式リポジトリにはAlibaba(Qwen)やLinkedInなども名を連ねるが、多くは自己申告に近く、どのモデルをどう訓練したかまで一次情報で裏が取れるのは、現状AWSとByteDanceが中心だと考えられる。

最後に「次の波」を一つ。2026年に登場した uni-agent は、verl陣営(HybridFlow論文の著者Guangming Shengらを含む)による新しい層で、AIエージェントの「構築・実行・訓練」を1つのループにまとめようとする。verlを普通のPythonパッケージとして呼び出し、エージェントをそのままRL訓練につなげる点が新しい。単体の本番採用実績はまだ薄いが、「エージェントをどう作るか」と「どう鍛えるか」が地続きになりつつある——その先端にverlがいる。

まとめ:入口は「採点できるタスク」があるか

verl(HybridFlow)の核心は、制御(single-controller)と計算(multi-controller)を分け、メモリを使い回す3D-HybridEngineを備えたことにある。これで「複雑なRLを数行で書けるのに、大規模でも速い」が成り立つ。AWSのCodeFuは、その上で7Bを実行ベース報酬で磨き、特定タスクで4倍規模を超えた一次事例だった。

フロンティアモデルを買い続けるか、それとも自社の小型モデルを強化学習で磨くか。鍵はGPUの数ではなく、「答え合わせで採点できるタスク」を自社で見つけられるかにある。あなたの手元のプロダクトに、その一つはないだろうか。


参考文献

  1. verl 公式リポジトリ(GitHub)- verl-project/verl — https://github.com/verl-project/verl
  2. verl 公式ドキュメント - HybridFlow Programming Guide — https://verl.readthedocs.io/en/latest/hybrid_flow.html
  3. verl 公式ドキュメント - Implement Reward Function for Dataset(compute_score 署名・custom_reward_function) — https://verl.readthedocs.io/en/latest/preparation/reward_function.html
  4. verl 公式ドキュメント - Group Relative Policy Optimization (GRPO)(adv_estimator=grpo・rollout.n 等) — https://verl.readthedocs.io/en/latest/algo/grpo.html
  5. HybridFlow: A Flexible and Efficient RLHF Framework(arXiv:2409.19256, EuroSys 2025) — https://arxiv.org/abs/2409.19256
  6. HybridFlow(ACM Digital Library, DOI:10.1145/3689031.3696075) — https://dl.acm.org/doi/abs/10.1145/3689031.3696075
  7. AWS Machine Learning Blog - Train CodeFu-7B with verl and Ray on Amazon SageMaker Training jobs — https://aws.amazon.com/blogs/machine-learning/train-codefu-7b-with-verl-and-ray-on-amazon-sagemaker-training-jobs/
  8. Hugging Face - aws-prototyping/codefu-7b-v0.1 — https://huggingface.co/aws-prototyping/codefu-7b-v0.1
  9. ByteDance Seed 公式サイト — https://seed.bytedance.com/en/
  10. verl uni-agent(GitHub)- verl-project/uni-agent — https://github.com/verl-project/uni-agent
  11. PyTorch 公式イベント - verl: a flexible and scalable RL library for LLM reasoning and tool calling — https://pytorch.org/event/verl-flexible-and-scalable-reinforcement-learning-library-for-llm-reasoning-and-tool-calling/
  12. Spheron Blog - RLHF Training Infrastructure: verl / OpenRLHF / TRL — https://www.spheron.network/blog/rlhf-training-infrastructure-verl-openrlhf-trl-gpu-cloud/
  13. Anyscale Blog - Open Source RL Libraries for LLMs — https://www.anyscale.com/blog/open-source-rl-libraries-for-llms
  14. DigitalApplied - The Post-Training Revolution: RL as the New Moat (2026) — https://www.digitalapplied.com/blog/post-training-revolution-rl-new-moat-2026
  15. Unsloth Blog - RL Environments — https://unsloth.ai/blog/rl-environments
  16. Norwest - The Rise of Reinforcement Learning Gyms and the Future of Agentic AI — https://www.norwest.com/blog/the-rise-of-reinforcement-learning-gyms-and-the-future-of-agentic-ai/
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?