作者:张俊林,新浪新技术研发负责人
蹭下热度谈谈 OpenAI o1 的价值意义及 RL 的 Scaling law。
一、OpenAI o1 是大模型的巨大进步
我觉得 OpenAI o1 是自 GPT 4 发布以来,基座大模型最大的进展,逻辑推理能力提升的效果和方法比预想的要好,GPT 4o 和 o1 是发展大模型不同的方向,但是 o1 这个方向更根本,重要性也比 GPT 4o 这种方向要重要得多,原因下面会分析。
为什么说 o1 比 4o 方向重要?
这是两种不同的大模型发展思路,说实话在看到 GPT 4o 发布的时候我是有些失望的,我当时以为 OpenAI 会优先做 o1 这种方向,但是没想到先出了 GPT 4o。GPT 4o 本质上是要探索不同模态相互融合的大一统模型应该怎么做的问题,对于提升大模型的智力水平估计帮助不大;而 o1 本质上是在探索大模型在 AGI 路上能走多远、天花板在哪里的问题,很明显第二个问题更重要。
GPT 4o 的问题在于本身大模型的智力水平还不够高,所以做不了复杂任务,导致很多应用场景无法实用化,而指望靠图片、视频这类新模态数据大幅提升大模型智力水平是不太可能的,尽管确实能拓展更丰富的多模态应用场景,但这类数据弥补的更多是大模型对外在多模态世界的感知能力,而不是认知能力。提升大模型认知能力主要还要靠 LLM 文本模型,而提升 LLM 模型认知能力的核心又在复杂逻辑推理能力。LLM 的逻辑推理能力越强,则能解锁更多复杂应用,大模型应用的天花板就越高,所以不遗余力地提升大模型尤其是文本模型的逻辑能力应该是最重要的事情,没有之一。
如果 o1 模型能力越做越强,则可以反哺 GPT 4o 这种多模态大一统模型,可以通过直接用 o1 基座模型替换 GPT 4o 的基座、或者利用 o1 模型生成逻辑推理方面的合成数据增强 GPT 4o、再或者用 o1 蒸馏 GPT 4o 模型….. 等等,能玩的花样应该有很多,都可以直接提升 GPT 4o 的复杂任务解决能力,从而解锁更复杂的多模态应用场景。OpenAI 未来计划两条线,一条是 o1,一条是 GPT 4o,它的内在逻辑大概应该是这样的,就是说通过 o1 增强最重要的基座模型逻辑推理能力,而再把这种能力迁移到 GPT 4o 这种多模态通用模型上。
OpenAI o1 的做法本质上是 COT 的自动化。
我们知道,通过 COT 把一个复杂问题拆解成若干简单步骤,这有利于大模型解决复杂逻辑问题,但之前主要靠人工写 COT 来达成。从用户提出的问题形成树的根结点出发,最终走到给出正确答案,可以想像成类似 AlphaGo 下棋,形成了巨大的由 COT 具体步骤构成的树形搜索空间,这里 COT 的具体步骤的组合空间是巨大的,人写的 COT 未必最优。如果我们有大量逻辑数据,是由 <问题,明确的正确答案> 构成,则通过类似 AlphaGo 的 Monte Carlo Tree Search(MCTS)搜索 + 强化学习,确实是可以训练大模型快速找到通向正确答案的 COT 路径的。
而问题越复杂,则这个树的搜索空间越大,搜索复杂度越高,找到正确答案涉及到的 COT 步骤越多,则模型生成的 COT 就越复杂,体现在 o1 的速度越慢,生成的 COT Token 数越多。很明显,问题越复杂,o1 自己生成的隐藏的 COT 越长,大模型推理成本越高,但效果最重要,成本其实不是问题,最近一年大模型推理成本降低速度奇快,这个总有办法快速降下去。
从上面 o1 的做法可以知道 Prompt 工程会逐渐消亡。
之前解决复杂问题,需要人写非常复杂的 Prompt,而 o1 本质上是 COT 等复杂 Prompt 的自动化,所以之后是不太需要用户自己构造复杂 Prompt 的。本来让用户写复杂 Prompt 就是不人性化的,所有复杂人工环节的自动化,这肯定是大势所趋。
Agent 属于概念火但无法实用化的方向,主要原因就在于基座模型的复杂推理能力不够强。如果通过基座模型 Plan 把一个复杂任务分解为 10 个步骤,哪怕单个步骤的正确率高达 95%,要想最后把任务做对,10 个环节的准确率连乘下来,最终的正确率只有 59%,惨不忍睹。那有了 o1 是不是这个方向就前途坦荡?也是也不是,o1 的 Model Card 专门测试了 Agent 任务,对于简单和中等难度的 Agent 任务有明显提升,但是复杂的、环节多的任务准确率还是不太高。就是说,不是说有了 o1 Agent 就现状光明,但是很明显 o1 这种通过 Self Play 增强逻辑推理能力的方向应该还有很大的发展潜力,从这个角度讲说 Agent 未来前途光明问题应该不大。
OpenAI 很多时候起到一个行业指路明灯的作用,往往是第一个证明某个方向是行得通的(比如 ChatGPT、GPT 4、Sora、GPT 4o 包括这次的 o1),然后其他人开始疯狂往这个方向卷,到后来甚至卷的速度太快把 OpenAI 都甩到后面吃尾气。典型例子就是 Sora,如果 OpenAI 不是出于阻击竞争对手秀一下肌肉,大家都没有意识到原来这个方向是可以走这么远的,但当意识到这一点后,只要你专一地卷一个方向,方向明确且资源聚焦,是可能赶超 OpenAI 的,目前国内外各种视频生成模型有些甚至可能已经比 Sora 好了,Sora 至今仍然是期货状态,主要 OpenAI 想做的方向太多,资源分散导致分到具体一个方向的资源不够用,所以越往后发展期货状态的方向越多,也让人觉得尽显疲态。
OpenAI o1 等于给大家又指出了一个前景光明的方向,估计后面大家又开始都往这个方向卷。我觉得卷这个方向比去卷 GPT 4o 和视频生成要好,虽然具体怎么做的都不知道,但是大方向清楚且效果基本得到证明,过半年肯定头部几家都能摸清具体技术追上来,希望能再次让 OpenAI 吃尾气。而且这个方向看上去资源耗费应该不会特别大,偏向算法和数据一些,数据量规模估计不会特别巨大,卷起来貌似成本低一些。这是个卷的好方向。
二、预训练 Scaling Law 的来源及 O1 提到的 RL Scaling law
粗分的话,大语言模型最基础的能力有三种:语言理解和表达能力、世界知识存储和查询能力以及逻辑推理能力(包括数学、Coding、推理等理科能力,这里 Coding 有一定的特殊性,是语言能力和逻辑掺杂在一起的混合能力,Coding 从语言角度可以看成一种受限的自然语言,但是混杂着复杂的内在逻辑问题。从语言角度看,Coding 貌似是容易解决的,从逻辑角度看又相对难解决。总之,Coding 目前看是除了语言理解外,大模型做得最好的方向)。
语言理解和表达是 LLM 最强的能力,初版 ChatGPT 就可以完全胜任各种纯语言交流的任务,基本达到人类水准,目前即使是小模型,在这方面比大模型能力也不弱;世界知识能力虽说随着模型规模越大效果越好,但幻觉问题目前无法根治,这是制约各种应用的硬伤之一;逻辑推理能力一直都是 LLM 的弱项,也是最难提升的方面,从 GPT 4 开始往后,如何有效并大幅提升 LLM 的逻辑推理能力是体现不同大模型差异和优势的最核心问题。所以,大模型最重要的一个是世界知识方面如何有效消除幻觉,一个是如何大幅提升复杂逻辑推理能力。语言能力已不是问题。
从大模型的基础能力,我们再说回已经被谈滥了的大模型 Scaling law。现在普遍认为通过增加数据和模型规模来提升大模型效果的 Scaling law 模式,其增长速度在放缓。其实我们对照下大模型的三个基础能力的能力来源,基本就能看出来这是为啥(以下是我猜的,不保真):
本质上大模型的能力来源都来自训练数据,包含能体现这方面能力的训练数据越多,则这种能力越强。语言能力不用说了,任意一份预训练数据,其中都包含相当比例的语言的词法句法等成分,所以训练数据中体现语言能力的数据是最多的,这也是为何大模型的语言能力最强的原因。
而数据中包含的世界知识含量,基本是和训练数据量成正比的,明显数据量越多,包含的世界知识越多,Scaling law 是数据中包含的世界知识含量关系的一个体现,但是这里有个问题,大模型见过越多数据,则新数据里面包含的新知识比例越小,因为很多知识在之前的数据里都见过了,所以随着数据规模增大,遇到的新知识比例就越低,在世界知识方面就体现出 Scaling law 的减缓现象。
为啥逻辑推理能力最难提升?因为能体现这方面的自然数据(代码、数学题、物理题、科学论文等)在训练数据中比例太低,自然大模型就学不好,尽管通过不断增加数据,能增加逻辑推理方面数据的绝对数量,但因为占比太少,这方面提升的效果和增加的总体数据规模就不成比例,效果也不会太明显,就体现在逻辑推理能力 Scaling law 看上去的放缓。这是很自然的。这也是为何现在为了提高模型逻辑能力,往往在预训练阶段和 Post-training 阶段,大幅增加逻辑推理数据占比的原因,且是有成效的。
所以目前大模型的核心能力提升,聚焦到不断通过合成数据等方式构造更多比例的逻辑推理数据上来。但是大部分逻辑推理数据的形式是 < 问题,正确答案 >,缺了中间的详细推理步骤,而 o1 本质上是让大模型学会自动寻找从问题到正确答案的中间步骤,以此来增强复杂问题的解决能力。
OpenAI o1 提到了关于 RL 在训练和推理时候的 Scaling law,并指出这与预训练时候的 Scaling law 具有不同特性。很明显,如果 o1 走的是 MCTS 搜索技术路线,那么把 COT 拆分的越细(增加搜索树的深度),或提出更多的可能选择(节点的分支增多,就是说树的宽度越宽),则搜索空间越大,找到好 COT 路径可能性越大,效果越好,而训练和推理的时候需要算力肯定越大。看上去有着效果随着算力增长而增长的态势,也就是所谓的 RL 的 Scaling law。这其实是树搜索本来应有之义,我倒觉得把这个称为 RL 的 Scaling law 有点名不副实。