AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


推理时计算:从扑克到大语言模型
发布日期:2024-10-20 10:27:52 浏览次数: 1567 来源:MLSys2024



摘要

从1997年的深蓝,到2016年的AlphaGo,再到2022年的Cicero,游戏一直是衡量人工智能系统前沿能力的一种方式,并且也为获得具有更广泛应用价值的算法见解提供了途径。在本次演讲中,作者介绍了扑克、围棋和大语言模型等领域的研究突破,并特别强调搜索/规划算法在这些成就中所发挥的关键作用。然后,指出了这项研究在未来改进机器学习模型的潜在应用。

扑克
首先我想讲一下我的动机,回顾我作为研究生刚开始从事AI工作时的情况。我在2012年进入研究生院,并从一开始就开始研究扑克AI。当时,人们已经研究扑克AI好几年了。那个时候,人们认为系统基本已经定型,只需要进一步扩展模型的规模。我这里有一个图表,展示了每年我们模型的参数数量(大致比例)。每年我们都会训练这个模型,其他研究机构也会训练他们的AI模型,然后大家每年在一个叫“年度计算机扑克大赛”的活动中进行比赛。
我们每年使用的大致都是相同的算法,但在扩展时遇到很多挑战。我们不得不让它变得更加分布式,训练时间更长,使用更多的计算资源。每年,模型都会变得更好,都会击败前一年的版本。在2014年,我和导师开发了一个AI,在年度计算机扑克大赛中击败了其他所有的AI,并获得了第一名。于是我们决定让它与真人专家对战。

这促成了2015年的“人脑 vs AI”扑克比赛,我们挑战了四位顶级扑克职业选手,进行了80,000手的扑克比赛,提供了12万美元的奖金激励他们发挥最佳水平。最终,我们的AI Claudico以较大的差距输掉了比赛,具体为每100手输掉9.1个大盲注。如果你不熟悉扑克,这个数据可能没有意义,但基本上可以理解为一次相当大的失败,虽然不算彻底崩溃。
在这次比赛中,我注意到了一件有趣的事情我们的AI在比赛前训练了大约1万亿手扑克,不断在数千个CPU上进行训练,持续了数月但在真正对战专家时,它几乎是瞬间做出决定——只需要30毫秒左右就能查找到当前状态下的最佳策略而人类选手则会在遇到困难情况时停下来思考,有时会思考五秒,有时甚至长达五分钟于是我意识到,也许这正是我们的AI所缺失的能力。
深入研究
比赛结束后,我决定深入研究这一方向,想看看如果我们为AI增加这种思考能力,会带来多大的变化。以下是我的发现。

这张图表来自我2017年与导师发表的一篇论文。蓝线代表的是没有任何搜索或规划的情况下的模型表现,也就是我们多年来一直在做的事情——训练越来越大的模型,但在实际比赛中依然即时决策。图中的x轴是模型的参数数量,当时还没有流行神经网络,所以我们用了k-means聚类技术,但大致可以看作模型参数的数量。y轴代表的是距离纳什均衡的距离,这个数值越小,模型在扑克中的表现越好。随着我们扩展模型,距离纳什均衡的距离从大约800降到400,说明模型的扑克能力在提升。
橙线代表相同规模的模型,但增加了搜索功能,即模型可以在游戏的最后一轮思考约30秒再做决定。你可以看到,仅仅增加了搜索功能,模型在相同规模下的表现就提高了大约7倍,这个差距是令人震惊的。在我攻读博士学位的三四年里,我通过努力将模型扩展了100倍,我对此感到非常自豪,认为这是非常了不起的成就。而仅仅通过增加搜索功能,就相当于将模型扩展了10万倍。也就是说,增加搜索功能所带来的提升,相当于我三年工作积累的1000倍。
因此,我意识到,迄今为止,我在博士期间所做的工作相对于这个发现来说都只是个小插曲。基于这个结果,我们彻底改变了研究方向,开始专注于如何扩展搜索功能。

2017年,我们再次与四位顶级职业扑克选手进行比赛,这次我们打了120,000手扑克,奖金也增加到了20万美元。最终,AI以每100手赢15个大盲注的成绩获胜,而此前2015年的AI输掉了每100手9个大盲注。每位人类选手都输给了AI。这一结果令所有人感到非常意外,包括扑克界和AI界,甚至连我们自己也没预料到会以这么大的优势获胜。
实际上,这个结果还可以从比赛期间的投注市场中反映出来。在比赛宣布后,扑克界内出现了一个活跃的投注市场,赔率大约是4比1,人们普遍认为我们会输掉比赛。即便在比赛的前三天里我们连续获胜,市场仍然保持50/50的投注比例。但到了第八天,大家都看出我们肯定会赢,剩下的唯一赌注市场是“哪位人类选手输得最少”。

2019年,我继续研究如何在扑克领域进行搜索和规划。我们开发了一个六人扑克AI,此前的AI只用于两人扑克。这次我们进行的是六人无上限德州扑克比赛,AI与五个人类选手一起打了12天共10,000手扑克。我们采用了一些减少运气因素的技术,最终AI再次以统计显著性获胜。更有意思的是,这个AI的训练成本不到150美元,如果使用云计算资源进行训练,它的运行只需要28个CPU核心。这意味着,如果我们采用正确的方法,甚至在上世纪90年代就可以实现这种结果。

为什么被忽略

这为我之后的AI研究提供了重要的动力,特别是在规划方面。回顾起来,现在看似显而易见的问题是,当初为什么没有更多人研究扑克中的规划?毕竟,这显然是一个巨大的胜利。我认为,尽管现在回顾一切都显得理所当然,但在当时,并不明显这种方法会如此成功。所以我认为有几个原因导致了当时扑克中的搜索和规划研究并不活跃,我认为这对研究人员的普遍研究方式以及今天的研究都有重要启示。

这件事以前没有得到应有的重视,我觉得它没有被列为最高优先级。

顺便提一下,当我说“搜索”时,我常常将它和“规划”交替使用。我认为搜索是一种规划。

基本上,问题在于,模型在执行时花费的时间比它预先计算的策略要长。那么,为什么以前没有被重视呢?

我认为一个原因是文化因素。研究人员,尤其是在博弈论领域的,倾向于计算一个平衡。如果你要这么做,你就必须验证你确实找到了一个平衡。所以你需要提前得到整个解决方案。而如果你在做规划,这意味着你并没有提前获得整个解决方案,因此你不知道自己离平衡还有多远。这是一种文化上的影响,AI扑克研究群体是从博弈论中走出来的,因此他们对不计算完整策略的方法有偏见。

另一个原因是进行规划实验的难度。随着测试时计算量的增加,衡量实验效果变得更加困难,尤其是在像扑克这样方差很大的游戏中。为了判断两个机器人谁更好,你可能需要打上百万手牌。而如果每手牌模型都要花30秒来计算,那实验会变得非常麻烦。

还有一个因素是激励机制。我认为今天的学术研究人员尤其应该关注这一点。人们总是想着,比如说我提到的年度计算机扑克比赛,大家的注意力总是集中在赢得这场比赛上,这是一个短期目标。而年度计算机扑克比赛限制了测试时的计算资源,只允许使用两个CPU核心。之所以有这个限制,完全是因为组织方的资金问题。如果在测试时耗费大量资源运行数百万手牌,成本将会非常高。因此,大家都把目光集中在赢得这场比赛上,而忽略了开发那些能够在更重要的基准测试中打败顶尖人类玩家的技术。

最后,我认为最重要的原因是,人们低估了规划带来的差异。如果你在我研究这个方向之前问我,做规划并把它加到扑克机器人中会产生多大的效果?我会说,也许相当于把模型规模扩大10倍,这已经算很多了。我不会想到它会带来10万倍的提升。我发现这是一个普遍趋势,大家低估了规划对这些模型的重要性。

围棋

接下来我想谈谈围棋。其实,搜索和规划的理念不仅限于扑克,实际上它们已经广泛应用于象棋和围棋等游戏中。如果你看看围棋中的表现,情况也类似,很多人低估了搜索和规划带来的影响。这里有一张来自AlphaGo Zero论文的图表。AlphaGo是2016年击败李世石的AI,而AlphaGo Zero是更先进的版本,几乎不依赖人类知识进行训练。

在图中,你可以看到纵轴是Elo评分,用来衡量人类和不同模型的表现,横轴则是不同版本的AlphaGo。AlphaGo Lee是对战李世石的版本,Elo评分大约是3600,刚好超过人类顶级水平。而AlphaGo Zero则更强,Elo评分约为5200,明显超越了人类水平。

不过,AlphaGo Zero不仅仅是一个神经网络,它还结合了蒙特卡洛树搜索算法。而如果你只看AlphaGo Zero的原始神经网络部分,表现只有大约3000 Elo,低于人类顶尖水平。因此,我要特别强调一点,即便AlphaGo Zero在训练时使用了蒙特卡洛树搜索,但如果在测试时不使用它,其表现仍然不如人类顶尖棋手。而自2016年AlphaGo问世以来,直到2024年,仍然没有哪个仅使用原始神经网络的模型能够超越人类在围棋中的表现。

当我向人们提到这一点时,很多人会说,只要训练一个更大的模型,最终肯定会超越人类。理论上这确实可能,但问题是,模型需要变大到什么程度才能与AlphaGo Zero相媲美?根据经验法则,Elo评分每提高120分,需要模型规模和训练时间增加一倍,或是测试时的计算量增加一倍。按照这个规律,如果原始策略网络的Elo为3000,那么要达到5200分,需要将模型规模和训练量扩大10万倍。

当然,我必须说明一点,我并不认为AlphaGo Zero的真实Elo是5200分,因为这个分数是通过与其早期版本对战得出的,因此可能存在一些偏差。这个分数更可能在1000到1万之间。但无论如何,模型的规模和训练量都需要大幅增加,才能与使用蒙特卡洛树搜索、思考30秒后行动的版本相匹敌。

值得一提的是,这仍然假设在训练和自我对弈过程中使用了蒙特卡洛树搜索。如果在训练过程中不使用这一技术,那么模型的表现将远远不及预期。

当我注意到这个模式时,我开始思考,在不同领域如何应用规划而不是单纯依赖深度强化学习。

Hanabi

2019年,深度强化学习很流行,但我发现,在很多领域,规划能带来更显著的效果。比如Hanabi,这个不完美信息的合作游戏。2019年,DeepMind提出了Hanabi作为新的基准,并通过深度强化学习算法实现了58.6%的胜率。

不到六个月后,我和 FAIR 团队的同事提出了一种新算法,在两人模式下的 Hanabi 游戏中达到了 75% 的胜率,超越了人类表现。我们用的技术非常简单,稍后我会详细解释。
关键突破在于,我们在强化学习方面没有任何新的突破,实际上我们只是使用了搜索技术。特别是,我们使用了你能想象到的最简单的搜索方式。

在 Hanabi 游戏中,存在对当前状态的不确定性。你会有一组关于你可能处于哪些状态的信念分布。游戏中有 20 种不同的动作可以选择,所以我们只是简单地说,好吧,对于每个可能的状态,我们可以选择的动作有打出第一张牌、丢弃第一张牌、提示、读取等。那么我们会做很多次尝试,模拟如果我们选择了某个动作并根据我们的策略玩完整局游戏,预期的得分是多少。我们做 1,000 次尝试,得出每个动作的预期得分,然后选择预期得分最高的动作。
这是我们的表现。如果你暂时不考虑搜索,仅看不同预训练模型的表现。这个 "Smart bot" 是一个基于启发式设计的手工制作的机器人,它的胜率约为 25% 到 28%。这是 DeepMind 论文中提出的算法,它是一个深度 Q 网络(DQN)机器人,胜率大约为 45%。接着,有一系列关于 Hanabi 的深度强化学习算法的论文,它们逐步提升了表现,在我们发表时,最新的一个达到了大约 58% 的胜率。

然后,如果你在这些机器人上添加搜索算法,你会看到不同的结果。比如,如果你在这个手工设计的启发式机器人上添加了最简单的搜索算法,也就是对所有可能的动作进行多次模拟,并选择预期得分最高的那个,胜率会提升到接近 60%,超越了所有之前的深度强化学习机器人。这是在测试时使用单个 CPU 核心、一秒钟内完成的操作。更妙的是,你可以在所有深度强化学习机器人上添加这个搜索算法。如果你在最新最强的深度强化学习机器人上添加它,表现甚至可以提升到大约 72%。如果你为两个玩家同时执行搜索,胜率会进一步提升,这就是绿色的柱状图所显示的。
我还要指出,Hanabi 游戏的最高胜率不是 100%,因为有些牌局无论如何都不可能获胜。所以理论上能达到的最高胜率大约是 90%,而我们很快在这个领域接近了这个表现。
当我和 FAIR 团队的同事得出这一结果时,有同事甚至以为是某种程序错误,因为做了如此简单的事情,胜率就从 28% 跃升到了最先进水平的 58%。这也是我常常看到的一种趋势,人们往往低估了规划的价值,直到他们在自己工作领域中看到它的实际效果。

Hex

所以我们不是唯一注意到这个模式的人。事实上,有一篇非常好的论文在2021年发表。它刚刚存档。Andy Jones现在在Anthropic,他为Hex游戏做了很多扩展法则,基本上使用的是类似AlphaZero的技术。

他有一个我认为非常有趣的图表。在这个图表的x轴上,我们看到的是用于训练一个Hex机器人的计算量。Hex是一种棋盘游戏,可以看作是围棋的简化版。而这是使用蒙特卡洛树搜索算法时,机器人所需的测试时间的计算量。你可以看到不同Elo性能水平的ISO曲线。所以,如果你想在这个游戏中达到1500 Elo,你可以在测试时间花费大量计算,也可以在训练时间花费大量计算,或者两者结合。他发现,基本上,10倍的训练计算量相当于15倍的测试时间计算量。这意味着,在这个领域,通过将测试时间的计算量增加15倍,你得到的效果相当于将训练计算量增加了10倍。
那么,这为什么重要呢?好吧,如果你正在训练一个成本,比如说,10亿美元的系统,并且你想进一步提高性能,你可以选择将其成本增加10倍,从10亿美元增加到100亿美元,或者你可以将推理成本从1美分增加到15美分。对于某些领域,你宁愿将推理成本增加15倍,也不愿将预训练成本增加10倍。

搜索的有效

所以,这里有一个普遍的趋势,那就是对于某些问题,为什么规划在很多领域都有效?我认为其中一个根本原因是存在一种你可以称之为“生成器—验证器差距”的现象。基本上,在某些问题中,验证一个好的解决方案比生成一个好的解决方案要容易得多。

举个例子,在扑克中,验证你是否处于均衡状态要比计算出一个均衡容易得多。在国际象棋中,验证你是否处于一个非常好的棋局状态要比找到达到这个状态的路径容易得多。而在数独游戏中,验证你是否有一个解决方案比找到解决方案要容易得多。

这种情况在谜题、数学、编程、证明等领域中是普遍存在的。例如,验证一个证明比生成一个证明要容易得多。不过,有些领域并非如此。

例如,信息检索。如果我问你“不丹的首都是哪里”,我可以给你十个不同的选项,我认为这些选项实际上会帮助你告诉我正确答案,至少对于大多数人来说是这样的。而图像识别也是一个类似的领域。在这些领域中,验证并不比生成容易多少,因此我们可以预期在这些领域中,规划不会产生太大的影响。

但当存在生成器—验证器差距,并且我们有一个非常好的验证器时,我们可以在生成过程中花费更多的计算资源,然后在找到一个好的解决方案时进行验证。

但当存在生成器—验证器差距,并且我们有一个非常好的验证器时,我们可以在生成过程中投入更多的计算资源,然后在找到一个好的解决方案时进行验证。

LLM

接下来我们将讨论大型语言模型(LLMs)。我应该提到,我只能谈论已发布的研究,所以讨论会限制在这些已发表的内容上。计算资源扩展在语言模型中是什么样的?有一些实例,我认为人们低估了这些技术的影响。

最简单的例子是一个叫做共识的算法。基本思想是,不仅生成一个解决方案,而是生成多个解决方案,然后选择最常见的那个。有一篇关于Minerva的论文,涉及一个数学基准测试,认为要达到50%的表现需要很长时间。但在2022年,谷歌发布了Minerva,它在这个数学基准测试上得分超过50%。这让LLM社区感到意外,因为数学被视为LLMs非常困难的任务之一。他们通过共识生成很多解决方案,并返回最常见的那个,最终将Minerva的表现从33.6%提升到50.3%。共识有其局限性,比如当答案是一个单一数字时容易使用,但写证明时就难多了。

还有另一种方法是“最佳n”。想法是有一个奖励模型来评估生成结果的质量,而不是返回第一个结果,而是生成n个方案,然后返回奖励模型认为最好的那个。若奖励模型足够好,“最佳n”会优于共识,但其瓶颈在于奖励模型的质量。若奖励模型不佳,会出现过拟合,表现可能比共识差。这个方法在有明确正确答案的领域很有用,如国际象棋或数独。

OpenAI最近发布了一篇论文,介绍了逐步验证的过程奖励模型。这个方法不仅验证最终解决方案,而是逐步检查每个步骤是否正确。如果某个步骤错误,整个解决方案就标记为错误。

在比较中,可以看到共识、最佳n和过程奖励模型的成功率。在数学基准测试中,共识的成功率从大约60%提升到近70%。使用“最佳n”可以达到72.4%的成功率,而过程奖励模型则提高到78.2%。生成更多样本时,成功率似乎还会继续上升。一个有趣的例子是一个数学问题,要求简化“10的100度加上4乘以100度的正弦”,原始GPT-4模型只有千分之一的成功率,但通过逐步验证每一步,可以显著提高成功率。

总结

现在,我想谈谈当前AI的整体趋势。开始时,我在研究扑克的AI时,人们认为他们找到了达到超人类表现的方法。每年,模型会变得更大,在更多数据上训练,并总是击败前一年的模型。如今的AI状态与此类似,我们有一种有效的技术,可以在更多数据上训练,模型也在不断提升。有人认为这就是我们需要做的。

但我想指出的是,这些模型的推理成本仍然相对较低。你可以立即在ChatGPT上问问题,得到快速响应,成本也很低。这并不一定是必须的,许多游戏并非如此。下一个目标是普遍性:我们能否开发出真正通用的推理计算扩展方法?这是一个非常困难的问题。我们已经开发了许多扩展推理计算的搜索技术,但它们通常非常特定于我们所关注的领域。我和其他人正在努力开发更通用的方法。这将涉及在测试时投入更高的计算成本,但会带来更强大的模型。对于许多领域,我们愿意进行这样的权衡。虽然在一些情况下,我们不想等待很长时间的响应,但在其他情况下,我们愿意等待数小时、数天甚至数周来获取答案。

我想给学术界一些建议,因为我知道很多学术界人士,特别是研究生,想了解如何在这个新的AI时代开展研究。我认为规划实际上是一个相对适合学术研究的领域。虽然相比之下,在工业界进行这种研究会更容易,但规划在学术界仍是一个不错的领域。大型公司通常愿意在训练一个优秀模型上投入大量计算,但在推理成本上希望尽可能低。因此,在学术界,生成概念验证和少量样本的压力并不像工业界那么大。此外,我建议考虑在有外部验证者的领域工作,以避免被奖励模型的质量所限制。

最后,我想引用《苦涩教训》中的一句话。如果你还没读过这篇文章,我强烈推荐。这是篇很棒的短文。文中提到,“从70年的AI研究中可以得到的最大教训是,利用计算的通用方法最终是最有效的。看似可以任意扩展的两种方法是搜索和学习。”在学习扩展方面,我们已经做得很好,苦涩教训已经被内化。但在搜索的维度上,还有更多可以做的。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询