张祥雨访谈精华版:多模态大模型研究的挣扎史和未来


MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
来源 | 知乎
作者|hzwer 黄哲威

 

本文是对《商业访谈录》102 期采访的个人理解

《和张祥雨聊,多模态研究的挣扎史和未来两年的2个“GPT-4时刻”》,原始是两个多小时的访谈,我试图进行一些总结,音频几万字,过一遍都不太容易,我写的如有错漏欢迎指正

祥雨的研究主线介绍

AlexNet 到 ResNet 时代

2012 年出了 AlexNet,当时正值大数据集出现(ImageNet)、算力大幅提升(Nvidia)的时期,AlexNet 把当时的神经网络扩大了两个数量级,取得了巨大成功

延续做大神经网络的思路,在 12-16 年读博期间,宽度放大:做了 MSRA Init,比较好解决了模型不好开始训起来的问题;深度放大:做了 ResNet(听说当时他们显存最大装下 ResNet 152层),甚至后续用一些技术可以加到上千层

模型大了以后,瓶颈重新变成算力和数据。17 年以后祥雨在旷视继续做小模型。对于大模型而言,模型架构不是很重要,但是端侧小模型的架构很重要,需要大量的经验设计。所以后续做了一些模型结构搜索的工作(比如 Single Path One-Shot Neural Architecture Search with Uniform Sampling[1]),针对给定的硬件用很小的代价找到较优的结构。

NLP 领域进步影响视觉研究

19 年,自然语言处理 NLP 的自监督优化方法取得成功(统一预训练,显著帮助下游任务)以后,以后重新关注大模型。19 年视觉领域也有很多成功工作,各种对比学习效果逼近监督学习,但是很遗憾无法在更大的规模上走通(scale up)。

20 年,ViT 出现,同时期很多 NLP 方法都被移植到视觉上做,尤其恺明的 MAE 十分成功,但是依然感觉无法 scale up。或者说 scale up 效果不及预期。

对视觉上自监督方法不够成功的猜测:自监督学习的不变性不是数据驱动的,还是依赖于某种手工增广构造(比如对于旋转、颜色的不变性),回到人工设计的老路上。当然手工构造可能也能造出一些高级、重要的不变性,但是并不随着数据量的扩大能直接掌握更多的模式。

22 年,NLP 已经大幅进步,在研究思维链 CoT 和智能涌现论了,于是开始反思视觉研究领域的问题。从 NLP 看,建模语言的联合概率分布时,生成、理解和人类对齐是三合一的。因为语料来自于人,根据前文生成后文是一种理解,也天然是生成。

反过来看视觉研究。对于一个图片数据集,充分利用数据集的方式是学习生成,但是对于一张存在于自然界图片,其实并不一定包含人类对它理解和利用的信息,所以就无法学到“理解”和“人类对齐”层面的知识。比如一个物体识别的遮挡不变性(一个杯子被遮挡了一部分依然是杯子),这个知识就不一定存在于图上。当然更高维度的数据,比如视频数据的利用可能是下一个方向,但因为信息密度低等原因,并不一定好做。所以祥雨认为静态图像的表征学习研究不是非常乐观。

AGI 系统中,视觉是一个不可缺少的成分,所以不能放弃,短期内我们至少能先利用语言-图像间的对齐关系来做视觉领域的智能。因为网络上有大量图文交错的信息,借助他们天然对齐的性质可能能做视觉系统的智能。当然这有很强的局限性,比如可能需要视频来补充物理运动知识。

在 22 年这个时间点,多模态大模型的路线已经显现了。但是当时的背景是国内跟过一波 GPT-3,但是效果没有预期好,可能是两个原因:

  • • 老生常谈的数据质量问题
  • • 大模型初期严重低估了数据用量,用了低两三个数量级的数据量,导致模型严重缺乏训练。

所以直到 22 年底,chatGPT 出现才打破了大家的认识,感觉智能时代一下就到来了。

多模态研究的曲折

一体化模型的困难

多模态部分

23 年初期,大家都想直接复制 NLP 模型的成功,做多模态的生成-理解一体化模型,实际上大大低估了多模态模型实现的困难:在语言模型里加图片数据的直接方法,把图片也都变成 token 然后混进去训练。因为解码图片的效果不够好,所以再挂一个扩散生成头。这就是阶跃星辰第一个大模型 Step1。

预训练文本模型,然后通过后训练的方式将其它模态对齐到文字模态。结果是模型对于图片的理解能力很好,一个例子是把文字写到图上问模型,模型理解得和直接理解文字相当的好。但是缺陷是模型的生成能力很差,特别是无法用文字来控制图片的生成。更令人失望的是,哪怕直接把图片生成的模块去掉,也没有损害模型的理解能力,说明生成并没有帮助理解。同时期的 Gemini 或者 GPT-4v 也没有做到生成理解一体化,虽然设计的最初目标可能是这样。

整个24年,生成和理解被迫分开迭代,但是一直在探索如何融合的问题。设想的一个融合方式:生成模型需要图片和文本的配对数据,我们让理解模型给生成模型造数据,再把训练好的生成模型后接到理解模型里一起训练,这样生成和理解两个模型可能就互相靠近一些,可以如此反复迭代。可以得到越来越强的生成模型和理解模型,但是始终没有出现一体化的 1+1 > 2 的效果,即两个模型绑在一起联调后,和单独拿出来并没有显著区别。

即使联合训练了半天,生成模型的可控性依然非常差劲,经常生成一些肢体畸变,或者不符合物理约束的图片。模型完全能够判别出这些图片是不符合常识,但是模型还是一直生成这样奇怪的东西。尤其是在做视频生成之后,各种违反物理常识的生成视频层出不穷。

语言模型部分(编者亲历,教训惨痛

语言模型的大弯路:23 年底,阶跃基本做完了 Step1 130B 模型的预训练和对齐,启动了新一代模型 Step2 的训练(上千B,激活200+B 的 MoE 模型)。非常费资源,因为模型和数据都扩大,对算力的要求是平方级的增长。单看预训练,大家花了 9 个月做到一个觉得还不错的状态。

可怕的事情发生了,Step2 这个模型的文科、创作能力非常强,但是理科方面却不及预期。数学能力甚至不如 7B 小模型,甚至用后训练方法做不上去。这个和当时社区的主流认识是相悖的,即模型越大并不是各方面能力都上升。

经过一系列仔细的探索实验 1B-70B,发现模型的通用对话能力,情商,知识记忆确实越大越强。但是模型的推理能力是先上升后下降的状态。这个是业界现在很多人意识到的,但是24年是非共识。一些蛛丝马迹:大模型在解题时倾向于跳步,虽然每一步只是有一点错误概率,但是累积起来就很大;而小模型会更老实地一步步拆解长链的推理和计算。

猜测:下个词预测(next token prediction)的原理是通过压缩归纳获得一定的智能,但是更大的压缩率不对应更高的精度。一个思想实验:比如计算十几位数字相加,数据集是双峰分布。一部分语料是来自互联网,都是直接报答案,另一部分是手工构造的数据,拆解中间一步步来。对于小模型,能力有限拟合不了前者那个峰,被迫拟合后一个,类似于图像生成模型的特征坍缩。但是大模型会把两个峰学出来,对于直接报答案可能也有个 90+ 的正确率。对于数学题,我们首要的要求是得算对,而不是分布离预训练语料更为接近。这就产生问题。大模型往前一个峰的拟合倾向带来很大的麻烦。

o1 带来的转机

如果任务目标和压缩率优化有矛盾,基于规则的强化学习(Rule-based RL)也许可以绕过 next token prediction 的问题。在这种训练下,大模型喜欢跳步但是降低错误率的行为就被压制。但是在 o1 出现之前,相关的 RL 收益还是比较有限。o1 是又一个 GPT4 时刻:思考模式 Pattern is all you need!找一个合理的思考方式,然后再用强化学习去激励它,不管用哪个强化学习方法都可能得到很好的效果。

o1 的 RL 被很多人认为不是 RL,只是借用了一些名词和方法论。因为决策步非常多,奖励(环境反馈)极致稀疏而且难以估计。包括一些 RL 流行的 MCTS 或者 PRM 方法效果都不是很好(可能有各种原因)。一个最大的区别是大语言模型有预训练。如果是无预训练冷启动 RL,相当于生成每个词的每一步决策都有一个几万大小的动作空间,现有的 RL 算法其实无能为力。但是由于有了预训练,其实动作空间被极致压缩,对于一个几千 token 的数学题,其实关键的决策分支并不多,RL 只要解决这些关键的分支问题即可。

但是在分支点做决策并不容易。在某个分支点上,决策难度远超过预测一个 token 的计算力上限,比如需要突发奇想一个巧妙构造。实验时我们会观察到,一个题可能模型 60% 能做对,但是总是 40% 出错,不管怎么训练。因为模型无法在一个关键分支上用很少的 token 进行一个完美的决策。这里就回到说为什么思考模式重要:因为一旦允许模型进行反思,它就可以两条路都走走看。实际上 RL 不需要人工注入也能出反思,但是概率非常低,因为预训练中反思的语料实际上并不是很多。o1 是一种元思维链(Meta CoT)。

多模态 RL 的思维链泛化问题

类似于解题,生成模型要考虑的内容太多了,特别是在某个 token 上,也可能超过计算力上限。扩散模型多步过程可能好一些,但是降噪过程很难说能隐含什么推理。在扩散模型生成的某个时刻,可能语义已经完全确定了,后续就是在补一些细节。所以不管是自回归还是扩散模型,在生图上可能还处于类似于一口报答案的时代,连 CoT 都没有。

现在想先把理解上的 CoT 走通,近期的研究在做视觉空间上的 CoT。有些问题必须在图像空间做,比如走迷宫、识别图表等。类似 o1 在动作空间上补回反思,我们也可以在视觉上做同样处理:比如人类解迷宫,可能画一些线、擦掉重来等。设计一个在图上做圈点勾画的 RL,定义好任务目标和动作空间,确实能解很多任务,但问题是做了半年这个项目,模型学完换个任务泛化性能并不好。

文本上训练 o1 范式,是有泛化性的,比如学做数学题可以激发模型在创作古诗的过程中反复检查格律。还有一些反思以外的模式,比如验算答案、推倒重来,这些解题的方式都是能泛化的。泛化性的来源可能还是预训练数据,因为论坛讨论里,其实有很多答题过程式的数据,保留了解题过程的脚手架。虽然比例不高,但是它遍布整个训练集,和各个领域的知识交错在一起。

反过来说,圈点勾画这些数据是强人工合成的,可能就很难激发预训练中更广泛的模式。新的 o3 的视觉思维,其实只是对原图进行一些简单的编辑操作,因为这类数据在人类的交流中也大量存在,它们具有更强的泛化性,虽然可能解不了迷宫这种问题。

扩充多模态的预训练数据。首先预训练学到的模式,人工构造的思维链的泛化性有限。这里可以做的:

  • • 扩充教学视频数据,因为它们包含大量的思维步骤。但是难点是视频数据的挖掘、清洗和筛选,因为时长长,以及和文本对齐不足的问题(字幕、描述不够多)。
  • • 扩展思维空间,不局限于对原图做编辑。如果能做自由且可控的生成,就能在思维链过程中把文字描述具像化再推理。

当然这和生成能力提升似乎形成了死锁,一般解开死锁需要一边先行一步。最近看到 Gemini 和最新版 Sora 的进展,可控性相当好。如果我们限制任务领域(比方说就做几何题辅助线),清洗数据并筛选难度,其实是能做的很好的,这里很有机会。如果只是把各种互联网语料混起来训练,可控性就比较差。

近期做了一个编辑模型(应该指的是 Step1X-Edit: A Practical Framework for General Image Editing[2]),虽然相对数据还是脏,但是效果已经不是前述一体化模型能比。基于这个模型造数据再去训一体化模型,目前对于简单任务的效果很好。虽然别人可能比较在乎美学,但阶跃比较关注一些结构、指令遵循方面的问题。一旦搞成这样一个模型,可以做物体移动,建立辅助线等,它就能进视觉推理了。这时候,它可以做初步生成草图。至于目标是理解还是生成,其实就是最后是图片输出还是文字输出的问题。视觉空间的推理是下一个 GPT4 时刻。目前看各种前置条件是成熟的,这个时刻应该在一年左右到来。

插入一个问题:多模态数据对文本能力的影响

生成一张图的时候,控制信号有强语义。但是训练的时候我们并没有完整生成一个图:比如扩散模型要采样温度,但在大多数的扩散单步,扩散过程是没有语义的,只是补一些细节;自回归模型可能好一些,但是不会好太多,因为依然是“落子无悔”的模式,不太可能有非常清晰的梯度。就像训练一些公务员考试题,只记 ABC 式的答案,模型非常容易学到错误关联。所以图文交错的训练如果不解决混乱的梯度问题,效果可能非常差。

长上下文的重要性和难点

很多人说的长上下文重要主要是业务上重要。一方面要处理特定领域的信息需要背景知识和设定,另一方面对抗大模型的幻觉问题的一个办法就是大量给参考资料。

Transformer 在建模长上下文方面很有问题,比如它不会压缩推理时给定的数据,这一点和人非常不同:人类是分层的记忆模式。人最强的一点是中期记忆,它有延迟性,会遗忘,但是抓重点的能力非常强,会记住未来最有用的部分,可以通过反复刺激来增强。

Transformer 按人来类比,似乎只有短期记忆,但是相比人类又太长了。现在的架构可能能存上千万级别的 token,但是没有解决“从中能获得什么”的问题。更麻烦的是,主流架构随着窗口增长,性能常常是下降的,因为上下文信息可能会干扰推理,模型会出现注意力涣散的问题。我们常说压缩产生智能,前述过程是没有任何压缩的动力的。大家经常关注的“大海捞针”问题,无损的检索,实际上和智能的目标背离。

很多人用 RNN 来替换 Transformer,这些架构很好,但是目前的基准可能有误导性:为什么要做大海捞针?它并不一定重要。类似的任务完全可以用多模型来解决(比如函数调用、RAG)。比如要总结一本书的时候,从书里摘抄金句,这里设计到一个 context 的转移过程,靠全局注意力引导,再把注意力转移到某个局部。这里完全可以混合两个 Transformer 来实现。比如说相对较短记忆的普通 Transformer 混合上无限上下文的 Linear Transformer 来构建。无限长记忆的 Linear Transformer 来建模全局信息,它翻书的某一页,然后短期记忆 Transformer 去附近看看有没有想要的信息。这个过程可以反复进行,类似思维链,或者说是大脑分区。

这套 Multi-Agent 的方式可以节省上下文,也可以端到端训练。在 Rule-based 的框架下,两个 agent 的协同不完全依赖人来写 prompt,只需要简单的冷启动。在这种训练中,agent 的能力也可能进一步分化。

架构服务算法和系统。因为要 next token prediction ,算法需要并行化,所以不得不对 RNN 的结构产生了一定的要求,它必须得是一种表现为一种可分离的这种形式,所以才有了 Linear Transformer。

模型的自主学习

大模型的演进主要驱动力是两个,一个是底层算法 / 优化方法,另一个是模态。发展趋势呈现螺旋上升。前一维上从零到一有了 next token prediction,另一维上有了做 work 的自然语言模态,大家先在其它模态上扩展 next token prediction,走不太通了回来做 RL。RL 相当于直接面向目标优化,解决了很多问题。但是 Rule-based RL 又无法处理没有明确评价标准的任务,这些任务反馈依赖模型建模。

我们确实是可以从多维度评价一个回答的好坏,但是不知道怎么更好利用这些,最后都是把它加权成一个数字。这个数字对于模型来说,它只能通过大量的尝试,低效地猜打分规则。而且 Rule-based 有 scaling 的问题,要不停搭建环境,匹配测试数据。这和人自驱的学习不太一样。人类可以从非结构化反馈中学习,设计自己的内生奖励,跟环境沟通中不断改进。自主学习未来会加大投入做。

OpenAI 的智能分级法,第一级是Chatbot,第二级是Reasoner,第三级是Agent,每一代分级对应全新的算法。Chatbot 时代对应 next token prediction;RL 主导的时代叫 Reasoner;Agent 可能就是自主在线学习,不要人工定义太多规则,Agent 自己去找目标,自己探索,就自己学习自己的价值。现在的工具调用,还是在 RL 时代,是迎合人给模型定的 KPI。

Lecun 说人没有视觉生成器官,可以想象未来,但未必要画,他可以在脑中想象。但对于现在的路线来说,可能学习生成目标还是更方便的。从语料获取方便性角度,生成可能是自监督的一个最好的模式。

应用领域的多模态模型

具身智能通常是研究场景受限的问题,控制维度低一些(相对自动驾驶),所以可能可以提前用上一些 Rule-based 的方法;而自动驾驶这边很多时候还在视觉系统挣扎,走向端到端的过程。当所有事情走向彻底的端到端,整合多模态推理,和 AGI 的探索终究会合流。

引用链接

[1] Single Path One-Shot Neural Architecture Search with Uniform Sampling: https://arxiv.org/abs/1904.00420
[2] Step1X-Edit: A Practical Framework for General Image Editing: https://arxiv.org/abs/2504.17761



(文:机器学习算法与自然语言处理)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往