<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>元ポスト:
</p><p>RL学習時の浮動小数点数表現をbf16からfp16に変更するシンプルな変更で、訓練-推論時のgapが小さくなり学習が改善する、という話らしい。</p><p>ポイント解説:
</p><p>所見:
</p><p>解説:
</p><p>解説:
</p><p>verlはFP16での学習をサポートしていないので著者がパッチを出した模様:
</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>元ポスト:
</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の設定値による挙動の違い:
そもそもFlashAttnention-2 kernelにバグがあり、A100/L20で特定のカーネルが呼ばれるとミスマッチが起きるのだとか。vLLM Flashattentionリポジトリのissue 87によって解決済み。具体的にどのカーネル実装なのだろうか。 (vLLM Flashattentionリポジトリだった模様)
https://github.com/vllm-project/flash-attention
disable_cascade_attnの設定値を何回も変えたけどうまくいかないよという話がある:
</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>元ポスト:
</p><p>元々
- verl: Volcano Engine Reinforcement Learning for LLMs, ByteDance Seed Team, 2025.04
のスレッド中にメモっていたが、アップデートがあったようなので新たにIssue化
trainingのエンジン(FSDP等)とロールアウトに使うinferenceエンジン(SGLang,vLLM)などのエンジンのミスマッチにより、学習がうまくいかなくなるという話。</p><p>アップデートがあった模様:
- Parallelismのミスマッチでロールアウトと学習のギャップを広げてしまうこと(特にsequence parallelism)
- Longer Sequenceの方が、ギャップが広がりやすいこと
- Rolloutのためのinferenceエンジンを修正する(SGLang w/ deterministic settingすることも含む)だけでは効果は限定的
といった感じな模様。</p><p>さらにアップデート:
</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>