【AI学习】了解OpenAI o1背后的self-play RL:开启新的智能道路
bylander 2024-10-06 11:01:06 阅读 75
在ChatGPT刚刚出来的时候,沐神关于ChatGPT有一段视频,只有几分钟,却是讲得极其透彻的一段。大概意思就是,过去的AI智能水平,比如五年前,大概相当于人类5秒钟思考的程度,包括自动驾驶,大概也就是人类5秒钟的水平,现在的ChatGPT,大概相当于专业人士一个小时的智能,比如回答一个问题、给一段描述然后绘制一幅图片等等。这里面呢,从发展来看,就是每几年我们会把一类模型的智能做到顶点,十年前,那时的线性模型,做到智能顶点,所谓智能顶点就是说更多的数据、更大的模型很难带来智能的提升了,然后大约五年前,卷积神经网络做到了智能的上限,然后现在就是基于transformer的智能还在增长进步,我们还在不停的探索,再然后等到了新的顶点,我们可能就需要探索再新的模型。总的来说呢,深度学习还处在一个早期的阶段,现在开始学习是一个很好的时期。
本周OpenAI发布OpenAI o1,据说能够达到研究生的水平了,这应该相当于专业人士更长时间,有可能是几十个小时甚至更长时间的智能了。
本周OpenAI发布OpenAI o1,又是一阵热闹。凑热闹,看了几篇文章:
《张俊林:OpenAI o1的价值意义及强化学习的Scaling Law》
《Kimi创始人杨植麟最新分享:关于OpenAI o1新范式的深度思考》
《LLM 新范式:OpenAI o1,self-play RL 和 AGI 下半场》
看起来,大模型的预训练,虽然还在继续,但是似乎有点快到智能顶点了,self-play RL,是开启了新的智能道路。
在大模型发展的当下,主要是几个方向:多模态,Sora开启了这波浪潮;小模型,以GPT-4o和 GPT-4o mini为代表;以及后训练,self-play RL。
GPT-4o和 GPT-4o mini
关于GPT-4o和 GPT-4o mini,之前看到微博@宝玉xp老师的一段总结,转载一下:
在大家都在翘首以盼 OpenAI 发布 GPT-5 的时候,OpenAI 却只是先后发布了 GPT-4o和 GPT-4o mini,甚至推理能力智能程度还不如当初的 GPT-4,但是这两个新模型不仅支持了多模态,而且参数都要小于 GPT-4,生成速度很快,推理成本也低了很多倍。
这背后,应该是因为新的 GPT-4o 模型用了更少但是质量更好的训练数据。GPT-4 之所以效果好成本高,是因为它用了几乎整个互联网公开的文本数据训练,所以它记住了相当多的内容,而这其中很多内容其实是重复的甚至是质量不高的数据。但是有了 GPT-4 这样强大的模型后,就可以从中提炼出高质量的合成的训练数据,然后用这些高质量的合成数据,去训练更小的模型,就像现在大家看到的 GPT-4o 和 GPT-4o mini。
可以预见未来的模型发展也会类似于 GPT-4 -> GPT-4o -> GPT-4o mini 这样的模式,先有一个大的模型,然后再用大的模型生成高质量的合成数据,用合成数据去训练小参数的模型,这些模型虽然能力不如大的模型,但是性价比极高。
Andrej Karpathy 的评价:
x.com/karpathy/status/1814038096218083497
LLM 模型的规模竞争正在加剧,但方向却是反向的!
我认为,我们将会见到一些非常小但思维非常出色且可靠的模型。甚至可以对 GPT-2 参数进行某种设置,使得大多数人会认为 GPT-2 很“聪明”。当前模型之所以如此庞大,是因为我们在训练过程中非常浪费——我们要求它们记住整个互联网的内容,令人惊讶的是,它们确实可以做到,比如背诵常见数字的 SHA 哈希值,或者记住非常生僻的事实。(实际上,LLM 在记忆方面非常出色,质上比人类好很多,有时只需要一次更新就能记住很多细节并保持很长时间)。试想一下,如果在闭卷考试中,根据互联网任意段落的前几句话要求你背诵整个段落。这就是当前模型的标准(预)训练目标。要做得更好很难,因为思维的展示在训练数据中与知识“纠缠”在一起。
因此,模型必须先变得更大,然后才能变小,因为我们需要它们(自动化地)帮助重构和塑造训练数据,使其成为理想的合成格式。
这是一个改进的阶梯——一个模型帮助生成下一个模型的训练数据,直到我们得到“完美的训练集”。当你用它来训练 GPT-2 时,它将会成为一个非常强大/聪明的模型,按照今天的标准。也许 MMLU 会低一些,因为它不会完美记住所有的化学知识。也许它偶尔需要查找一些信息以确保正确。
这种情况与特斯拉的自动驾驶网络非常相似。什么是“离线追踪器”(在 AI 日上展示的)?它是一种合成数据生成过程,通过利用之前较弱的模型(例如单帧模型或仅限于边界框的模型),在离线状态下进行 3D 加时间的重建过程,从而大规模生成更干净的训练数据,这些数据直接用于 3D 多摄像机视频网络。同样的过程也会在大语言模型(LLMs)中出现。
self-play RL
李广密的对话提到的一些观点:
“2018 年的时候 Lex Fridman 邀请 Ilya Sutskever 去 MIT 客座讲了一节课, Ilya 选的主题就是强化学习与 self-play ,他当时就认为,这是通往 AGI 路上最关键的方法之一。Ilya 用一句话概括了强化学习,非常准确:让 AI 用随机的路径尝试新的任务,如果效果超预期,那就更新神经网络的权重,使得 AI 记住多使用这个成功的事件,再开始下一次的尝试。”
“目前整个业界,无论硅谷,还是中文媒体,其实提及强化学习这一路线都还很少,换言之大家今天还不知道如何做。今天的强化学习是 self-play 强化学习,这条路线是最合理、天花板最高的。Anthropic 的 Claude-Sonnet ,从 3 迭代至 3.5 后,我们能看到它的代码和数学能力提升很大,就是强化学习带来的。
用 self-play 的方法提升模型的逻辑推理能力是接下来最重要的范式,也是一个最核心的变化。
多模态、 10 万卡集群、强化学习这三条路线并不矛盾,可以并行。但公司如果资源有限,就需要下注在最相信的一条路径上。假如我是一个 AI 公司的 CEO ,我肯定会用 200%的资源押注于强化学习这一路线。这是目前最有机会走向 AGI 的路线。”
“一个更关键的问题:代码和数学在未来两年可以确定性变强,但是否能够泛化到其他领域,目前还没有被证明。
AlphaGo 下棋很厉害,但其他领域并不行。计算机视觉在人脸识别领域很厉害,但其他领域也不行。AI 最重要的是通用和泛化性。如果, AI 不能泛化到其他领域,那这一轮技术天花板会受限。但即便不能泛化,我们借助大语言模型在各个垂直领域做强化学习,也可以在很多场景中找到最优解,那下限也会替换传统机器学习那一套。”
“历史上神经网络和强化学习一直是交替发展的。每一个神经网络变强后,大家都会提到强化学习。
LLM 是利用现有数据,而强化学习更多强调长距离探索。用户给模型一个粗颗粒度的目标,它就可以自己探索达到这一目标的路径。强化学习的核心是在探索和利用之间做权衡,LLM 在利用现有知识上已经做到很极致了,但探索新知识方面并没有做很多。强化学习的引入是为了让大语言模型能够探索如何进一步提升逻辑推理。”
“传统强化学习与今天的 self-play 强化学习相比,最大的变量和区别是强化学习的主体 agent 计算量增加了 3-4 个数量级。
最早的 AlphaZero 是一个千万参数的神经网络,和今天的语言模型相差 3-4 个数量级。RLHF 的目的不是获取机器智能,而是人机对齐,使得 AI 能够更像人,但不能超越人成为超级智能。有一个简单的例子:RLHF 像人类一样,更喜欢好理解的东西,而不是喜欢逻辑更严密的内容。而 self-play 强化学习的目标是如何提升逻辑能力。”
“语言模型是做强化学习的必要条件,重要的点在于我们要有很聪明的模型,采用能力做 self-play 、探索。
就像一个人如果没有一定的能力,做自我探索的能力也不强。这个标准可能是至少迈过 GPT-4 ,或者 Claude-3.5 这一水平。如果模型能力不足,做 self-play 的效果会很差。如果想做好强化学习,还是需要经过预训练这个必经之路。但是,强化学习又是一个预训练确定的未来。研究 AI 的人都会意识到:预训练最终一定会走向强化学习。”
“ self-play 这个方法的本质是用 AI 无限的算力来补足数据不足的短板。数据不够,算力来凑,这也符合当下 AI 的一个优势。一个好的 self-play 能够合成大量的高质量数据,甚至比人类历史上见过的棋局、游戏的数量更多。用这个数据量,也有可能达到超级智能。比如, AlphaGo 下棋、 Dota 游戏中, AI 都探索出了与人类不一样的玩法,也战胜了很多金牌选手。有一个循环:self-play 合成的数据用于预训练,激发更大预训练的计算需求,这也就相当于,整个大语言模型的预训练变成了强化学习系统中的一环。强化学习变成了更核心的系统,这样的循环才有可能更好地走下去。”
“强化学习在语言模型中的思路,本质上是 inference time 换 training time 。这是为了解决模型向上 scale up 时,暂时的边际收益递减现状。这势必也会对 scaling law 带来很多新变化。或者我们可以认为,传统的 scaling law 无效了,而新的 scaling law 要开始了。”
“强化学习的思路本质是用 inference time 换 training time 以解决边际收益递减问题。我们之前算过一笔账,对于 GPT-4 或 Claude-3.5 这种水平的模型,如果要合成 1T 高质量推理数据,需要 6 亿美金。如果合成 10T 高质量推理数据,需要 60 亿美金,这个量级很高。但是,与预训练不同的是, inference 对单张卡的性能,以及集群规模的性能要求相对低一些。不一定非要用最顶尖的卡,或 3-10 万卡的集群。分布式的集群也可以用来做强化学习的 inference 。
新范式下, scaling law 依然存在,计算成本还是会大幅提升以提升模型能力,但提升并不一定代表模型参数量的快速增加。”
“但语言模型与强化学习是一个乘积关系,是 A 乘以 B 的关系。如果 A 的数值不高,乘积的数值还是不会高。”
“Cursor 火的核心逻辑,还是它背后的 Claude-3.5-Sonnet 的代码能力变强了。就像刚刚提到的,有效代码从几十行增加至几百行。Claude-3.5-Sonnet 是这个行业类似于 iPhone 的摄像头的底座,而 Cursor 是基于摄像头上的拍照工具。今天的 Cursor 定位,依旧是供专业群体使用的工具,还很早期。”
杨植麟的一些观点:
“两个公认的大模型进化瓶颈:数据瓶颈——数据不够用了;以及算力瓶颈——3.2万张卡已是目前的天花板。
但o1模型似乎找到了新的出路,它采用强化学习,试图通过更深入的思考和推理来克服这些限制,提高数据质量和计算效率。”
“大家如果去看o1的话,中间会生成很多的思考。这个思考到底有什么作用呢?核心也是生成数据的过程。因为这些数据本身在世界上是不天然存在的,比如一个很厉害的数学家证明了一个新的定理,或者解了什么样的数学题,或者参加了什么竞赛解了数学题,只会把答案写出来,不会把思考的过程写出来,所以它是天然不存在这样的数据。
但是现在如想让AI把人脑里面本身的思考过程给生成出来,然后通过去学习这个思考的过程,得到更好的泛化。”
“这个Scaling现在也发生了一些变化,原来大部分Scaling发生在训练阶段,就是我找一堆数据让它训练。但是现在大部分的计算,或者说越来越多的计算会转移到推理阶段,因为现在要思考,所以思考的过程本身也是需要花算力的,本身也是可以被规模化的东西,就是能逐渐往推理侧+更多的算力。这个也有道理,比如今天想让一个人去完成更复杂的任务,肯定是需要花更长时间,不可能期待他一两秒钟就能证明黎曼猜想。要证明黎曼猜想,有可能要想好几年。”
“这一代AI技术的上限很核心还是文本模型的能力上限,如果文本模型能持续提升智商,就是能做越来越复杂的任务。它有点像学习的过程,一开始能做小学的题,逐渐能做中学、大学的,现在有一些博士的知识和推理能力都具备。”
张俊林的一些观点:
“指望靠图片、视频这类新模态数据大幅提升大模型智力水平是不太可能的,尽管确实能拓展更丰富的多模态应用场景,但这类数据弥补的更多是大模型对外在多模态世界的感知能力,而不是认知能力。”
“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 工程会逐渐消亡。”
“Agent 属于概念火但无法实用化的方向,主要原因就在于基座模型的复杂推理能力不够强。如果通过基座模型 Plan 把一个复杂任务分解为 10 个步骤,哪怕单个步骤的正确率高达 95%,要想最后把任务做对,10 个环节的准确率连乘下来,最终的正确率只有 59%,惨不忍睹。”
“为啥逻辑推理能力最难提升?因为能体现这方面的自然数据(代码、数学题、物理题、科学论文等)在训练数据中比例太低,自然大模型就学不好,尽管通过不断增加数据,能增加逻辑推理方面数据的绝对数量,但因为占比太少,这方面提升的效果和增加的总体数据规模就不成比例,效果也不会太明显,就体现在逻辑推理能力 Scaling law 看上去的放缓。这是很自然的。这也是为何现在为了提高模型逻辑能力,往往在预训练阶段和 Post-training 阶段,大幅增加逻辑推理数据占比的原因,且是有成效的。
所以目前大模型的核心能力提升,聚焦到不断通过合成数据等方式构造更多比例的逻辑推理数据上来。但是大部分逻辑推理数据的形式是 < 问题,正确答案 >,缺了中间的详细推理步骤,而 o1 本质上是让大模型学会自动寻找从问题到正确答案的中间步骤,以此来增强复杂问题的解决能力。
OpenAI o1 提到了关于 RL 在训练和推理时候的 Scaling law,并指出这与预训练时候的 Scaling law 具有不同特性。很明显,如果 o1 走的是 MCTS 搜索技术路线,那么把 COT 拆分的越细(增加搜索树的深度),或提出更多的可能选择(节点的分支增多,就是说树的宽度越宽),则搜索空间越大,找到好 COT 路径可能性越大,效果越好,而训练和推理的时候需要算力肯定越大。看上去有着效果随着算力增长而增长的态势,也就是所谓的 RL 的 Scaling law。这其实是树搜索本来应有之义,我倒觉得把这个称为 RL 的 Scaling law 有点名不副实。”
一些数字
现在最好的模型是 600-700B 总参数的 MOE 模型,这也是单台 H100 server 可以放得下的参数量。今天,我们还没有看到向上再 scale 3-5 倍、达到 2-3T 总参数的模型
从数据上看,很多公司现在都可以达到 15-20T 高质量文本数据量,每个月也可以再增加约 2T 的新数据。但很难倍数级增加数据至 50-100T 。
Llama 3 的训练是用 15 万亿个Token训练的,而 Llama 2用了2 万亿个Token。
算力角度,英伟达的 H100 现在可以做到 3.2 万张卡、充分互联的单一集群。
H100 这一代 GPU ,充分互联可以做到 3.2 万卡。
计算机里面很多技术也都是AI的前置节点,比如说要达到10的25次方FLOPs(浮点数运算)的运算才能得到足够聪明的模型。
其他一些观点
“未来可能会出现一种任务引擎( Task Engine ),而今天的 Google 是搜索引擎( Search Engine )。任务引擎可能会是新一代的 Google 。Google 提供的是信息,任务引擎是完成任务,而完成任务是这一轮技术革命下最核心的主题。”
“移动互联网与今天的大语言模型作对比很有意思,可以画一个图,主线可以有一条明线、一条暗线。移动互联网的明线是全球新增了 40-50 亿移动用户,而暗线是获得了用户行为数据做推荐。过去十年,没有做推荐的公司都没有做得大。移动互联网有几个关键的特点:大屏幕、摄像头、 GGPS,每个特点都诞生了大公司。因为大屏幕摄像头,诞生了抖音、TikTok ,而因为 GPS,诞生出了 Uber 、滴滴。今天的 AI ,明线还是 scaling law ,虽然在发生范式的变化,但是背后的核心还是算力。大家对这条明线是有共识的。而暗线具体代表了什么?
在先前的新时代摩尔定律中,我们当时讨论的暗线是成本,但今天变成了 self-play 强化学习。大家低估了强化学习的重要性,甚至,目前没有做强化学习的公司,下一轮浪潮中无法继续跑下去。今天,大语言模型的关键能力,如果让我做重要性的排序,会是:1)编程,2)多模态,3) 数学,4) Agent 。甚至还有一些其它的领域,比如个性化、可靠性等。和我们先前的观点一致。无论观察主线暗线,还是观察关键能力,都还在渐进提升的阶段。而应用也是随着渐进式提升的过程中逐渐解锁的。”
“这一代AI最大的变量,还是在生产力端。”
“现在数据越来越多会成为一个变量,就是怎么去使用数据,或者说获得用户的反馈,其实会越来越多成为这里面很重要的东西。”
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。