Press "Enter" to skip to content

欲知答案:通过编码大型语言模型实现人类级奖励设计

随着近年来大型语言模型取得的进展,毫不奇怪为什么这些LLM框架在顺序高级决策任务的语义规划中表现出色。然而,开发人员仍然发现对复杂的低级操作任务利用LLM框架的全部潜力仍具有挑战性。尽管它们高效,但当今的大型语言模型即使是学习简单技能或构建文本提示也需要相当的领域和主题专业知识,从而在其性能和人类灵巧性之间产生显著差距。

为了弥合这一差距,Nvidia、CalTech、UPenn等开发人员推出了EUREKA,一种由LLM驱动的人类水平设计算法。EUREKA旨在利用LLM框架的各种能力,包括编写代码、上下文改进和零射表现生成,对奖励代码进行前所未有的优化。这些奖励代码结合强化学习,使框架能够学习复杂技能或执行操作任务。

在本文中,我们将从开发的角度考察EUREKA框架,探索其框架、工作原理以及在产生奖励函数方面取得的结果。根据开发人员的说法,这些函数的表现优于人类生成的函数。我们还将深入探讨EUREKA框架如何通过实现无梯度上下文学习为RLHF(使用人类反馈的强化学习)铺平道路。让我们开始吧。

EUREKA:介绍

如今,像GPT-3和GPT-4这样的最先进的LLM框架在作为顺序高级决策任务的语义规划器时取得了出色的成果,但在学习反转操作任务(如旋笔技巧)方面,开发人员仍在寻求提升性能的方法。此外,开发人员已经观察到,在人类设计师仔细构建奖励函数的情况下,可以使用强化学习在巧妙条件和其他领域取得可持续的结果,并且这些奖励函数可以提供令人满意的行为的学习信号。与接受稀疏奖励的现实强化学习任务相比,这些奖励塑造提供了必要的增量学习信号。此外,奖励函数尽管很重要,但设计它们非常具有挑战性,而这些函数的次优设计经常导致意外的行为。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第1张

为了应对这些挑战并最大化奖励代币的效率,EUREKA(Evolution-driven Universal REward Kit for Agent)旨在做出以下贡献:

  1. 实现人类水平的奖励函数设计。
  2. 在不使用手动奖励工程的情况下有效解决操作任务。
  3. 通过引入新的无梯度上下文学习方法,生成更具人类对齐性和性能的奖励函数,而不是传统的RLHF(从人类反馈中进行强化学习)方法。

开发人员在增强EUREKA的普适性方面做出了三个关键算法设计选择:进化搜索、环境作为上下文和奖励反射。首先,EUREKA框架将环境源代码作为上下文,在零射设置中生成可执行的奖励函数。随后,该框架进行进化搜索,显著提高奖励质量,每次迭代或纪元提出一批奖励候选人,并对发现的候选人进行改进。在第三和最后阶段,该框架采用奖励反射方法,使奖励在上下文中的改进更加有效,这个过程最终帮助框架通过使用基于策略训练统计的奖励质量的文本摘要实现了有针对性和自动化的奖励编辑。下图简要概述了EUREKA框架的工作原理,在接下来的部分中,我们将更详细地讨论架构和工作原理。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第2张

EUREKA:模型架构和问题设置

奖励塑造的主要目标是为基准奖励函数返回一个经过塑造或精心策划的奖励函数,直接优化这些可能存在困难的稀疏奖励。此外,设计者只能使用查询来访问这些基准奖励函数,这就是为什么EUREKA框架选择基于RDP或奖励设计问题的奖励生成,一个程序综合设置。

奖励设计问题(RDP)是一个包含状态空间、奖励函数空间、转移函数和动作空间的世界模型的元组。接着,学习算法通过生成使MDP或马尔可夫设计过程产生任何策略的标量演变的策略来优化奖励,只能使用策略查询来访问。RDP的主要目标是输出一种奖励函数,使策略能够实现最大的适应度分数。在EUREKA的问题设置中,开发人员使用代码指定了奖励设计问题的每个组件。此外,对于指定任务细节的给定字符串,奖励生成问题的主要目标是生成一个奖励函数代码以最大化适应度分数。

接下来,在EUREKA框架中有三个基本的算法组件。进化搜索(迭代地提出和改进候选人)、环境作为上下文(在零样本设置下生成可执行奖励)和奖励反射(实现奖励的精细改进)。算法的伪代码如下图所示。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第3张

环境作为上下文

当前,LLM框架需要环境规范作为设计奖励的输入,而EUREKA框架建议直接将原始环境代码作为上下文输入,而不是奖励代码,将LLM框架视为上下文。 EUREKA采用的方法有两个主要优点。首先,LLM框架主要是为编码目的而训练的,训练数据是用现有的编程语言(如C、C++、Python、Java等)编写的原始代码集,这是它们在直接以它们最初训练的语法和风格进行编码时更擅长生成代码输出的根本原因。其次,使用环境源代码通常会语义上示意涉及的环境和适合在尝试按照指定任务输出奖励函数时使用的变量。基于这些见解,EUREKA框架指示LLM只使用格式提示和通用奖励设计直接返回更可执行的Python代码。

EUREKA框架中包含的进化搜索旨在解决之前提到的次优和执行中出现的错误挑战。每次迭代或时期,该框架从大型语言模型中提供多个独立输出,假设生成都是i.i.d的,随着每个时期样本量的增加,它在迭代过程中指数级地降低奖励函数产生错误的概率。

在下一步中,EUREKA框架使用来自前一次迭代的可执行奖励函数执行上下文奖励变异,然后提出一个基于文本反馈改进的新的奖励函数。EUREKA框架结合在上下文中改进和遵循指令的大型语言模型的能力,可以将变异操作符作为文本提示,并建议使用策略训练的文本摘要来修改现有的奖励代码。

奖励反思

要进行上下文奖励变异的基础是评估生成奖励的质量,更重要的是将它们用文字表达出来。EUREKA框架通过使用数值评分作为奖励评估的简单策略来处理这个问题。当任务适应度函数作为整体指标用来评估时,它缺乏信用分配,无法提供任何有关为何奖励函数有效或无效的有价值信息。因此,为了提供更有针对性和复杂的奖励诊断,该框架建议使用自动化反馈来总结策略训练动态。此外,在奖励程序中,EUREKA框架要求奖励函数单独展示其组件,使得框架可以在整个训练阶段的策略检查点跟踪每个唯一奖励组件的标量值。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第4张

尽管EUREKA框架遵循的奖励函数流程简单构建,但由于优化奖励的算法相关性,它是必要的。这意味着奖励函数的有效性直接受到强化学习算法的选择的影响,而且即使使用相同的优化器,改变超参数奖励可能会有不同的表现。因此,EUREKA框架能够更有效地编辑记录,并合成与强化学习算法更加协调的奖励函数。

培训和基准

欧洲卡林卡(EUREKA)框架有两个主要的培训组成部分:政策学习和奖励评估指标。

政策学习

使用相同的深度强化学习算法以及微调的一组超参数,优化每个单独任务的最终奖励函数。

奖励评估指标

EUREKA框架在每个任务中报告人类归一化分数,用于全面衡量框架在根据基准指标与专家生成的奖励进行比较时的表现。

接下来,还有三个基本基线:L2R,人类和稀疏。

L2R

L2R是一个双阶段大型语言模型提示解决方案,可以帮助生成模板化奖励。首先,一个语言模型框架用自然语言填充一个特定于环境和任务的自然语言模板,然后第二个语言模型框架将这个“运动描述”转换成一个通过调用一组手动编写的奖励API原语编写奖励函数的代码。

人类

人类基线是由深度强化学习研究人员编写的原始奖励函数,因此在人类奖励工程方面表现出了前所未有的水平。

稀疏

稀疏基线类似于适应度函数,用于评估框架生成的奖励的质量。

结果和成果

为了分析EUREKA框架的性能,我们将从不同参数进行评估,包括与人类奖励的性能对比、随着时间的推移结果的改进、生成新的奖励、实现定向改进以及与人类反馈的合作。

EUREKA超越人类奖励

下图展示了在不同基准测试上的总体结果,可以清楚地看到,EUREKA框架在灵巧性和Issac任务上要么优于人类级别的奖励,要么与之相当。相比之下,L2R基线在低维任务上表现相似,但在高维任务上的性能差距相当大。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第5张

持续改进

EUREKA框架的一个重要亮点是其能够在每次迭代中不断改进和提升性能,结果如下图所示。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第6张

可以清楚地看到,该框架每次迭代都会生成更好的奖励,并且通过使用上下文的演化奖励搜索方法,它也改善并最终超越人类奖励的表现。

生成新的奖励

可以通过计算EUREKA框架和人类奖励在所有Issac任务中的相关性来评估EUREKA框架奖励的新颖性。将这些相关性绘制在散点图或图上,与人类归一化分数进行比较,图上的每个点表示每个任务的个体EUREKA奖励。可以清楚地看到,EUREKA框架主要生成与人类奖励功能相关性较弱的奖励函数,但表现更好。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第7张

实现有针对性的改进

为了评估将奖励反馈中添加奖励反思的重要性,开发人员对一个消除了奖励反思的EUREKA框架进行了消融实验,将反馈提示减少到仅包含快照值。在运行Issac任务时,开发人员观察到,没有奖励反思时,EUREKA框架的平均标准化得分下降了约29%。

与人类反馈合作

为了迅速融合各种输入以生成人类对齐且更高性能的奖励函数,EUREKA框架除了自动奖励设计外,还引入了一种新的无梯度上下文学习方法,用于从人类反馈中进行强化学习。开发人员观察到了两个重要发现:

  1. EUREKA可以从人类奖励函数中受益并提高。
  2. 使用人类反馈来进行奖励反思可以引导行为对齐。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第8张

上图展示了EUREKA框架如何通过人类奖励初始化,在性能和效率上取得了显著提升,而无论人类奖励的质量如何,都不会对框架的上下文奖励改进能力产生重大影响。

欲知答案:通过编码大型语言模型实现人类级奖励设计 四海 第9张

上图说明了EUREKA框架不仅能够导致更多与人类对齐的策略,还能通过融合人类反馈修改奖励。

最后的想法

在本文中,我们讨论了EUREKA,一种基于LLM(大型语言模型)的人类水平设计算法,它试图利用LLM框架的各种能力,包括代码编写、上下文改进能力和零-shot内容生成,以对奖励代码进行前所未有的优化。然后,这些框架可以利用奖励代码和强化学习来学习复杂技能或执行操纵任务。在无需人工干预或任务特定提示工程的情况下,该框架在各种任务上提供了人类水平的奖励生成能力,其主要优势在于采用了课程学习方法来学习复杂任务。

总的来说,EUREKA框架的显著性能和多样性表明,结合进化算法和大型语言模型可能会产生可扩展且通用的设计奖励方法,而这种洞察力可能适用于其他开放性搜索问题。

Leave a Reply

Your email address will not be published. Required fields are marked *