New Chat
  • Slides
  • Websites
  • Docs
  • Deep Research
  • Sheets
  • Agent Swarm
Kimi Code
Kimi Claw
Chat History
  • Mobile App
  • About Us
    • Visit Moonshot AI
    • Kimi Platform
    • Features
    • Terms of Service
    • Privacy Policy
  • Language
  • User Feedback

原始的grpo为什么为倾向于给出更长输出

原始的grpo为什么为倾向于给出更长输出
Search
GRPO 算法 长序列 生成 原因
38 results
原始的 GRPO 倾向于给出更长输出,主要是由于其目标函数设计中存在响应长度偏差(Response-level length bias):

响应长度偏差

  • 错误回答的惩罚机制:在原始 GRPO 中,损失函数会对每个响应的长度进行归一化,即除以响应的总长度 ∣oi​∣ 。当模型生成错误的回答时,其优势值为负,表示该回答应受到惩罚。然而,由于损失函数中的 1/∣oi​∣ 项,这个负惩罚会被分摊到响应的每一个 token 上。结果是,错误回答越长,分摊到每个 token 上的惩罚就越小。这种机制无意中鼓励了模型生成冗长的错误回答,因为较长的错误回答在参数更新时受到的“相对惩罚”更轻。
  • 正确回答的奖励机制:对于正确回答,优势值为正,较短的响应会获得更大的梯度更新,从而促使策略倾向于生成简洁的正确答案。这种不对称的优化倾向导致模型在生成错误回答时倾向于冗长,而在生成正确回答时倾向于简洁。

训练过程中的其他影响因素

  • 训练窗口的影响:如果训练窗口过短,对于本身输出长度较长的模型,会导致很多思考长度“撞墙”,从而出现 reward 下降问题。为了适应更长的输出长度,训练窗口需要适当增加,但这也会导致训练效率降低。
  • 超参数的影响:例如学习率较大时,模型输出长度增加会更显著。而较大的 batch size 会使模型参数更新趋于保守,但其输出长度在相同训练步数下上升更为明显。