OWN NEWS GATHER
← 戻る
Hugging Face Blog

Hugging Face、LoRAとストレージバケットを活用しノード間通信不要の非同期強化学習を実現

要点

  • 強化学習ライブラリ「TRL v1.14」の「AsyncGRPOTrainer」が、LoRAアダプタの学習と推論エンジンへの同期に対応した。

  • 学習ジョブと2台の推論ジョブ(vLLM)を分離し、共有ストレージバケット経由で数メガバイトのアダプタのみを受け渡すことで、ノード間通信(NCCL)を不要にした。

  • キャッシュを考慮したプロキシサーバーを導入し、500ステップの学習時間を3時間27分から53分へ大幅に短縮した。

  • 米Hugging Faceは2026年9月10日、強化学習ライブラリ「TRL」の最新版において、LoRA(Low-Rank Adaptation:低ランク適応によるパラメータ効率化手法)とクラウドストレージを活用し、ノード間通信を行わずに非同期強化学習を実行するアーキテクチャを発表した。

  • 学習プロセスと推論サーバーを別々のコンテナジョブに分離し、軽量なアダプタ差分のみをファイル経由で同期する設計だという。

  • 同社によると、この構成の改善を重ねた結果、500ステップあたりの学習時間を従来の3時間27分から53分へと短縮できたとしている。

TRLでのLoRA対応と強化学習における利点

TRL(Transformer Reinforcement Learning)のバージョン1.14では、非同期強化学習を行う「AsyncGRPOTrainer」にLoRAサポートが追加された(PR #7017)。これにより、モデル全体のパラメータではなく、差分情報であるLoRAアダプタのみを学習し、推論エンジン「vLLM」へ同期できるようになった。

強化学習にLoRAを用いる背景として、AI研究企業Thinking Machinesの技術報告「LoRA Without Regret」の知見が挙げられている。ポリシー勾配強化学習ではエピソードごとに得られるアドバンテージ関数の情報量が約O(1)ビットと限られるため、最小設定であるランク1のアダプタでもフルファインチューニングに匹敵する性能を発揮するという。

この特性はシステム運用上も大きな利点となる。例えば15億パラメータ(1.5B)のモデルでは全体で約3ギガバイトの容量があるが、ランク1のLoRAアダプタは数メガバイトで済む。更新のたびに転送するデータ量が大幅に減るだけでなく、vLLMは複数のアダプタを同時に保持できるため、実行中の生成処理(ロールアウト)を開始時の方策で完了させつつ、新規リクエストには最新のアダプタを適用できる。

Hugging Face Jobsの制約とバケットによるファイル共有

AsyncGRPOTrainerは学習と推論の分離に対応しているが、従来は同一ノード内や密結合なクラスタ環境において、共有ファイルシステムやNCCL(NVIDIA Collective Communications Library:GPU間高速通信ライブラリ)を用いた直接通信に依存していた。

今回の実装では、仮想マシン上の独立したコンテナとして動作する「Hugging Face Jobs」を採用している。同環境はノードあたり最大8基のNVIDIA H200 GPUを利用できるが、ノード間の直接通信や共有ローカルディスクが利用できない制約がある。

モデル全体の重みを同期する場合はギガバイト単位の転送が必要でNCCLが不可欠だったが、LoRAにより同期サイズが数メガバイトに縮小したことで、ネットワーク直接通信を行わない構成が可能となった。各ジョブにはHugging Faceの「Storage Bucket」が共通パスにマウントされ、ツール「hf-mount」を介してFUSEファイルシステムとしてアクセスされる。これにより、ノード間通信を介さずにファイル共有が実現された。

システム構成とアダプタ同期の手順

構築されたシステムは、主に以下の4つの要素で構成されている。

  • Trainer Job:FSDP(Fully Sharded Data Parallel:モデル並列化手法)とLoRAを適用したAsyncGRPOTrainerを実行する学習コンテナ
  • 2台のvLLM Jobs:ベースモデルを読み込み、Trainerが公開した最新アダプタを適用して推論を行うコンテナ
  • Storage Bucket:全ジョブにマウントされ、アダプタの受け渡しを行う共有ストレージ
  • プロキシサーバー:認証ヘッダーの付加、KVキャッシュの効率化、アダプタ更新のブロードキャストを担う中継サーバー

同期の際、Trainerはテンソルを直接送信せず、数ステップごとにストレージ内の特定ディレクトリへアダプタを書き込み、アトミックなリネームで公開する。その後、パスをvLLMのエンドポイント(/v1/load_lora_adapter)へ通知する。通知を受けたvLLMはストレージからファイルを読み込み、最新モデルとして推論要求を処理する。プロキシは各生成要求をKVキャッシュのプレフィックスを保持するレプリカへ振り分け、処理効率を高めている。

ボトルネック解消による学習時間の短縮

システムの運用にあたっては、AsyncGRPOTrainerのメトリクスを監視してボトルネックの特定が進められた。5回の検証を通じて段階的な最適化を行った結果、同一設定における500ステップの学習時間は、当初の3時間27分から53分へと大幅に短縮されたと報告されている。

元URL