⏶177
关于SFT泛化性的研究:一个带有奖励修正的强化学习视角
发表
由
Yongliang Wu 提交
作者: Yongliang Wu, Yizhou Zhou, Zhou Ziheng, Yingzhe Peng, Xinyu Ye, Xinting Hu, Wenbo Zhu, Lu Qi, Ming-Hsuan Yang, Xu Yang
摘要
AI 生成总结
动态微调(DFT)通过动态调整梯度,提高了大型语言模型(LLM)的泛化能力,其性能优于标准监督微调(SFT),并在离线强化学习中表现出竞争力。我们提出了一种对大型语言模型(LLM)的监督微调(SFT)进行改进的简单但有理论依据的方法,以解决其与强化学习(RL)相比泛化能力有限的问题。通过数学分析,我们揭示了标准SFT梯度隐含地编码了一种有问题的奖励结构,这可能会严重限制模型的泛化能力。为了纠正这一点,我们提出了动态微调(DFT),通过动态地根据令牌的概率重新缩放目标函数来稳定每个令牌的梯度更新。值得注意的是,这一行代码的更改在多个具有挑战性的基准和基础模型上显著优于标准SFT,展示了极大的泛化能力提升。此外,我们的方法在离线RL设置中也显示出具有竞争力的结果,提供了一种有效而更简单的替代方案。这项工作将理论洞察与实践解决方案相结合,实质性地提升了SFT的性能。代码将发布在 https://github.com/yongliang-wu/DFT。
评论
使用 DFT 损失在 ms-swift 上训练数百个 LLM 和 MLLM
DFT 与 SFT 的一些结果比较
训练曲线
(DFT:红色,SFT:绿色)
MATH500 评估
脚本:https://github.com/yongliang-wu/DFT
脚本可以在此处找到
您现在可以在 SFT 的最新版本中使用 DFT:https://github.com/huggingface/trl/releases/tag/v0.23.0 (只需在 SFTConfig 中切换损失即可)
我们提出了一种简单但具有理论基础的改进方法,用于大型语言模型(LLM)的监督微调(SFT),以解决其与强化学习(RL)相比泛化能力有限的问题。通过数学分析,我们发现标准SFT梯度隐式编码了一种有问题的奖励结构,这可能会严重限制模型的泛化能力。为了纠正这一点,我们提出了动态微调(DFT),通过使用此令牌的概率动态重新缩放目标函数来稳定每个令牌的梯度更新。值得注意的是,这一行代码的更改在多个具有挑战性的基准测试和基础模型上显著优于标准SFT,表现出大大改进的泛化能力。此外,我们的方法在离线RL设置中也显示出有竞争力的结果,提供了一种有效但更简单的替代方案。这项工作将理论洞察与实际解决方案相结合,极大地提升了SFT的性能。代码将在 https://github.com/yongliang-wu/DFT 提供。