Author: 曹宇
Link: https://zhuanlan.zhihu.com/p/12588939986
Ilya 在 NeurIPS 2024 上演了一个名场面:在回望了自己十年前的工作的时候,直接来了(我们都知道)一句预训练即将终结。一个字:猛!业界有多少大佬,一辈子都在讲一个故事。虽从技术趋势上来说,这不是什么很爆炸的言论了,但是Ilya的发言必将会对于业界未来一年的方向产生重大影响。
预训练碰到什么问题了?
Pre-train的Scaling law是一种质朴的暴力出奇迹方法论:参数量扩大,数据扩大,通过下一个token预测加自然分布语料逼近智能的极限。预训练所碰到的问题,实际上在业内已经讨论了有一段时间。乐观派和悲观派围绕着继续大力出奇迹的方法是否能获得智能展开了激烈的思辩,there is no wall(Sam)和 pre-training as we know it will end(Ilya)到底谁对谁错呢?
都对,Sam和Ilya讲这两句话的前提不一样。Sam更多讲的是更广泛意义的 scaling law,也就是下面这张图里面的。这里面关心的关系是在一个模型族 的条件下,模型训练的token数量,模型的参数总量和模型表现之间的关系。
https://arxiv.org/pdf/2410.11840
广义的neural scaling law,实际上直到今日还是一直奏效的,不论各家的大尺寸模型遇到了什么问题,通过提升其中的任意维度实际上还是能够继续提升在更难的benchmark上的表现的。表现在从时间维度来看,最优模型(这张图中的红色顶点)neural scaling law下的迫近人类表现的速率实际上是在不断提升的。Sam说的wall,就是下面这张图的黑线,AI大模型领域有没有一条看不见的黑线,这更多的是一种技术判断(信仰)了。
Pre-train scaling law 面临的本质问题是,模型的参数总量和模型训练的token数量这两个变量,前者是可以通过更多的算力更好的互联提升的,后者提升起来就没有那么容易了。这个非常好理解,那也没必要写一个这么小白的文章出来了。
实际上大家担心 Ilya 讲的是另外一种情况:假设我们通过其他手段,补全了训练token数量这个变量,我们neural scaling law上的小红点是否可以被继续推高,直到我们实现AGI,ASI?这也是大家关注各家大杯模型,Claude 3.5 Opus,GPT-5,Gemini 2.0 Ultra都迟迟没有发布的核心担忧。Top机构拥有更多token,甚至具有合成超越互联网语料平均质量的能力,同时算力堆叠和人才组织效率远超其他竞争者。
我的观点是:neural scaling law并没有失效(没有wall),但是依照pre-train为核心的能力提升方法,边际效应已经严重递减。导致部署模型的收益,难以覆盖其高昂的全链路训练成本,pre-train is dead。
正文开始之前,先做一个广告 https://zhuanlan.zhihu.com/p/676729627,以下所有提及的方向,我们都有对应的社招岗位开放(P5~P9)。如果你也同意我们的判断,但是苦于没有足够的算力,数据或场景大展拳脚,现在有一次上车的机会。
下一步何去何从:agents,合成,o1?
大佬也并不是不管大家死活的,给我们指了一些明路:agents,合成数据,还有o1 等。但是NeurIPS上,就在我等他说点干货的时候,演讲戛然而止了,这感觉像是仙人给你指了路,后面全靠自己悟。
合成数据
合成数据是目前看起来最明确的一条路径,通过自然数据和大模型的共同运作,甚至纯大模型自身的生成能力来不断扩充数据的总量。从而突破有限的自然数据的瓶颈,合成的数据也不仅仅包括Prompt,Response,也包括Preference。
基于合成数据进行训练的模型比较著名代表有Gemini Flash 1.5,Phi 系列,以及Tulu3。这些模型有些采用了on-policy蒸馏,有些采用off-policy的方法,还有的不仅合成Response也关注偏好方面。Gemini Flash 1.5是头部大模型公司,较早开始使用online on-policy distillation 的模型:
https://arxiv.org/abs/2306.13649
Gemini 1.5 Flash online
这种on-policy的KD方法和基础的KD方法之间最大的区别可以从公式来看出来,最基础的监督式蒸馏是offline的形式(不需要与teacher policy交互),直接把teacher policy的输出当成Ground Truth,然后再用SFT loss强行训练。SeqKD稍做了一些改进,只在teacher policy比较高自身置信度的序列上训练,而off-policy的KD是通过在Teacher policy的数据集上,最小化teacher和student policy的KL散度。
常见KD手段
on-policy KD 方法
那么Flash 1.5在合成数据上所使用的,是一种on-policy的online训练方法,他在训练的时候prompt x是来自于公共的数据集,y则需要通过模型自身进行sample,在这样的前提下最小化teacher和student policy之间的散度。这种做法是使用大模型给小模型做反馈,而非直接示教,能够最大程度地保留模型的diversity。
作为承载谷歌agentic era的排头兵模型,其任务不可谓不重,但是合成数据 + on-policy distillation之后的效果,是能够承担起职责定位的需求的。Gemini Flash 2.0 从公开的效果来看,其表现大致与前一代的 Pro 模型效果相当甚至有所超越。如果2.0和1.5一样,是采用了在线蒸馏及数据合成策略,那么背后就可能有个Gemini 2.0 Pro。更大的稀疏模型做在线蒸馏,以突破大量原有依赖互联网语料的瓶颈。
合成数据加off-policy offline KD,最暴力的代表就是在phi-4这个SLM (https://arxiv.org/abs/2412.08905) 展示了他们的合成数据链路,phi-4 substantially surpasses its teacher model on STEM-focused QA capabilities, giving evidence that our data-generation and post-training techniques go beyond distillation. 感觉有点倒反天罡,蒸馏出来比原版还好,众泰干掉保时捷。
Phi-4中采用了多种预训练数据合成方法,约50种的数据合成方法,为其提供了具有广泛分布的合成数据以加强SLM在推理类任务中的表现。主要的创新方法如下表所示:
名称 | 方法 | 目的 |
---|---|---|
种子数据选择 | 从多个领域选择高质量的种子数据,作为生成任务的基础,帮助创建练习、讨论和推理任务。 | 提供高质量的基础数据,构建针对性的训练任务。 |
基于网页和代码的种子 | 从网页、书籍和代码库中提取复杂、有深度的内容,并通过两阶段过滤确保教育价值和质量。 | 提供内容丰富、推理深度高的种子数据,保证教育价值。 |
问题数据集 | 从问答平台收集问题,使用多数投票技术平衡难度,去除过于简单或过于难的题目。 | 生成具有挑战性、适中难度的推理问题,提升模型问题解决能力。 |
问答对的创建 | 利用语言模型从书籍、论文和代码中提取问答对,识别推理链并重新构建问题和答案,改善模型训练效果。 | 通过提取推理链,生成更具深度和逻辑性的问答对,提升训练效果。 |
重写与增强 | 通过多步提示工作流将种子数据转化为练习、讨论和推理任务,增强合成数据的质量。 | 通过重写和结构化增强数据质量,提高模型的多样性和推理能力。 |
自我修正 | 初步生成的内容通过反馈回路进行自我批评和改进,提升推理能力和事实准确性。 | 通过反馈循环提升模型自我改进能力,优化输出质量。 |
指令反转 | 从代码生成相应的任务描述,通过确保指令与代码一致性来提高数据质量。 | 提高生成代码与任务描述之间的契合度,确保合成数据的质量。 |
数据验证 | 通过执行循环和测试验证合成的代码数据,确保科学数据集的相关性、扎实性和难度平衡。 | 确保生成的数据具有高质量和可靠性,适用于推理任务。 |
Phi-4的工作向大家表明,pre-train中自然语料可以很少,通过合成语料可以更快地推动模型获得定向的能力。虽然Phi-4与Flash所追求的全方位均衡相比,有点剑走偏锋,但是对于特定任务是有其本身的价值的。
还有一类以Tulu3作为代表的合成数据方法,在大量利用off-policy数据的同时,还利用数据合成的策略收集了较多的偏好数据。简直就是超级大杂烩,用各种来源的数据做了Response生成,再使用GPT-4o做偏好判别器,选出chosen和rejected样本。我原本是对于此类行为是比较鄙夷的,这不就是蒸馏完了Response还顺带拿点Preference嘛。不过站在合成数据的层面,单纯把GPT-4o当做一种工具,探索后pre-train时代的scaling law倒也是无可厚非了。
所以合成数据为什么work?我理解其本质还是因为LLM还是当今唯一一种能够称为世界模型的AI系统,它具有较为广泛的基础认知,同时也经过SFT,RLHF的范式微调实现了其较强的通用指令理解能力,以此为基础,各种策略及数据生成变成可能。合成数据的高效生产本身值得更广泛地讨论,其算法也层出不穷,未来随着pre-train scaling law的逐渐落幕,此项技能势必会称为从业者的基础能力。
Agents
另外一个可能的方向,agent我就有更多的话想要说了,因为严格来说促使我走入AI这一行的关键动作,是在南安普顿求学期间蹭了图下这位大佬的课:
他就是Nick Jennings,现在拉夫堡大学的校长,南安普顿大学和这座城市的球队一样,似乎整个学校都像是其他高校的青训队。虽然学校还尚未沦落到以卖老师为生,但是在服役期间还是能够圣玛丽球场以极为便宜的价格见到未来英超巨星的风采。
JENNINGS, SYCARA AND WOOLDRIDGE:A Roadmap of Agent Research and Development
Jennings和Wooldridge的作为AI agents领域公认的泰斗级先驱人物,其本身对于agents的理解,时至今日还是对于实际工作有指导价值的。
智能体(agent)是指位于某个环境中的计算机系统,它能够以灵活自主的方式行动以实现其设计目标因此,我们的定义中包含三个关键特点:情境性(situatedness)、自主性(autonomy)和灵活性(flexibility)。
这些特点具体的含义分别是:
情境性(Situatedness):智能体存在于特定环境中,能够感知环境并通过行动影响环境 自主性(Autonomy):智能体能够独立行动,无需人类或其他智能体的直接干预并能控制自身的行动和内部状态 灵活性(Flexibility):智能体能够以多样化方式响应环境,表现出目标导向的行为并能与其他智能体和人类互动
从这三大特点来看,当今的AI agents离30年前的定义,还仍有不小的差距。
以情境性为例,虽然目前的多模态大模型(无论是原生多模态与否)能够感知环境,但是其通过行动影响环境的能力是在是太弱了。我们的AI被封闭在手机屏幕中,固定范式流程中,某个APP的二级菜单中。它所提供的行动能力,主要集中在以文本作为模态的单一输出形式中,甚至连稳定地以文本形式精确地输出数值都是一项比较困难的事情。为了实现这种简单的行为,我们在构筑基于大模型的系统时,需要手动地修改其模型结构,如改成Reward Model的形式而丧失了其文本生成能力。感知能力方面,多模态的引入缓解了原本只能够理解一种模态的情形,但其他模态更多地像是一种文本模态的“附庸”,从参数量来看是如此,从能否独立运作来看也是如此。
在自主性方面,模型的独立行动还无法完全摆脱人类或其他智能体的直接干预,目前最advance的应用领域代码生成,Devin、Copilot、Cursor、Windsurf等工具虽然人类参与程度不同,有些产品号称AutoPilot,在实际的使用过程中人类的确认还是一项非常重要的过程指导。在其他没有明确反馈及人类偏好难以直接收集的领域,模型的自主性就更难以通过后训练的方式进行对齐了。自主性的构建,就是要脱离其他智能体,否则其本身就无法称作是一个智能体。这里我举两个例子,探讨一下自主性的实现。第一个是推理类模型和计算器之间的关系,当今几乎所有的主流模型都有极强的工具调用能力,但是最强的两个推理模型反而在推理时不采用任何计算器工具调用。这是为什么?
计算器在这里可以是做一种最基础的智能体,因为他也符合我们对于智能体的定义,他可以感知,由自主性,甚至也很灵活。但是一旦让大模型在计算过程中持续依赖计算器,那么大模型学会的不是自我计算能力,而是学到了如何使用其他智能体完成自己的任务。这种模式,如果将计算器和大模型精密地打包在一起,同时大模型的计算能力不是我们关注的内容,是一种典型的多智能体模式。但此时一旦将两者拆开,大模型就不能够称作智能体了,因为其本身没有脱离其他智能体运作的模式。所以当前的编程之王Claude在解决代码类问题时,时常强调自己无法直接调用代码执行工具,其实是其自主性达到一定高度的体现。
另外一个例子是Steel-dev这个极为创新的智能体平台,其实按照我们之前的理解,其商业模式本身如果能够走通。实际上他的想象力空间不是在于提供了一种agents的container而已,而是成为了智能体闭环的一部分。这是一种非常精巧的模式,因为对于其智能体客户而言,如果智能体长期依赖该基础设施所提供的环境,那么平台就会成为智能体的一部分。这与模型泛化能力无关,因为即使模型有极强的泛化性,无论平台,其本身也是无法独立运作的。
Steel-dev AI browser
最后站在灵活性的角度,目前的AI还没有展现出强的目标导向行为,这也是Ilya所称述的self-aware中的一部分。对于自我的认知和理解,AI无法在分不清主体的情况下具备与其他智能体主动交互的能力。注意我这里说的是主动交互,以编排流程为蓝本的被动交互,由于其行为发起方可能并非模型本身,所以不存在此类的讨论。其灵活性也是由手动编排的自由度所定义,可以理解成现在的Agent体系都是规则系统,真正的agent不需要agent框架。
灵活性方面,AI系统最大的挑战是content length,为了维持模型在做长序列决策时的可观性,需要其记忆能力能够在复杂交互下cover住对于原始目标的理解。我们现在还没有见到此类AI的雏形,一个可能的比喻是超级棋类AI,只要是棋类游戏他都能够自我学习并取胜。
o1 reasoning
把o1放在最后,是因为这是可能是从业者每天都在经历和思考的事情。合成数据这个方向比较具体,Agents又比较形而上学,o1则处在这两者的朦胧之中:既可以通过合成数据蒸馏的方式弄出来一个o1的拙劣模仿,但似乎离agents的宏大叙事又比较遥远。
o1真是一个很神奇的东西,让模型自言自语,不断以文字的形式尝试各种各样的解法,自我解析,自我反思,自我感动。每天看着自己训练版本的各种奇怪语句,都让人怀疑是不是哪里有什么数据泄露了。但可能pre-train scaling law在OpenAI内部实现的时候,第一个版本给人的感觉也是类似的吧。
很多关于o1的基础技术细节,大家都在处于探索的过程中,其极为独特的语言输出模式和强悍的表现,值得所有从业者真正重视并了解这个技术(Ilya都明确和你说了,别怀疑了)。这里和大家再分享一些insight:
第一,这种口语化的范式,应该并不是刻意塑造的,更多的是RL过程中的自然激发。原有的CoT范式,只是人类想当然地认为大模型会表现的更好的一种刻板塑造,真正有效的不是CoT本身而是其范式所激发的对抗<|im_end|>的能力,当这种范式成为推理能力阻碍的时候,就会被自然而言地薅掉。其算力规模会等同并快速超越预训练的规模,从而摆脱对于示教数据的强依赖。
第二,这就是一个模型,推理时也没有什么MCTS。开源的QwQ和Deepmind R1的表现都证明了这一点,推理时搜索是o1 Pro的事情,没有这个我们依然可以通过超长思维链的等效BoN潜力极为有效地压榨每一个decoding token的推理价值。incentive not teaching的另外一面就是不要人为地给模型加上无用的枷锁,你思考的方式不一定模型思考的方式。
第三,达成o1可能有不止一种路径,就像RL时代的算法即使idea不同,最终表现也能够在数据供给重复的情况下获得相近的表现。更重要的反而是奖励机制的设计,以及工程加算法的scaling能力,这和pre-train的scaling路径除了在算力方面一致,数据供给的差异极大。
最后,RFT本身可能就是o1能力的产品化封装,部分暴露了其训练流程中的一部分。在o1的视角里,其难度实际上是和SFT是一样的,关键能力在于基础模型的reasoning能力和exploration diversity要保持足够的水位,通过多次的探索on-policy地接收grader的奖励。理论上,只要是任务可以被推理,同时基础知识是o1所能够包含的,同时任务可以通过判别模型给出比较明确信号,这些业务都可以直接基于o1的RFT来做。
o1本身如果说没有吃Ilya insight的老本我是不相信的,但是中间OpenAI内部究竟发生了什么,使得其决定要和Sam反目并最终出走,现在也和o1的技术细节一样也不为人知了。
总结和展望
我们总结了当前预训练所存在的问题,其本质还是自然数据耗尽带来的对于pre-train scaling law的担忧,Ilya的判断符合第一性原理,在自然数据下继续盲目扩大算力规模目前看来是无法获得超级智能的。对于Ilya一笔带过的三个可能方向,我们正对性地进行了最新技术的梳理,这些方向分别在数据供给、模型能力和应用领域三个环境持续为AI大模型提供新的scaling law。其中以o1 reasoning为核心的RL scaling law,扮演了AI大模型二级火箭的角色,数据供给则通过合成数据及全新的训练策略能够获得环境,agents则站在应用场景的视角给大家持续扩充使用范围。从业人员不必感到焦虑,可以尽快调整方向,如果无法调整,我们正在招募以上环节所有的相关社招岗位(P5~P9)(https://zhuanlan.zhihu.com/p/676729627) ,如果你有agents,合成数据,o1所需要的知识与技能,欢迎直接联系我。