<h2 id=train-inference-gap> train-inference-gap</h2><div class="visible-content"> #EfficiencyImprovement #Pocket #NLP #LanguageModel #ReinforcementLearning #PostTraining #Selected Papers/Blogs #Stability #Reference Collection


Issue Date: 2025-11-01 [Paper Note] Defeating the Training-Inference Mismatch via FP16, Penghui Qi+, arXiv’25, 2025.10 GPT Summary- 強化学習による大規模言語モデルのファインチューニングにおける不安定性は、トレーニングポリシーと推論ポリシーの数値的不一致に起因する。従来の対策は効果が薄かったが、本研究ではFP16に戻すことでこの問題を解決できることを示した。この変更は簡単で、モデルやアルゴリズムの修正を必要とせず、安定した最適化と速い収束を実現し、多様なタスクで強力なパフォーマンスを発揮することが確認された。 Comment<p>元ポスト:

Loading…

</p><p>RL学習時の浮動小数点数表現をbf16からfp16に変更するシンプルな変更で、訓練-推論時のgapが小さくなり学習が改善する、という話らしい。</p><p>ポイント解説:

Loading…

</p><p>所見:

Loading…

</p><p>解説:

Loading…

</p><p>解説:

Loading…

</p><p>verlはFP16での学習をサポートしていないので著者がパッチを出した模様:

Loading…

</p></span>

#Article #Analysis #MachineLearning #NLP #LanguageModel #ReinforcementLearning #AIAgents #Blog #Selected Papers/Blogs #Stability


Issue Date: 2025-09-27 When Speed Kills Stability: Demystifying RL Collapse from the Training-Inference Mismatch, Liu+, 2025.09 Comment<p>元ポスト:

Loading…

</p><p>訓練時のエンジン(fsdp等)とロールアウト時のエンジン(vLLM等)が、OOVなトークンに対して(特にtooluseした場合に生じやすい)著しく異なる尤度を割り当てるため学習が崩壊し、それは利用するGPUによっても安定性が変化し(A100よりもL20, L20よりもH20)、tokenレベルのImporttance Weightingでは難しく、Sequenceレベルのサンプリングが必要、みたいな話な模様。</p><p>関連:
- Your Efficient RL Framework Secretly Brings You Off-Policy RL Training, Yao+, 2025.08
- [Paper Note] Group Sequence Policy Optimization, Chujie Zheng+, arXiv’25 </p><p>FP16にするとtrain-inferenae gapが非常に小さくなるという報告:
- [Paper Note] Defeating the Training-Inference Mismatch via FP16, Penghui Qi+, arXiv’25, 2025.10 </p><p>A100でvLLMをバックボーンにした時のdisable_cascade_attnの設定値による挙動の違い:

Loading…



そもそもFlashAttnention-2 kernelにバグがあり、A100/L20で特定のカーネルが呼ばれるとミスマッチが起きるのだとか。vLLM Flashattentionリポジトリのissue 87によって解決済み。具体的にどのカーネル実装なのだろうか。 (vLLM Flashattentionリポジトリだった模様)

https://github.com/vllm-project/flash-attention



disable_cascade_attnの設定値を何回も変えたけどうまくいかないよという話がある:

Loading…

</p></span>

#Article #Library #ReinforcementLearning #Blog #Selected Papers/Blogs #On-Policy


Issue Date: 2025-08-26 Your Efficient RL Framework Secretly Brings You Off-Policy RL Training, Yao+, 2025.08 Comment<p>元ポスト:

Loading…

</p><p>元々
- verl: Volcano Engine Reinforcement Learning for LLMs, ByteDance Seed Team, 2025.04

のスレッド中にメモっていたが、アップデートがあったようなので新たにIssue化

trainingのエンジン(FSDP等)とロールアウトに使うinferenceエンジン(SGLang,vLLM)などのエンジンのミスマッチにより、学習がうまくいかなくなるという話。</p><p>アップデートがあった模様:

Loading…



- Parallelismのミスマッチでロールアウトと学習のギャップを広げてしまうこと(特にsequence parallelism)
- Longer Sequenceの方が、ギャップが広がりやすいこと
- Rolloutのためのinferenceエンジンを修正する(SGLang w/ deterministic settingすることも含む)だけでは効果は限定的

といった感じな模様。</p><p>さらにアップデート:

Loading…

</p><p>FP16にするとtrain-inferenae gapが非常に小さくなるという報告:
- [Paper Note] Defeating the Training-Inference Mismatch via FP16, Penghui Qi+, arXiv’25, 2025.10 </p></span>

</div>

if ('IntersectionObserver' in window) {
  const observer = new IntersectionObserver((entries, obs) => {
    entries.forEach(entry => {
      if (entry.isIntersecting) {
        const el = entry.target;
        const html = el.getAttribute('data-embed');
        if (html) {
          const placeholder = el.querySelector('.tweet-placeholder');
          if (placeholder) placeholder.remove();

          el.innerHTML = html.trim();

          if (window.twttr?.widgets?.load) {
            window.twttr.widgets.load(el);
          }
        }
        obs.unobserve(el); // 処理済みは監視解除
      }
    });
  }, {
    rootMargin: '500px 0px', // 画面手前200pxで読み込み開始
    threshold: 0
  });

  tweets.forEach(tweet => observer.observe(tweet));

} else {
  // IntersectionObserver未対応ブラウザ用のフォールバック
  function lazyLoadFallback() {
    tweets.forEach(el => {
      if (el.getAttribute('data-embed') && el.getBoundingClientRect().top < window.innerHeight) {
        const html = el.getAttribute('data-embed');
        const loadingImg = el.querySelector('.tweet-loading');
        if (loadingImg) loadingImg.remove();
        el.innerHTML = html.trim();
        el.removeAttribute('data-embed');
        if (window.twttr?.widgets?.load) {
          window.twttr.widgets.load(el);
        }
      }
    });
  }
  window.addEventListener('scroll', lazyLoadFallback);
  lazyLoadFallback();
}   }); </script>