TRLにおけるvLLMの協調配置による効率向上
No GPU left behind: Unlocking Efficiency with Co-located vLLM in TRL
TRL (Transformer Reinforcement Learning) は、GRPO (Greedy Reward Policy Optimization) アルゴリズムを用いて大規模言語モデル (LLM) のトレーニングをサポートする。GRPOでは、モデルが自身の出力をフィードバックとして利用して学習するため、応答生成がトレーニングループの重要なボトルネックとなる。この生成速度を向上させるため、TRLはvLLMと統合される。以前のバージョン (TRL v0.18.0以前) では、vLLMは独立したサーバープロセスとして別GPUで実行され、トレーニングGPUは生成待ちでアイドル状態になるという非効率性が存在した。この問題を解決するため、TRLはvLLMをトレーニングコードと同じプロセスグループ内で実行する「協調配置 (colocation)」を導入した。これにより、トレーニングと推論が同じGPUリソースを共有し、GPUのアイドル時間を削減し、スループットを向上させる。この新機能は、vLLMの外部ランチャーとTRLのPR #3394によって実現され、torchrun、TP (Tensor Parallelism)、DP (Data Parallelism) と互換性がある。協調配置モードでは、特に大規模バッチサイズにおいて、従来のサーバーモードと比較して最大1.43倍の速度向上が見られた。また、vLLMのsleep() APIを活用することで、トレーニング中にGPUメモリを解放し、Qwen2.5-72Bのような巨大モデルのトレーニングも可能になる。DeepSpeed ZeRO Stage 3やAccelerateライブラリとの組み合わせにより、大規模モデルのトレーニング効率とスケーラビリティが向上する。協調配置トレーニングは、モデルの品質を損なうことなく、より少ないGPUリソースで高速なトレーニングを実現する。
- TRLがvLLMの協調配置(colocation)機能を導入し、トレーニングと推論のGPUリソース共有を実現
TRLとvLLMの協調配置によるGPU効率化は、LLMのRLトレーニングにおける主要なボトルネックである推論生成を解消する実用的な最適化であり、大規模モデルを扱うAI企業にとって計算コスト削減とトレーニング時間短縮に直結する。Hugging FaceのTRLがこの機能をOSSとして提供することで、RLHF/GRPOを用いたモデル学習がより少ないGPUリソースで実行可能になり、AIスタートアップや研究機関の参入障壁低下につながる点が注目に値する。