OpenAI o1能否支撑AGI的新Scaling?

作者:mackler,Computer Architect/Minecraft
原文:https://zhuanlan.zhihu.com/p/730982539

OpenAI o1的推出带来了一波新的算法热潮,OpenAI官方也强推所谓新的深度思考的Scaling。虽然听起来用LLM和RL来进行隐式COT(也就是“思考”)咋一眼看上去很有道理。但真正支撑Scaling还是需要深入思考里面的很多基本假设,和我过去的文章一样,包含很多个人观点极强的暴论,各位看官酌情食用。

关于o1实现方式大家也已经猜测地八九不离十了,以下几个都可以参考参考

无论如何,给LLM纠错的机会,对于效果的提升都是可以预期的。LLM生成token的过程中,生成的序列越长,产生错误token的概率自然也会越高,后面模型为了自洽往往会用一百个谎言来掩盖第一个谎言,最后就彻底逻辑失控了,这也是过去用LLM做强逻辑交互时候一个很令人讨厌的地方,当然即使没有欲盖弥彰的毛病,总归也会因为这些概率触发的错误使得最终结论谬以千里。那么给LLM更多隐式COT和修正错误token的机会,总归可以一定程度提高质量。无论是在训练时候利用修正的结果去调整模型,还是在推理阶段把错误结果消除掉。

但要做到Scaling,这是一个需要深入思考的问题:

大模型Self-play能否通过自我博弈持续提升?

“持续”是非常重要的,本质问题是这样的提升是不是会快速收敛?这里不仅仅要考虑算法本身的持续可扩展性,也包括算法所需要的各个环节的输入的可扩展性。持续提升代表的是一个非常具有诱惑力的未来,也就是可以很快在深度思考和逻辑上不收敛地提升,快速超越人类。但如果存在不可扩展的地方,那会很快停在一个大概率上限也就是接近全人类平均水平的位置。我们核心是要去深入看一看是不是存在这样的可扩展性。

强化学习本身的可扩展性是比较好的。强化学习第一性的核心就是policy和reward,policy负责输出具体行动,强化学习最终也是希望优化policy的行动策略来获得更多reward。各种强化学习算法虽然纷繁复杂,但本质上也是让policy随机尝试,如果尝试结果获得正向reward,那就调整参数让policy多往这个方向尝试,反之亦然。

过去很多大多数强化学习任务都是建立在游戏类型的任务上,不过游戏有一个巨大的优势,就是reward获取极其容易,虽然相比监督学习而言,reward已经非常稀少了,毕竟一局游戏就能至少有一次输赢的reward。强化学习整体上发展到今天,整个工具箱已经挺完善了,基于这样密度的reward已经足够类似AlphaGo在16年就已经展现出惊人的可扩展性。

搜索的Scaling也不是问题。今天关于o1的大多数论文和分析解读都在深入研究各种搜索的花活。不管是简单粗暴的Best of N这种朴素的并行搜索,还是展开成树状用类似蒙特卡洛方法在思考深度上尝试用各种优先级多路径尝试,或者更花活一点做成一个图一样的结构进行更动态的搜索。其实这些方法没有非常本质的区别,Scaling都很容易,越简单粗暴的方式越有效,可以默念一遍The Bitter Lesson。

很多人理解的Scaling就是在policy的搜索尝试上有巨大的空间,但reward的可扩展性才是最大的问题。

无论哪种搜索方式,在每个搜索路径上给出reward反馈都是必不可少的。但reward的可扩展性就是语言最大的困境。语言和游戏不同,无论什么游戏,游戏本体都有输赢的reward,哪怕一局游戏给一个明确的输赢这种看起来非常稀疏的reward对语言而言都已经非常稠密了。试想一下,每次思考完一个问题都有对错的反馈实际上是非常奢侈的。语言实际上很多时候根本没有可扩展的reward方法,往往只有极少数domain才能有。采用人工标注的数据不仅仅是人力成本的可扩展性问题,更是上限也往往会封死在人类水平的reward上,无法做到不收敛地持续提升。合成数据同样如此,本质上也就是个离线的reward。

一定程度上强化学习就是建立在高质量的reward基础上的,在游戏领域,精准的reward几乎是天然唾手可得的。LLM所面临的领域是完全开放的,通用可扩展的reward是比搜索方法本身更核心的问题。

基础的RL概念体系一定是需要接近ground truth的reward的。

Reward的可扩展性是不仅仅是数量上可扩展,也包括强度上可扩展。数量上可扩展很容易,我们可以用一些离线reward数据训练监督训练一个reward model来提供无穷无尽的reward,但这些reward的强度仍然是受限于有限的离线reward数据的。但如果policy的强度已经上来了,每次都是走的reward model评价最高的解,那么policy就没法继续提升了。游戏领域无论policy策略水平到达什么高度,游戏本体都可以精准地给出玩家最终的胜负或者得分,因此这样的reward是可以支撑policy持续提升的,因为这个reward本质上就是问题的ground truth。

用LLM自己作为reward model是o1所代表的一类方式,但大多数情况下还是把LLM当作一个verifier,而不是真正推动整个系统不断调优的reward model。比如让policy LLM和verifier LLM相互对抗,看起来就像LLM自我对抗,self-play,产生大量的并行尝试,实际上目前已有的论文和分析基本最后还是需要一个额外的表示ground truth的真reward model来在这大量并行的尝试中给出偏好,从而校准无论是policy LLM还是verifier LLM。这里的verifier其实起到的作用感觉混杂了actor-critic框架下value model的作用,但也混杂了一部分reward model的作用。(强化学习概念就是多……

Value model本质上是QLearning体系下引入的对长期reward的一个短期近似。比如一局游戏最后有个输赢或者得分的reward,但是需要policy走非常多步才能得到,反馈给policy路径太长了,于是找一个中间的势能来描述每一步对最终长期reward的短期预估,从而更及时地给policy进行反馈,但同样的,value model也需要根据最终的reward不断调整这个短期近似的准确度,并不能真正意义上脱离最终的reward而直接把value model当作ground truth。

Self-play概念也并不是一个在RL的概念体系里已经形成一套完备方法论的东西,自然也还没法给我们带来可扩展性的方法论基础。Self-play实际上更是一个和今天的强化学习工具体系对应关系非常混乱的概念,例如在AlphaGo下围棋的框架下,Self-Play更多是Policy之间自我对抗,当作围棋的两个玩家,Value model也同样给两个玩家提供每一步胜率变化的预估,最终围棋模拟器提供ground truth作为最强的reward。但在非对抗类的游戏下,就很难有类似的self-play的概念,只能是跟游戏模拟器提供的ground truth交互持续获得提升。

而今天讨论的LLM的Self-play又更多是LLM作为生成式模型,从形式和能力上确实既可以生成policy,即生成回答的思路和答案,也可以生成Value/Reward来给已经生成的回答进行判断和给予肯定/否定。这种Self-Play又更多成了Policy和Value之间或者Policy和Reward之间的对抗,只不过恰好都可以是LLM,甚至是同一个LLM自己,才形成了Self-Play。

我们所期待的新Scaling Law成立的基础条件大概率没法在RL现有的框架体系中找到。

其实前面说了这么多,无非就是扒拉了一遍现有的RL体系,无论如何都需要接近ground truth的reward作为指导才能“持续”增强,否则很快就会受限于reward的可扩展性。Self-Play并不是一个万金油,AlphaGo的增强本质上还是来源于围棋的ground truth reward,而不是Policy之间的Self-Play对抗。LLM的Self-Play也不是Policy之间的Self-Play,更多类似Policy和Value/Reward之间的Self-Play对抗,那么往往按照RL的框架,最终还是依托一个相对更稀疏但是接近ground truth的reward来提供增强,而这种reward在LLM走向AGI甚至ASI的过程中就是不可扩展的。

但实际上我对新Scaling Law的存在并不悲观。但不是从RL视角,而是语言本身。

语言所表征的概念空间是一个非常独特且迷人的代表思维的空间,我们不纠结语言是否等于思维还是语言只是思维空间的一种表征这种形而上的问题。但今天大模型所涌现出来的一切ICL能力、COT能力包括海量的常识、世界模型等等都是这个独特的概念空间所带来的。

语言,或者说思维本身的特殊性可能反而可以带来持续增强,而不是RL。思维的对抗甚至不一定非要是LLM作为Policy和LLM作为Value/Reward之间的对抗,LLM作为生成式模型,本身可以作为任何一种角色进行相互对抗。只不过RL恰好提供了一套基础的Policy、Reward这样的概念可以将LLM套进去进行对抗。

语言本身对抗可以增强什么呢?

其实今天有太多希望AI拥有的能力都杂糅到RL Self-Play的方法里了,今天大家期望LLM在RL训练阶段进行对抗提升能力,也希望在Inference阶段进行思考的对抗生成更高质量的答案。但生成高质量答案包含多个维度的问题需要解决,例如

逻辑性:逻辑性很强,每句话都是逻辑通顺在短距离里是OK的,但在生成海量推导的过程中,能否持续保持这种逻辑性,或者具有inference阶段自我发现和纠正的能力,避免目前LLM这种为了解释一个错误token,用更多错误和毫无逻辑性的回答来掩盖,但逻辑性不代表一定能解决问题。一些复杂的问题,逻辑推演的方向不对,哪怕推演出了一大堆很有深度的推论,但最有问题可能还是没有解决。 思考方向:有很强的逻辑性也仍然需要思考方向有很强的方向性,能够更快找到正确的思考出问题答案的思路。但没有逻辑性也不一定就算不出正确答案,也有可能过程都是错的,但答案是对的。例如问黎曼猜想是对的还是错的,LLM中间强行推理一大堆,最后瞎蒙一个对的也能获得reward。而且即使我们获得黎曼猜想是对/错的ground truth,比如告诉大家这个猜想是对的,也很难激励大家找到证明他的方法。相反,即使最终没有获得答案,但证明过程产生大量推论,也是巨大的价值。 光这两种情况的reward都是不一样的,我们其实也很难简单通过一些domain问题的ground truth来很好地奖励这两类不同的行为。reward cheating的空间太大了,不会就选C可能比学会做题更容易获得reward。

其实逻辑性是有机会靠语言自己对抗来不断提升的,尤其校验逻辑错误。如果LLM有能力生成几千万页的推理过程而且没有废话,思考问题的能力实际上已经远超人类的,而人实际上已经没法去校验这样的推理过程的正确性了,提供reward和feedback也无从谈起了,但只要LLM自己仍然有这个能力,LLM在这方面仍然可以持续提升,从而而靠语言自己就能不断对抗和增强。也就是我之前在自举:ChatGPT的AGI之路所提到的bootstrap可能性

而任何一个问题都能快速找到思考问题的方向,这是一个接近真理机的目标,这个可以在LLM已经有足够严密和超长距的逻辑性之后,通过RL学,也可以通过更深层次的思维空间的能力获得。而RL本身,肯定是一个足够好的框架去逼迫模型朝着相应方向前进的方式,堵死reward cheating的可能性。只不过需要接着LLM本身在逻辑上自举的可能性,减少其他方面需要提供不可扩展reward的可能性。

RL其实工具箱已经很完善了,但局限性仍然最后仍然是reward的可扩展性,靠RL支撑新的Scaling大概率会卡在reward的Scaling上,但语言不一样,语言本身具有自我增强的机会(这可能是个信念的问题了)。只是如何在语言中学到的这个思维空间如何探索,还需要很多研究来支撑,Scaling的关键更多是减少靠与人类对齐的方式,找到真正利用这个思维空间自举的潜力找到这个思维空间自由探索的能力。