Skip to content

解决LLM策略坍塌——LLM动态奖励模型 #778

@LinUser-000

Description

@LinUser-000

目前 LLM 的强化训练,在提升其最终结果正确率的同时,也带来了一个问题:策略坍塌。随着强化学习训练,LLM 找到不同正确解法数量会更少。

反观 AlphaGo,同样是通过强化学习,同样是重点奖励最终结果,并没有多目标或多样性奖励,AlphaGo 不但没有出现 LLM 强化学习的策略坍塌,还走出了神之一手。

表面上看似类似的奖励模式,存在关键性区别。

认真对比分析 AlphaGo 的最终结果强化训练,和目前 LLM 的最终结果强化训练,我们不难发现:AlphaGo 的最终结果强化训练看似是一种静态奖励,实则是一种动态奖励

这种单目标、单一性的动态奖励,使得 AlphaGo 并没有策略坍塌,甚至于走出了神之一手,达到了多目标、多样性的效果

在 AlphaGo 强化学习重点奖励最终结果的体系之下,当 AlphaGo 找到一个方法,可以取得最终胜利从而获得奖励时,刚开始的确可以获得奖励,但是随着强化学习的进行,这种原本可以取胜的方法,必然会被对手破解,从而导致原本可以取得最终胜利的方法变得失败,原本可以获得奖励变得无法获得。

在这个过程当中,看似一直都是在奖励最终结果没有变化。但实际上,原本可以获得奖励的方法,变得无法获得奖励,这是一个动态奖励的变化。正是这种动态奖励的变化,使得单目标、单一性的奖励,并没有策略坍塌。

目前 LLM 的强化学习奖励模式则并不存在这个过程,一个方法只要原本可以获得奖励,那么这个方法就可以一直获得奖励。

通过对比我们很容易想到一直改进方法:让 LLM 强化学习原本的静态奖励模式变为动态奖励模式。同一正确方法的奖励持续一段时间后,减少该正确方法的奖励,甚至于完全不奖励这一种正确方法,迫使 LLM 寻找其他不同的正确解法,从而避免策略坍塌。

例如,我们可以将数学解题训练过程,变成两个模型竞技过程,竞技规则如下:

1、两个模型的解答区域,分为己方区域和对方区域。

2、两个模型双方先在己方区域各自写下一个步骤,接着都在对方区域各自写下一个步骤,再回到己方区域各自写下一个步骤,然后都在对方区域各自写下一个步骤,后面以此类推。

3、在己方区域内书写的步骤,是为了完成己方的数学解答。在对方区域内书写的步骤,是为了阻止对方的数学解答。

4、在己方区域内,对方写的步骤,已被对方占位,己方无法使用。故而对方相对于此区域是占位方。

5、在对方区域内,占位方不仅可以书写步骤占位,而且可以直接引用,无论是由谁书写的,该区域内已经存在的步骤,用于占位方在该区域内构建占位方的正确完整解答过程,并且占位方引用已经存在的步骤,不消耗占位方自己书写的步骤的次数。

6、不考虑完成时间先后,只看最终结果。

7、在己方区域内,己方最终结果正确完整解答,则己方得 1 分;
在己方区域内,己方最终未结果正确完整解答,则己方扣 1 分;
在对方区域内,占位方成功阻止对方正确解答,并且占位方自己在此区域内构建占位方的正确完整解答,则占位方得 1 分;
在对方区域内,占位方未成功阻止对方正确解答,或者是,占位方虽成功阻止对方正确解答,但占位方自己在此区域内未构建占位方的正确完整解答,占位方扣 1 分。

当然以上举例的方案并不完善,还有很多值得商榷的地方,如:占位方引用已经存在的步骤,完全不消耗占位方自己书写的占位步骤次数是否合适?占位方构建自己的正确完整解答过程,是否需要自己书写的步骤在整个正确完整解答过程当中,达到一定比例之上?

但设计方案的总体思路依然是:
1、将原本的静态奖励通过设计的方案变为动态奖励。
2、动态奖励并不是通过最终奖励本身变化来实现,而是通过获得奖励的难度动态变化来实现。例如:对手/环境必须不断进化、策略价值必须随时间/频率衰减。
3、并且这种动态奖励最好是通过与之对称镜像的模型实现,而不是通过非对称非镜像的方式实现动态奖励。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions