📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

IFDS Workshop–Exploration and Self-Improvement with Language Models: Theoretical Foundations

Paul G. Allen School48:58

Transcription

我们的下一位演讲者是迪伦·福斯特。他在康奈尔大学计算机科学系获得了博士学位,后来在麻省理工学院做博士后,然后加入了位于新英格兰的微软研究院。而且他做了很多非常有趣的工作,其中许多都获得了最佳论文奖,尤其是在Clear会议上。今天他将谈论一些强化学习,实际上是语言模型,但它是强化学习。是的,所以这次演讲将是一些关于理论的初步想法,关于我们如何能够让语言模型具备使用强化学习进行探索和自我改进的能力。嗯,这基于我长期以来的朋友和合作者扎克·穆罕默德,以及去年夏天在微软研究院与我一起工作的优秀实习生德鲁·维罗哈基的一些合作研究。好的。

那么,为了将其置于语境中,我想看看当今传统上存在的标准语言模型管道是什么样的。你可以将其分为三个部分。第一个部分是预训练。在这个阶段,你将模型拟合到一个大型的无监督文本语料库,进行下一个词元预测。下一个阶段通常被称为后训练,在这个阶段,一旦你有了预训练得到的这个基础模型,你就会使用通常是强化学习的方法,对其进行微调以适应你感兴趣的任务。然后最后一个阶段通常被称为测试时间或推理时间,在这个阶段,一旦你有了这个模型,你就会投入更多精力进行生成,以提高质量。好的。

所以如果你看这些阶段,预训练是非常昂贵的。它需要大量数据和大量计算,但传统上,大多数能力都来源于此。后训练传统上使用少得多的数据,更多用于微调。测试时间也类似。所以这次演讲,我们主要会考虑后训练。是的,我至少觉得这个阶段有趣的原因归结于监督的性质,对吧?所以在预训练中,你是在用你想要的行为示例来监督模型,比如来自互联网的看起来真实的文本序列。而在后训练中,对吧?如果你使用基于强化学习的技术,你就不需要这种明确的监督,对吧?你所需要的就是一个奖励信号,它会告诉你,你在你关心的任务上做得怎么样?而且你知道,一旦你有了这个,如果你使用这些策略优化技术,这些技术,你可能听说过其中一些,对吧?PO、GRPO、DPO。这些都是强化学习技术,它们将模型视为一个策略,并通过试错来找出如何最大化这个奖励。所以是的,这对我来说至少是一种有用的范式,因为即使你没有你想要的行为的明确示例,你也可以应用它。

我想在这次演讲中探讨的问题是,是的,这真的能自己学习新行为吗?或者说,实现这一目标的途径是什么?嗯,为了理解我的意思,看看人们今天如何使用强化学习,以及它在这方面表现如何,是很有帮助的。所以,你知道,这里一个重要的应用就是通常所说的人类反馈强化学习,比如RLHF。这只是你将这种强化学习范式应用于一个奖励模型,该模型是根据人类偏好数据拟合的。嗯,这通常只是用来微调模型中已有的行为。比如你希望你的模型在遵循指令方面表现更好,或者作为一种聊天机器人或助手更有帮助。也许更有趣的是去年出现的一种范式。这通常被称为可验证奖励的强化学习。这里的想法是,如果你考虑一些推理任务,比如代码生成或形式化数学。这些任务你实际上可以得到一些客观反馈,比如你做得好不好。比如对于编程,你可以运行你的模型生成的程序,看看它是否通过单元测试。对于形式化数学,你可以看看它是否通过了像Lean这样的形式化证明系统。有了这些,你就可以直接将这种客观反馈用作奖励。好的。

所以这在去年带来了推理方面的真正突破。但如果我们看看这是否真的在发现新行为,结果有点复杂。所以现在实际上有很多证据表明,也许与其说是发现新行为,不如说现有的强化学习算法是在放大模型中已经存在的行为。是的。这是一个很好的问题。所以我想说,是的,这正是,让我继续讲,希望会更清楚。那么,比如说,你不太可能仅仅通过温度为1的随机采样从模型中生成某种行为,除非你进行了指数级大量的采样。所以这大概就是说,如果你有一个你想要的响应,它可能只有万分之一的概率,强化学习可以将其放大到可能百分之百的概率。但你知道,如果你想要生成的那种响应的概率随着序列长度的增加呈指数级减小,你将为此付出指数级的代价。保罗所展示的只是,如果你观察许多不同任务中的许多不同模型。嗯,这里的红色曲线代表的强化学习,它相对于基础模型提高了第一次通过率,这只是你第一次尝试就得到正确答案的概率,但它从未真正提高大K值下的通过率。所以,如果你看用一千次生成得到正确答案的概率,红色曲线在这里总是低于绿色曲线。

>> 听众:哦,是的,抱歉,这里的红色曲线是强化学习后训练模型在后训练结束时的K通过率,绿色曲线是进行强化学习训练之前的模型的K通过率。是的,以不同的方式建模,对吧?你不能完全以相同的方式测试它。

>> 演讲者:这不像基础模型。它更像是一个SFT模型。所以它知道如何生成正确格式的东西。是的。

>> 听众:我能再问一下这本书吗?

>> 演讲者:当然。顺便说一下,这不是我的论文。这来自一篇名为《强化学习是否能激励超越基础模型的推理能力》的论文。是的,我当然在通过率一上得到了一些改进,但这并不是我们使用这些方法时真正看到的通过率一的改进类型。我的意思是,这并不是从零到一。这只是非常微小的改进,即使是在通过率一上。

>> 演讲者:是的,我的意思是这是一个较小的基础模型,而且它不像,你知道,我我不认为这是运行了超长时间的强化学习训练。我想说这并不是一个已解决的问题。好吧,这正是我要说的。有一些证据表明,通过运行非常非常长的时间,你可以做得更好。但是的,我想说我们对此的理解还处于萌芽状态,对吧?我认为这完全是公平的说法。

>> 听众:当然。当然。当然。

>> 演讲者:当然。但我认为这里的关键是,当你面对越来越长的任务时,对吧?你知道,我认为让通过率一达到一会越来越难。所以至少,我认为我们对哪些算法能够可靠地做到这一点还没有很好的理解。而且我认为,如果你想构建能够以更像代理的方式行动的模型,解决多步骤的非常非常长的任务,这是一种重要的能力。

>> 听众:是的,一个超级愚蠢的问题。人们意识到为什么这些数字不能仅仅基于通过率一的数字来预测所有这些数字呢?那不就像是ID样本吗?

>> 演讲者:嗯,是的,你可以,是的,它们是相关的,但我的意思是存在统计误差,对吧?你有一个分布,这样想,你有一个概率分布,所以这里有两个随机性来源:问题中的随机性和生成中的随机性。

>> 听众:没错。这是一个聚合的混合。

>> 演讲者:但就像不不,我的意思是,对于一个单一的提示,这些事情之间存在着清晰的关系。是的。

所以是的,从实践角度来看,我确实认为将后训练范式扩展到那些非常长且复杂的任务会很困难,在这些任务中很难引出你想要的行为示例,除非你可能有一种更可靠的方法来生成可能不在预训练或SFT数据中的行为。是的,所以我想探讨的是我们如何才能做到这一点,实现这一目标的途径是什么?嗯,是的,如果你从事过强化学习,这实际上就是在问关于探索的问题,对我来说,探索就是如何鼓励模型有意识地生成更多样化或更具新颖性的行为,以便你能尽快从反馈中学习。而且你知道,这显然是一个巨大的研究领域,嗯,也许更早的时候,在像Atari和AlphaGo那样的AI时代,人们提出了各种不同的算法,这些都是关于如何使用深度模型,比如深度网络之类的进行探索的启发式方法。嗯,这些算法都是明确设计用于从头开始探索新设置的。比如这里没有基础模型。你的基础模型就像一个随机初始化的网络,对吧?所以这些肯定能找到,你知道,有趣的,比如说,如果你在玩Atari游戏,你的随机初始化网络中没有的控制行为。我认为很自然地会想到尝试将这些技术扩展到语言模型。但你知道,即使在Atari时代,嗯,这些东西也出了名的不稳定,对吧?也许诺特也稍微提到了这一点。所以我认为我们对其中哪些可能希望扩展到语言模型没有很好的理解?在这样做时需要注意哪些陷阱?另一方面,如果我们从理论角度来看,对吧,探索也是强化学习理论中的一个巨大焦点。这可能是我在过去五年左右时间里研究最多的课题。我会说我们确实对如何使用深度模型进行探索的抽象原则有了一个相当有趣的理解,这在这里已经出现。但其中一些已经转化为实践。但你知道,一个问题是所有这些东西都处于基础模型出现之前的时代。所以我认为它并没有立即阐明,你知道,如何有效地使用这些大型模型进行探索,以及预训练模型应该扮演什么角色,比如你如何利用它来指导探索。我认为如果理论能在这里为我们提供一些概念性指导,那会非常酷,我确实认为有一些有趣的算法问题可以推动进展,但我也认为这或许只是在突出我们尝试这样做时应该注意的陷阱或障碍方面有用。

嗯,所以这将是这次演讲的重点,它只是对我们过去一年中一直在发展的一些新理论理解进行概述,试图理解,是的,我们何时(如果可能的话)才能有效地探索超越预训练模型,以及预训练模型在这里应该扮演什么角色,比如它如何指导探索,预训练模型的哪些特性对于探索成功是必要的。所以这将是主要观点。嗯,为了深入探讨这一点,让我回到并更详细地正式定义这个后训练设置。

那么,这又是一个设置,我们有一个来自预训练(可能还有SFT)的初始模型,我们希望使用强化学习对其进行任务微调。我们将在这里把语言模型形式化为给定x的y的条件分布pi。所以这是一个给定提示的响应的条件分布。所以我写y时的响应是指你生成的完整序列。在这个阶段我不会深入探讨自回归生成的细节。所以我们将从这个基础模型pi_base开始,我们设想我们有一个我们希望最大化的可验证奖励函数r_star。所以这里的学习设置是,我们从某个分布rho中独立同分布地获得t个提示,对于每个提示,我们被允许采样最多n个响应,并查询验证器以查看每个响应的奖励。是的,所以在整个学习过程中,你可能会从预训练模型中采样这些响应,你可能会从你运行PO或GRPO等算法时的迭代中采样这些响应,但一旦过程结束,我们希望得到一个具有高奖励的模型,我们量化这一点的方式是通过这个KL正则化强化学习目标,这只是你学习到的模型的预期奖励减去与基础模型的KL散度,并由参数beta进行缩放。如果你查阅过RHF或后训练文献,这算是一个相当标准的目标。你知道,它只是说你希望你的奖励很大,但在这样做的时候可能不要偏离基础模型太远。而这个参数beta只是控制奖励和基础模型之间的这种权衡。这将在后面的理论结果中出现。所以你确实想了解对于给定的beta,对吧?你能在受此限制的情况下,多么有效地进行探索。好的,最后要提的一点是,当我们谈论什么使这个后训练过程的算法良好或有用时。实际上有两个方面值得思考。一个是算法所需的反馈量或数据量。比如它需要多少提示?需要多少奖励才能学习到一个好的模型?另一个是计算效率,比如我们在整个学习过程中实际使用了多少计算资源。而且你知道,回到探索以及你为什么可能想这样做的问题。你知道,这里的直觉是,如果初始模型,也就是预训练模型,对具有高奖励的响应支持不足,那么有意识的探索应该会有所帮助。对吧?所以你认为这会改善你需要的数据量,并且你可能希望这也能改善计算效率。对吧?因为我只需要处理更少的例子。是的。

>> 听众:嗯,奖励也是获得的吗?还是你假设你拥有RAR?

>> 演讲者:嗯,我们假设你可以,我们有对RAR的查询访问权限。所以RAR是你关心最大化的东西,但你每次查询它都需要付费。所以如果你想学习一个完整的奖励函数,你需要从样本中做到这一点,对吧?是的。是的。但我们不担心你获得的奖励反馈与你可能关心的其他任务之间的不匹配。是的。好的。是的。所以这就是希望,这种探索将提高数据效率或计算效率。

嗯,但你知道,就像我在引言中说的,我们对何时以及如何实际做到这一点,理论理解是相当有限的。我在这次演讲中将重点关注你可能想到的最简单的模型参数化类别,我们对此不甚了解,也就是我们所说的线性softmax模型。所以我们将做出这个玩具假设,即我们希望优化的奖励函数在某种已知的特征映射phi(x,y)中是线性的,该映射将提示和响应映射到R^d中的某个向量。所以这里的phi是已知的,但奖励在phi中是线性的,带有一些我们不知道的未知参数theta_star。所以每当你做出这个假设时,你知道,这是一个相当标准的计算,你可以证明我们在这里称之为pi_theta_star的最优KL正则化模型,是的,我们称之为线性softmax。所以它对响应Y赋予的概率与预训练模型对该响应的概率成比例,但被奖励中的这个指数倾斜了,其中正则化参数决定了你倾斜的程度。所以我们将专注于遵循这种线性softmax参数化的模型。嗯,是的,这是一个玩具模型。我认为这在理论上是一个有趣的测试平台的原因是,即使这里的维度可能很小,响应空间仍然可以非常大,比如组合上非常大。所以我有点声称,理解这一点可能是理解如何处理自回归模型的一个先决条件,在自回归模型中,响应空间可以是这样的,你知道,我能生成的所有可能序列的集合。所以,使用涉及枚举所有可能响应或做类似事情的经典强盗式算法是没有希望的。好的,这就是我们将要使用的设置。让我们来看看标准的策略优化算法在这里的表现如何。我声称,即使在这个简单的设置中,所有这些算法都可能无法探索超越预训练模型。我们量化这一点的方式,这实际上与非库存相关,对吧?是通过预训练模型的覆盖率概念。所以这大概就是我们将在这次演讲中正式量化预训练模型有多好的方式。所以这只是最优模型pi_theta_star对响应赋予的概率与预训练模型对响应赋予的概率之间的密度比。是的。

>> 听众:是的。

>> 听众:是的。这是否意味着奖励,比如如果你有一个奖励模型?

>> 演讲者:是的。

>> 听众:这是否意味着奖励是?

>> 演讲者:嗯,这意味着使用线性奖励模型会是一个好主意,因为你试图拟合的真实奖励是线性的。是的。是的。

>> 听众:是的。没错。没错。是的。是的。是的。所以你解释这个量的方式就是,如果这个覆盖系数是C,那么这真正意味着,你知道,给定一个提示,我可能需要抽取多达C个响应才能看到一个有奖励的响应。所以如果你知道,如果基础模型在某个任务上已经非常出色,那么C就会很小。如果基础模型在任务上表现不佳,你知道,C就会很大。嗯,如果我在这里放一个最大值让你感到不舒服,我只想说你可以用各种平均情况版本来替换它,比如从最优模型中抽取的响应的平均情况。这不会改变这次演讲中的任何理论结果。这只是让事情更容易陈述。好的。

所以我声称,是的,如果你考虑今天存在的任何一种标准后训练算法,所有这些都可能失败,除非你收集的数据量与覆盖系数成比例,仅仅因为没有明确的机制来鼓励多样性。所以这就像一个简单的,你知道,信息理论上的下界。这只是说,除非你收集的数据量,比如提示和奖励的数量,与覆盖系数成比例,或者与这个正则化参数的倒数呈指数级增长,否则你可能就运气不佳,可能根本看不到任何奖励。

>> 听众:是的,就像某个人的负面结果,你是在这里声称对于每个实例都这样吗?

>> 演讲者:不,我声称存在这样的实例,这是真的,是的,这只是一个定性的下界,但它是一个相当通用的东西,你知道,任何涉及从基础模型采样的算法,是的,除非响应的数量至少与给定提示的覆盖系数一样大。你不会得到任何奖励。你不会进行任何更新。是的,这是正确的,嗯。

>> 听众:我不会说服你这是这里正确的实例相关量。是的。

>> 演讲者:是的。是的,当然不是。是的。

>> 演讲者:所以,这只是被动探索的一个问题。从计算角度来看,所有这些算法在每次迭代的意义上都相当合理,比如在这个玩具设置中的在线DPO。我喜欢这个作为例子。它就变成了逻辑回归。所以你可以在多项式时间内实现它,你知道,每一步都是可证明的,但你可能需要很多步。那么,有没有一些可能更积极地探索的技术,我们希望能用上呢?嗯,如果我们看那些有可证明保证的东西,我唯一知道的就是我们大约一年前做的一篇论文中的这个算法,我们称之为探索性偏好优化。这有点像在线DPO算法的一个变体,它通过一个奖励来增强损失,这个奖励鼓励你尝试新的响应。这有点受到,你知道,像UCB这样的强盗技术,或者说,嗯,总的来说乐观原则的启发。它的细节对于这次演讲的其余部分并不重要,但这作为概念验证是合理的,因为它表明在这个玩具模型设置中,你可以以不依赖于这个覆盖系数的数据效率进行学习。所以这个算法的数据效率总是与维度和你想学习模型的精度呈多项式关系。所以从统计角度来看,太棒了,我们不需要关心,我们不需要覆盖率。这里的问题是,这种乐观主义,正是它让我们能够做到这一点,它给目标函数增加了非凸性,这在像普通DPO这样的算法中是不存在的。所以即使像普通DPO在这个玩具模型中表现不错,这个东西也是非凸的。所以不清楚你是否真的能在多项式时间内实现它。但作为概念验证,它表明你可以提高数据效率。我的意思是,这是一个开始。

>> 听众:是的,这不依赖于beta。

>> 演讲者:不,如果beta很大,你可以做得更好,比如你可以用beta替换其中一个epsilon,但定性上没有太大区别。

好的,那么有没有希望在计算和数据方面同时做得更好呢?嗯,我声称在这个玩具模型中,如果没有更多假设,答案是否定的。所以我们有这种,好吧,我在这里将其描述为计算下界,但这实际上是一个查询复杂度下界,它表明,你知道,在算法如何访问这个特征映射的一些相当温和的假设下,你可以证明,除非你从基础模型中抽取的样本数量与这个覆盖系数成比例,否则你没有希望学习到一个接近最优的模型。我觉得这个结果在定性上有趣的一点是,这并不是你所需数据量的下界。它只是算法所需运行时间的下界。所以它说你在这里需要覆盖率,也许不是出于统计原因,而是出于计算原因。而这里的直觉是,除非你抽取的样本数量与覆盖系数成比例。是的。你可能就无法在特征空间中找到一个有趣的探索方向。是的。没有。

>> 听众:这就是我的问题,基本上这个评论是我对前一页的问题,你那里有E方除以F方,但你谈论的是非凸性等等,但我甚至不知道你如何解决这个问题,对吧?就像你对那个样本问题下的巨大组合空间有什么文章访问权限?你当前的策略还是基础策略?

>> 演讲者:那是唯一的预言机,这就是你为此付费的原因。

>> 听众:是的,没错,如果那是你唯一的预言机,这并不是一个难以证明的结果,但这正是我要说的重点,就像非凸优化一样,我假设你会添加一个奖励,然后在y空间中搜索。

>> 演讲者:嗯,对于那里的优化问题,它的好处是没有在y空间中搜索,只有在参数空间中搜索。

>> 听众:但它仍然是。

>> 演讲者:你仍然只能访问。

>> 听众:是的,是的,空间,你仍然只能通过采样访问,是的。

>> 听众:但你只是展示了存在一个实例,所以你只是,我的意思是参数在这里没什么意义。我的意思是,你选择你的。

>> 演讲者:不,我的意思是对于C的任何值,你都可以构造一个实例,使之成立。

>> 听众:你构造的方式是参数,我的意思是,如果参数中有结构,这就不会生效。

>> 演讲者:是的。这正是我现在要讲的重点,那就是通过做出一些额外的建模假设,这些假设可能更好地利用语言建模问题的自回归结构,我们可以做得更好。所以具体来说,我将展示的是,是的,即使我们没有基础模型的这种结果,你知道,序列级别的覆盖率,我们实际上也能够有意义地进行探索,但我们需要几个要素。所以其中一个是新的探索技术,我们称之为跨度采样。这是一种探索方式,你可以将其视为根据我刚刚展示的下界,计算上最优的。最重要的是,是的,我在前传中讨论的所有算法,它们都具有一种类似强盗的结果级别风味。我们将需要实际使用真正的多轮强化学习和动态规划来对序列的各个块进行信用分配。嗯,而且,由于一些微妙的原因,扩大算法在测试时使用的计算量也将变得很重要。好的,所以在这次演讲的其余部分,我只想按顺序介绍这三个要素,解释它们是如何工作的,以及如何将它们组合起来以获得更好的结果。这会有点高层次,但如果大家有问题,我很乐意在最后回去深入探讨技术细节。我相信诺蒂会有问题。好的,那么让我开始讲第一个结果。

好的,让我开始讲第一个结果。所以是的,这就是我们称之为跨度采样(spanner sampling)的探索技术。这里的想法是,是的,如果我们考虑被动探索算法,如果基础模型具有良好的覆盖率,它们在所需的奖励查询量方面可能会非常浪费,仅仅因为你可能会用一堆冗余的响应来查询奖励函数或验证器,这些响应对学习并没有真正的帮助,比如我可能会生成许多响应,从本质上讲,它们都使用了相同的证明技术,但它们的格式略有不同,或者以不同的方式组织这些内容。所以这里的想法是更深思熟虑一点,并尝试避免以这种冗余的方式查询验证器。这将为我们提供一种方法,将覆盖率要求纯粹推入运行时,而不是数据。所以这里的想法非常简单。就是我们得到一个提示。我们采样许多响应。我们实际上并不用所有这些响应去查询验证器。我们只是将它们精简成一个更小的代表性集合。我们只用这个代表性集合去查询验证器。我们利用模型的表示来指导这一点。更高层次地详细说明一下,其思想是你要维护这种跨度矩阵。我们称之为sigma_span。如果pi_theta_t是我们当前在某个算法(如GPO或在线DPO)中的迭代,我们将做的是,给定一个提示,我们将迭代地从模型中采样最多n个响应。对于每一个,我们检查相应特征的范数在这个跨度矩阵的逆下是否很大。如果它很大,那么我们就查询验证器,并将其作为一个例子添加到我们的数据集中,并更新跨度矩阵。嗯,如果不是,那么我们就直接丢弃该响应,不再费心去查询验证器,然后我们从一次迭代到另一次迭代地继续这样做。所以形式上,这里的跨度矩阵只是在说我在特征空间中已经理解了哪些方向。所以这给你两样东西。首先,在数据效率方面,数据效率不依赖于你的基础模型的覆盖率,以解决之前的问题。它实际上也比之前的东西好一点。所以你从1/epsilon^2变成了1/(beta*epsilon)。嗯,但有趣的是,我们确实有一个可证明的运行时保证。现在我们不是仅仅说“哦,你必须解决某个非凸目标函数,你如何做到这一点?”所以运行时间在所有参数中都是多项式的,并且在覆盖系数中也是多项式的。所以你仍然需要覆盖率,但只是计算上的,而不是统计上的,你可以将其视为对于仍在纯序列级别结果级别操作的算法来说,是两全其美。所以运行时间与我之前展示的这个主动算法相匹配,或者说样本复杂度与这个之前的主动算法相匹配。运行时间与覆盖系数成比例。

>> 听众:是的。

>> 演讲者:嗯,它无法避免,因为你仍然在计算上支付覆盖系数。只是不是统计上的。是的。所以你只是把它推到了运行时。好的。那么这有什么用呢?嗯,它有用的主要原因是作为下一个结果的构建块,对吧?因为从道义上讲,你仍然需要覆盖系数对这个东西来说是好的。所以这里的想法是,我们将把这种跨度探索技术与某种动态规划算法结合起来,我们将问题分解成多个步骤,现在我们是在步骤级别而不是完整序列级别进行探索。好的。所以要做到这一点,我现在实际上需要深入探讨这里的自回归生成的细节。所以现在我们将明确地将响应分解成一系列我称之为动作yh的东西。所以你可以将这些视为单个词元。你也可以将这些视为词元块。这将在我将展示的理论结果中隐含地出现。但这里的定义性假设是,我们可以有效地从这些动作或词元的条件分布中采样。这是自回归模型的定义性属性。关键是我们要利用这种结构进行高效探索,通过将其视为一个马尔可夫决策过程,其中状态是,你知道,提示以及我迄今为止生成的所有动作或词元。好的。现在要做到这一点,仅仅假设基础模型是自回归的还不够。我们还需要对最优模型做出假设。而且,你知道,这有点像我们之前使用的线性softmax假设的推广。所以我们假设最优模型是我们所说的自回归线性softmax,其中这些动作或词元块在每一步的条件分布是,你知道,它是迄今为止词元某种特征化中的线性softmax。嗯,所以本质上现在也需要一个可以评估的奖励函数吗?

>> 听众:是的。所以,我们仍然假设我们有和以前一样的结果级别奖励函数。

>> 演讲者:但现在它就像,嗯,当你是,当你只有下一个词元或下一个时,也能够给予奖励。

>> 听众:是的。所以,算法将不得不学习这种中间奖励。而这种自回归线性softmax假设在某种意义上为你提供了做到这一点的方法。所以这等价于,嗯,在某种程度上,假设如果你采用MDP视图,最优值函数是线性的。所以你将尝试用它来学习一个指导中间进展的值函数。但你并没有假设这是给你的。你将从纯粹基于结果的反馈中即时学习它。好的。所以为了向你展示利用这些额外假设能给你带来什么,我需要定义一个不同版本的我之前展示的覆盖系数。这是一种动作级别的覆盖率。所以之前我们看的是预训练模型和最优模型在完整序列级别上的密度比。现在我们只看这些条件分布在动作上的密度比。所以这总是小于结果序列级别的覆盖率。你知道,即使这个是2,序列级别的覆盖率可以是2的序列长度次方,或者2的视野次方,对吧,所以这可能小得多。好的。所以这里的重点是,你知道,考虑到这个动作级别的覆盖系数,是的,如果我们对这种跨度采样技术进行多轮泛化,我们将值函数学习与探索交织在一起,它实际上是一种松散的MCTS类算法,我没有时间在这次演讲中深入细节,但它很有趣,但如果你这样做,你仍然可以在所有问题参数中获得多项式的数据效率,但现在你的运行时间只取决于这个动作级别的覆盖系数,而不是序列级别的覆盖系数。所以从道义上讲,这有点告诉你,对吧,你可能从一个预训练模型开始,它抽取一个完整响应的概率很低,而这个响应你知道对你关心的任务有很好的奖励。但只要它对序列的块有很好的覆盖,比如证明中的单个引理而不是完整的证明,你实际上可以把这些拼接起来,得到你用预训练模型进行朴素采样时非常非常不可能遇到的响应。所以我认为,你知道,这仍然是一个玩具设置,但我认为这是一种有趣的概念验证,表明实际进行多轮强化学习可能是生成有趣的新响应和行为的途径。是的。

>> 听众:那么,如果你把它映射到,嗯,比如NDP设置,对吧?所以你只假设相对于开始是线性的,这非常弱,但那么,嗯,是什么让这个跟踪和标准?

>> 演讲者:实际上是正则化,所以在这个证明中,正则化在某种程度上扮演了一个类似于,嗯,如果你在做强化学习时,值函数中的间隙的角色,是的,从某种意义上说,它确实允许你快速地趋向于好的。在这个意义上并不精确。相对于非正则化强化学习,它是一种软性的方式,但是的,它确实允许你随着值函数变得更准确而更快地趋向于好的动作,并传播错误。是的,这意味着你假设你的集合a_star是归一化的,或者如果你有依赖性的话。

>> 听众:嗯,我不确定我是否理解这个问题。

>> 演讲者:如果你说正则化起着重要作用,数据在吉布斯中起着重要作用。

>> 听众:是的。所以你假设星是正常的,或者特征而不是星是归一化的。你就像依赖于规模。

>> 演讲者:哦,是的,但只是多项式地,是的,就是这样,那才是重要的。所以如果你愿意为这个正则化参数的指数依赖性或这些东西的规模付费,这里的一切都是微不足道的。这都是多项式的。是的。是的。是的。好的。让我快速预告一下,嗯,可能是一些初步工作。

试图评估这些技术在经验上是否真的有用。所以这是与MSR的另一位实习生延斯正在进行的一些工作。嗯,我们一直在做的就是,是的,尝试这些探索技术,这些技术松散地受到了跨度采样思想的启发,用于解决一些不同的推理问题。所以这张图只是纯粹在测试时比较了两种不同探索算法的性能。一个是仅仅从基础模型进行朴素采样,这是蓝色曲线。另一个是这种跨度采样技术,你只需将其应用于你的基础语言模型的最后一层隐藏状态。所以这显示的是,y轴表示,你知道,对于这个MVP编程任务中的给定提示,你需要查询验证器多少次才能找到一个正确的生成。所以这表明,是的,进行这种有意识的探索,即你抽取许多响应,然后将其精简到这个探索性集合,实际上可以显著提高验证器的复杂性,比如你所需的验证器查询次数,你知道,在最难的问题分位数上,比如一旦你进入最难的30%的问题,有时所需的验证器查询次数可以提高多达10倍。嗯,这是数学而不是编程的类似图表。再次,一旦你查看最难的问题分位数,你确实在验证器查询方面获得了相当大的改进。嗯,是的,我们发现这通常适用于各种不同的模型和任务组合,除非你从一个非常非常弱的基础模型开始,比如这个Quen 5B。嗯,但是,是的,我我我我这我认为再次只是初步探索,但我确实觉得你在这里已经能看到一些改进,这有点令人兴奋。嗯,尽管这只是纯粹的推理时间,所以我们甚至还没有将其与强化学习算法结合起来。尽管这只是使用了语言模型中冻结的特征,而这些特征,你知道,先验地不应该满足理论实际工作所需的任何条件。所以我觉得这很酷。嗯,我时间快到了。我将在这里快速介绍最后一个结果,那就是回顾并看看测试时计算在我刚刚展示的保证中扮演了什么角色。

所以,如果你考虑这个跨度采样算法,它使用了大量的测试时计算,比如它在实际决定查询验证器之前会抽取很多响应。好的。所以为了解释这一点,我想区分这种设置下的“适当学习”和“不适当学习”。那么适当学习意味着,好的,我们正在尝试学习这些线性softmax模型。适当学习只是指算法总是用从线性softmax中抽取的响应来查询验证器。这很自然,因为大多数算法,任何基于最小化某个训练损失函数(针对你正在使用的模型或策略类别)的标准算法,总是会生成该类别中的模型,因此在我们的玩具设置中,它们总是会从线性softmax中采样。这里的不适当学习只是指我们不一定从线性softmax中采样我们用来查询验证器的响应,对吧?嗯,许多不同的测试时干预在某种程度上是不适当的,因为你可能从一个线性softmax模型开始,但它们以某种方式倾斜了采样过程。比如,如果你正在做像核采样(nucleus sampling)或minp采样,或者仅仅是N选一(best of n),你的基础模型可能是一个线性softmax,但这些方法改变了分布,使其不再是线性softmax,而跨度采样算法也类似,因为它同样从线性softmax中抽取了一堆响应,但最终会进行一些拒绝来改变分布。我认为很自然会问,你知道,鉴于这是我们所知的唯一能让你获得这种计算最优保证的算法,你将覆盖率推入运行时,那么测试时计算在这里的作用是否是基础性的?我们展示的是,在某种意义上,它是基础性的。所以这是一种计算下界,你知道,类似于经典的计算统计权衡,或者学习理论中的不适当学习。它说的是,没有一个适当的算法能够在所有问题参数中以多项式时间运行,并获得与跨度采样相同的保证风格,即数据效率在所有方面都是多项式的,并且运行时间在所有问题参数和覆盖系数中都是多项式的。实际上,即使你允许运行时间与正则化参数呈指数关系,这也成立。所以是的,这表明使用任何适当的学习算法获得这种类型的保证是不可能的,但你可以通过跨度采样获得,因为你是不适当的,而且到目前为止,我们所知的获得不适当学习算法的唯一有趣方式是进行这种测试时计算风格的算法,即你进行大量生成并对其进行过滤。所以我认为这是一个值得思考的有趣问题。如果你正在尝试设计算法,这也是一个值得记住的有趣事情,因为你最好确保它们不受这个下界的限制,对吧?

好的。嗯,是的,那基本上就是结束了。所以我将快速总结一下,对吧?所以这里的主要信息是,是的,有效进行探索并生成超越基础模型的新响应是有些希望的,但这可能确实需要相当严重的算法干预才能做到,比如,你知道,多轮强化学习,嗯,测试时计算。我认为这里有大量需要理解的东西,关于我们如何设计更好的算法,特别是如果你超越了这个玩具线性softmax设置。嗯,但是,是的,我认为如果没什么别的,希望这些只是在突出你在设计算法时应该注意的挑战方面有所帮助。嗯,是的,我认为在理论方面,我的意思是,有大量大量未解决的问题。如果你想查看,我们的论文中有很多这样的问题。但是的,我认为我在这里最兴奋的是尝试看看我们是否能让这些想法中的任何一个在现实生活中真正奏效。嗯,是的,也许我最后要说的就是,是的,也许这里更广阔的方向,我们一直在思考的,就是你如何,你知道,更新学习理论和强化学习理论。

为了更好地理解,比如,当您不再从零开始时,算法设计原则方面的情况是如何变化的。您正在从一个强大的预训练模型开始,它包含了大量关于世界如何运作的先验知识。因此,这是我们小组的另一项工作,我认为在这方面很棒。您可以查看一下。但嗯,我先说到这里。>> 有什么问题吗?>> 是的。>> 您有没有想过,你知道有一个叫做“黑客”的东西?>> 是的。奖励黑客。>> 是的。>> 那么,您有没有想过这种解释……>> 奖励黑客?>> 嗯,我认为这有点互补。好的,实际上,这有点像,让我看看这个遥控器指针是否起作用。不太行。好的。嗯,这篇论文和这篇论文都与这个问题有关。嗯,我认为这与我今天谈论的内容有点互补。比如,我描述的方式是,我今天谈论的所有结果都属于在线强化学习的范畴。我认为,我认为奖励黑客的东西在精神上更接近离线强化学习,因为您可能有一个学习到的奖励模型,您不一定能希望立即收集更多数据来改进它,并且您想以某种方式避免拟合到这个东西。这些原则有点互补,比如如果您是在线的,并且可以探索,您可能应该有点乐观;如果您只有日志数据,并且有一个拟合到这个的奖励模型,其中可能存在您会利用的错误,那么您实际上可能想更保守或更悲观一些,因为比如这些探索的东西会让您能够非常快速地找到奖励模型不好的地方,比如发现其中的漏洞,对吧?如果您可以收集更多数据去填补这些漏洞,那是一件有用的事情,但如果您不能,那就不是最好的事情了。>> 还有其他问题吗?>> 我在测试时间计算的作用方面有点迷茫,因为您谈到了采样等等,但我原以为所有这些实际上都发生在训练数据库中,对吧?在部署期间,您是否仍然进行那种拒绝和……>> 这是个好问题。是的,我们实际上会……>> 而且这很重要,……>> 这就是您的意思。>> 是的。>> 嗯,好的。当您……当我说……>> 您就像,您在训练期间进行一些拒绝,并通过计算,比如将其作为一个要点,您在做一些不同的事情。>> 哦,我明白了。>> 在……不,不,不。嗯,好的。也许我应该说得更清楚一点。所以实际上训练时间部分在这里更重要,但我会说,比如,想象一下您有一个迭代算法,比如 TDO 或其他什么,就像我收集一些数据,我计算一个新的策略,我通过从该策略中采样来收集新数据。我会将从该策略中采样的过程仍然描述为一种测试时间采样。这就像,相对于您迄今为止收集的所有数据,它是测试时间。也许推理时间在这里会是一个更好的描述。是的。但是,是的,这实际上,这在证明方面确实有非平凡的差异,但这里真正重要的是,只是从正确与不正确的角度来陈述它,因为这正是正在发生的事情。这里重要的区别是,您在整个……学习过程中都是正确的。您最终输出的策略仍然可能是不正确的,对于正确的学习算法。所以这里的重点是,您在学习过程中收集数据时是否正确,这是这里根本的区别。>> 是的。>> 所以,嗯,跨采样部分就是整个测试计算,在某种意义上,它只是在推理过程中发生。>> 是的。>> 好的。所以,所以您显然可以将任何训练数据或您生成的任何数据重新用于训练。>> 是的。是的。所以我想,我有一个高层次的问题是,比如,我的意思是,显然,比如,你知道,如果您可以使用 SP 采样或任何其他……>> 是的,是的。>> ……来解决困难问题,那么,你知道,那是,那是至关重要的良好数据生成,用于分析,比如尝试做得更好,对吧?>> 而且这实际上是我们目前正在试验的事情,我们有一些……>> 看起来很有希望,我只想说,根据我们到目前为止的结果,是的。>> 所以我的问题是,我的意思是,基本上我们可以做到,比如,这种更好的测试时间计算,更好的采样策略,基本上可以解决困难问题。>> 是的。但另一种方法是,让我们说我再次怀疑,你知道,谁确切地知道像 DeepMind、OpenAI 等公司在内部做什么……>> 但比如你想解决这些 IMO 问题,对吧?然后,你知道,这些 IMO 问题,它们还不是太多,比如有这么多 IMO 短名单等等。>> 所以,所以至少一些方法是基于这个,在某种数据合成数据生成方面,对吧?>> 所以,我很好奇,基本上,您对未来解决极其困难的问题有什么看法,对吧?>> 是的。您认为合成数据生成与使用他们过去使用的更智能的采样相比如何?>> 我的意思是,这些东西在某种程度上……非常相关,对吧?因为,比如,如果您拥有的唯一反馈是一个结果级别的奖励函数,那么您可以将这些东西视为生成合成数据,这正是正在发生的事情,你知道,在数学中,就是通过在测试时间进行这种过滤,您会得到更有用的响应来训练和改进。是的。所以我认为,我认为这是,我们,是的,我们在这方面有共识。>> 但,但我想也有,我的意思是,我怀疑也有一些方法,比如,只是策略,也许只是为了生成合成……>> 完全,它们,它们,我猜,也许有点正交于……>> 是的,是的,我认为这绝对值得更好地理解。很酷。非常感谢。