百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

o1方法性能无上限!马腾宇等证明:推理token够多就能解决问题

qiyuwang 2024-11-02 14:23 13 浏览 0 评论

克雷西 发自 凹非寺

量子位 | 公众号 QbitAI

OpenAI用o1开启推理算力Scaling Law,能走多远?

数学证明来了:没有上限

斯隆奖得主马腾宇以及Google Brain推理团队创建者Denny Zhou联手证明,只要思维链足够长,Transformer就可以解决任何问题!

通过数学方法,他们证明了Transformer有能力模拟任意多项式大小的数字电路,论文已入选ICLR 2024。

用网友的话来说,CoT的集成缩小了Transformer与图灵机之间的差距,为Transformer实现图灵完备提供了可能。

这意味着,神经网络理论上可以高效解决复杂问题。

再说得直白些的话:Compute is all you need!

CoT让Transformer运行更高效

首先需要说明的是,“可以解决任何问题”是一个通俗化的表述,严格来说,论文的核心结论是思维链(CoT)能够显著提升Transformer的表达能力。

作者首先通过理论分析,提出对于固定深度、多项式宽度、常数精度的Transformer模型,如果不使用CoT,其表达能力将受限于AC0问题类别。(AC0是一类可以在并行计算中高效解决的问题,但不包括需要复杂序列化计算的问题。)

在固定指数位的情况下,固定深度、对数精度的Transformer模型即使引入了正确的舍入操作,其表达能力也仅限于TC0问题类别。

但当引入CoT时,固定深度、常数精度的Transformer模型就能够解决任何由大小为T的布尔电路解决的问题。

这表明CoT显著扩展了模型的表达能力,使其能够处理更复杂的问题。

为了验证理论分析,论文在四个核心问题上进行了实验,考虑了基础(base)、CoT和提示(hint)三种不同的训练设置:

  • 模运算(Modular Addition):并行计算问题,论文展示了CoT如何提高模型在这个问题上的准确性;
  • 置换群组合(Permutation Composition):需要序列化计算的问题,论文证明了CoT在解决这类问题上的有效性;
  • 迭代平方(Iterated Squaring):典型的序列化计算问题,论文展示了CoT如何使模型能够有效地解决这类问题;
  • 电路值问题(Circuit Value Problem):这是一个P完全问题,论文证明了即使是在模型深度较低的情况下,CoT也能使模型能够解决这类问题。

首先在可并行的模运算问题上,输入是若干个模7的数,输出是它们的模7和。

实验结果表明,所有设置下的Transformer都能够学习模加;但在较长序列(如n=16)上,CoT的优势更加明显。

这说明即使是可并行问题,CoT也能带来一定的效率提升。

在内在串行的置换群复合任务上,输入是S_5置换群中的若干个置换,输出是它们的复合结果。

结果,CoT提高了低深度模型的准确性——

不使用CoT的Transformer即使深度较大也难以学习该任务(准确率约20%),而使用CoT后即使是1层Transformer也能轻松学习(准确率100%)

对于迭代平方任务,输入是一个质数p、一个整数r和若干个“^2”符号,输出是r^(2^k) mod p。

实验结果与置换群复合任务相似:不使用CoT时。即使16层Transformer也难以学习;而使用CoT后。1层Transformer就能完美求解。

这再次验证了理论分析,即迭代平方是内在串行的,需要CoT来提供必要的计算能力。

最后的电路值问题,输入是一个随机布尔电路的描述,输出是电路的最终输出值。

实验结果表明,在基准设置下,4层Transformer的准确率约为50%,8层约为90%,16层接近100%;

而使用CoT后,1层Transformer就能达到接近100%的准确率。

这验证了理论结果,即CoT赋予了Transformer任意电路的模拟能力,使其能够解决电路值问题这一P完全问题。

CoT+Transformer模拟门电路

除了上述实验,作者还对以下结论进行了理论证明:

对于任意一个可以用多项式大小的布尔电路计算的函数,都存在一个仅有常数层数的Transformer,可以通过足够多步数的思维链(CoT)来模拟电路的计算过程,从而计算出这个函数。

证明的思路是先将布尔电路视为一系列逻辑门的组合,然后利用Transformer中的位置编码为每个逻辑门及其状态分配一个独特的表示,进而通过逐步计算来模拟整个电路的执行过程。

这个证明的关键,在于利用CoT来逐步模拟电路中每个门的计算

具体而言,对于一个有T(n)个门的电路,作者设计了一个4T(n)个token的输入序列。

这个序列包含了电路的完整描述,每个门用4个连续的token表示:门类型、两个输入门的索引和当前门的索引,并用输入序列中的第一个token指示了电路的输入值。

然后,作者构造了一个常数深度的Transformer,这个Transformer的嵌入维度只需要O(log n),就足以对T(n)个门进行编码。

在第一层,Transformer读取输入序列,并将电路的描述信息存储到其位置嵌入中。

接下来是关键的CoT步骤。Transformer逐步生成4T(n)个token的思维链,每4个token对应电路中的一个门。

对于第i个门,Transformer执行以下操作:

  • 利用注意力机制获取两个输入门的计算结果:如果输入门是电路的输入,可以直接从输入序列中读取;如果输入门是前面计算过的中间结果,则可以从思维链的对应位置读取。
  • 根据门的类型(与、或、非等),用前馈网络计算当前门的输出。
  • 将当前门的输出写回到思维链中,作为后续门的输入。

通过这一过程,Transformer逐步模拟了电路中每一个门的计算,并将中间结果存储在思维链中。在生成完整个思维链后,最后一个门的输出就对应了电路的最终输出。

也就是说,通过将电路“展开”为一个长度为O(T(n))的思维链,即使固有深度很浅,Transformer也可以逐步执行电路中的计算。

在此基础上,作者进一步证明,具有O(T(n))长度CoT的常数深度Transformer,可以模拟任意T(n)大小的电路,因此其计算能力等价于多项式大小电路

理论打通了,实际可行吗?

能够模拟电路的计算过程,意味着CoT+Transformer能够解决可计算问题。

同时,这也说明只要有足够的CoT思考时间,大模型不需要扩展尺寸也能解决复杂问题。

有专业人士用一篇长文解释了CoT和图灵完备性之间的关系:

如果没有CoT,Transformer仅限于执行AC0复杂度类中的可并行任务;

CoT推理从根本上改变了这一格局,它使Transformer能够通过中间推理token处理串行计算,从而增加计算深度并允许模型模拟AC0以外的更深层次的电路。

这一进步将Transformer带入了P/poly领域,即多项式大小电路可以解决的问题类型。

理论上,只要有足够的CoT步骤,Transformer就可以模拟多项式大小电路可以执行的任何计算,从而缩小了Transformer与图灵机之间的差距。

但实际限制仍然存在,例如有限的上下文窗口和计算资源。要充分利用这一潜力,需要仔细的模型设计和优化。

还有人把这项成果和OpenAI的“草莓”,也就是爆火的超强模型o1联系到了一起——

草莓同样也是思考的时间越长,准确性越高,按照这个思路,只要有好的模型,就能解决人类面临的一系列难题。

甚至有人表示,如果这项研究是真的,那么AGI就已经在到来的路上了……

不过也有人认为,这只是一个理论性的结果,距离实际应用还存在很大差距。

即使抛开理论与实际条件的不同,时间和成本问题就是一个重要的限制因素。

而且实验的一个假设是模型权重被正确设置,但实际模型的训练很难达到这一程度。

还有人指出,这种模拟门电路运算,并不是大模型实际学习和工作的方式。

换言之,如何将实际问题用布尔电路表示,是Transformer从能解决运算问题到能够解决实际问题的一个关键。

但现实中,诸如“如何治疗癌症”这样的问题,很难以电路的形式去描述。

虽然距离实际应用还有一系列问题要解决,但这项研究至少揭开了CoT的巨大潜力。

作者简介

本论文一共有四名作者,全部都是华人。

按署名顺序,第一位作者为清华姚班校友李志远,是普林斯顿博士、马腾宇的博士后,现为芝加哥丰田技术学院(TTIC)的助理教授。

第二位作者是Hong Liu,也是马腾宇的博士生,现在在读,本科就读于清华,曾获得特等奖学金及优秀毕业生荣誉。

第三位是Google Brain推理团队创建者Denny Zhou,中科院博士,2017年加入Google前在微软担任了11年的高级研究员。

最后是2021年斯隆奖得主、斯坦福大学助理教授马腾宇,他是姚班校友、陈丹琦的同班同学。

论文地址:
https://arxiv.org/abs/2402.12875
参考链接:
[1]https://x.com/denny_zhou/status/1835761801453306089
[2]https://www.reddit.com/r/singularity/comments/1fiemv4/denny_zhou_founded_lead_reasoning_team_at_google/

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关推荐

在Word中分栏设置页码一页两个页码的技巧!

施老师:在正常情况下,Word文档中一页只会出现一个页码。但在某种情况下,比如说:用了分栏后,我们希望一页中出现两个页码,那应该如何实现呢?今天,就由宁双学好网施老师来为大家讲一下,利用域来实现一页两...

如何在关键时刻向上自荐(如何在关键时刻做出正确选择)

抓住机会,挺身而出有种时刻叫“关键时刻”,关键时刻,作为一个认为自己有能力的、训练有素的人,应该考虑挺身而出,甚至应该不考虑就挺身而出。...

WPS Word:跨页的文档表格,快速调整为一页。#Excel

如何快速将跨页的文档表格调整为一页?需要根据两种情况分别处理。如果表格所有行的行高相同,调整为一页的方法有两种。第一种方法是将光标移动到表格内,然后将鼠标移动到表格右下角的方框处,按住鼠标左键向上拖动...

word文档插入下一页分节符(word下一页分页符)

在word文档中,对文档页面进行分页是特别常见的操作,其中的下一页分节符也是用得比较多的,但是一些人不太清楚在哪里设置,也不知道它具体能实现的功能是什么。接下来看看如何在word文档中插入下一页分节符...

word文档如何设置某一页纸张的方向

word文档页面方向有横向和纵向,纵向是默认的纸张方向,有时我们需要将页面设置为横向,或只设置其中某一页方向,应该怎么操作呢?一起来看看下面的详细介绍第一步:...

word怎么单独设置一页为横向(word2019怎样设置单独一页为横向)

word里面其中一页可以改为横向的吗?经过实际操作发现是完全可以的。...

Word如何设置分栏,如何一页内容同时显示一栏和两栏

我们使用Word文档,有时需要用到两栏的排版,甚至一页内容同时包含一栏和两栏的排版,这种格式怎么设置呢?具体步骤如下:首先是两栏排版的设置,直接点击Word文件上方工具栏【布局】,选择【分栏】下面的【...

Word怎么分页?这三个方法可以帮到你

我们不仅可以利用Word编辑文档,还可以编辑文集呢。但是有时候会出现两个部分的文章长短不一,我们需要对文档进行分页处理。这样可以方便我们对文档进行其他操作。那么Word怎么分页呢?大家可以采用下面这...

Word内容稍超一页,如何优化至单页打印?

如何将两页纸的内容,缩到一页打印呢?有时候一页纸多一点内容,我们完全可以缩一下,放到一页来打印。...

[word] word 表格如何跨行显示表头、标题

word表格如何跨行显示表头、标题在Word中的表格如果过长的话,会跨行显示在另一页,如果想要在其它页面上也显示表头,更直观的查看数据。难道要一个个复制表头吗?当然不是,教你简单的方法操作设置Wo...

Word表格跨页如何续上表?(word如何让表格跨页不断掉)

长文档的表格跨页时,你会发现页末空白太多了,这时要怎么调整?选中整张表格,右击【表格属性】,点击【行】选项,之后勾选【允许跨页断行】,点击确定即可解决空白问题。...

Word怎么连续自动生成页码,操作步骤来了!

Word怎么连续自动生成页码,操作步骤来了!...

word文档怎么把两页合并成一页内容?教你4种方法

word怎么把两页合并成一页?word怎么把两页合并成一页?用四种方法演示一下。·方法一:把这一个文档合并成一页,按ctrl加a全选文档,然后右键点击段落,弹出的界面行距改成固定值,磅值可以改小一点,...

如何将Word中的一页的纸张方向设置为横向?这里提供详细步骤

默认情况下,MicrosoftWord将页面定向为纵向视图。虽然这在大多数情况下都很好,但你可能拥有在横向视图中看起来更好的页面或页面组。以下是实现这一目标的两种方法。无论使用哪种方法,请注意,如果...

Word横竖混排你会玩吗?(word横排竖排混合)

我们在用Word排版的时候,一般都是竖版格式,但偶尔会需要到一些特殊的版式要求,比如文档中插入的一个表格,横向的内容比较多,这时就需要用到横版,否则表格显示不全。这种横竖版混排的要求,在Word20...

取消回复欢迎 发表评论: