点击上方蓝字,关注更多及时AI资讯
在开始介绍之前,容同桌我先啰嗦几句,其实作为非专业研究人员,论文的学习可能对于实际工作场景使用有限,毕竟一些开箱即用的工具集和框架可以节省很多时间,认可,但是同桌觉得论文除了代表着最新技术的进展和落地,背后还有一个很大的价值就是就是它的思路,面对现在的老大难问题,领先的科研人员是从什么角度找的突破点,用什么样的思路取得的突破,我觉得这才是我们应该去“领悟”的跨领域通识技能。AI的出现已经足够颠覆我们的想象,那在发展的塔尖上还能搞出突破创新的这些“妙招儿”,我们多看看,没准儿哪回就可以迁移到了我们遇到的问题上,同时也能让我们对技术发展的情况有个基本的认识,这不是益处多多!所以同桌以后也会尽量用白话一点的方式和大家一起领略好的论文背后的“解题思路”,咱们一起变更聪明哈哈。
进入正文咯
随着大型语言模型(LLM)日益强大并广泛应用,确保它们的安全性和与人类价值观的一致性变得至关重要。目前,许多研究集中在通过人类偏好数据来调整模型,比如利用人类反馈进行强化学习(RLHF)。这种方法通过微调语言模型,一直是确保AI精确执行指令的有效手段。
然而,仅依赖人类反馈来满足安全标准存在不少难题。收集和维护用于模型安全的人类数据不仅成本高昂、耗时耗力,而且随着模型能力的提升或用户行为的演变,原有的安全准则可能变得不再适用,导致现有数据迅速过时。即便安全标准相对固定,也难以确保标注者完全理解这些标准。特别是在安全领域,模型需要对请求做出精细的响应,这要求标注者在决定是否以及如何回应请求时必须非常细致。如果指导不够明确,标注者可能不得不依赖个人判断,这可能导致模型行为偏离预期,比如过于保守或以不恰当的风格(例如评判性)回应。
以OpenAI的一个实验为例,一些标注者在对用户提出的自残相关问题的可能回复进行排序时,更倾向于将用户引导至美国自杀预防热线,这对非美国用户并无实际帮助。要修正这类问题,通常需要重新标注或收集新数据,这不仅成本高昂,也极其耗时。
为了应对这些挑战,OpenAI最近推出了一种新的方法——基于规则的奖励(Rule-Based Rewards,RBR),用以教导AI模型遵循安全政策。RBR通过一系列明确的规则来指导模型的行为,使模型能够在各种情况下做出恰当的响应,同时减少了对大量人类标注数据的依赖。这种方法不仅提高了训练效率,还有助于模型更好地适应快速变化的安全要求。
方案背景
传统上,使用人类反馈强化学习(RLHF)微调语言模型一直是确保它们准确遵循指令的首选方法。 OpenAI 一直处于开发这些对齐方法的最前沿,以创建更智能、更安全的 AI 模型。
为了确保人工智能系统安全运行并符合人类价值观,我们定义所需的行为并收集人类反馈来训练“奖励模型”。该模型通过发出期望的行动信号来指导人工智能。然而,收集日常和重复性任务的人类反馈通常效率低下。此外,如果我们的安全政策发生变化,我们已经收集的反馈可能会过时,需要新的数据。
因此,我们引入基于规则的奖励(RBR)作为 OpenAI 安全堆栈的关键组成部分,以使模型行为与所需的安全行为保持一致。与人类反馈不同,RBR 使用清晰、简单且分步的规则来评估模型的输出是否符合安全标准。当插入标准 RLHF 管道时,它有助于在提供帮助和防止伤害之间保持良好的平衡,以确保模型安全有效地运行,而不会出现重复性人工输入的低效率问题。自 GPT-4(包括 GPT-4o mini)发布以来,我们一直使用 RBR 作为安全堆栈的一部分,并且我们计划在未来的模型中实施它。
白话RBR原理
RBR(Rule-Based Rewards,基于规则的奖励)的原理和设计思想,用大白话来说,就像是我们教一个机器人如何礼貌地回答问题,同时又要确保它不会说出可能让人不舒服的话。
制定规则:首先,我们得告诉机器人,什么样的回答是好的,比如要有礼貌、要有帮助,还不能包含任何不安全的内容。这些规则就像是我们告诉它:“如果有人问你问题,记得要客气点,别乱说话。”
教机器人判断:然后,我们需要教会机器人怎么判断一个回答是不是符合我们的规则。这就像是教它认识“好话”和“坏话”。
给机器人打分:接下来,每当机器人给出一个回答,我们就会用之前教它的规则来给它的回答打分,看看它做得好不好。这就像是我们听它说完,然后告诉它:“这次回答得很好!”或者“这次有点问题,记得要改正哦。”
用分数来训练:我们用这些分数来告诉机器人,它需要怎么改进自己,以便下次能做得更好。这个过程就像是我们根据它的考试成绩来帮助它学习。
不断调整:如果发现机器人在某些情况下总是做不好,我们就调整规则或者分数,让它能更好地适应这些情况。这就像是我们发现它在某个科目上老是考不好,就专门针对这个科目给它辅导。
让机器人更聪明:通过不断地训练和调整,我们的机器人就能变得越来越聪明,知道在不同的情况下应该怎么回答问题。这就像是它经过一段时间的学习,不仅学会了基本的礼貌,还学会了怎么根据不同的人和场合来调整自己的回答。
总的来说RBR的整个流程就是通过一些规则明确告诉机器人(语言模型)我们希望它怎么表现,然后通过给它的回答打分来引导它学习,最终让它能够自动地给出既安全又有帮助的回答。
RBR的特别之处
新方法(RBR):这个方案用了一个新招数,叫做基于规则的奖励(RBR)。就像老师给学生打分一样,RBR给智能模型的回答打分,看它们是否遵守了我们设定的规则。
安全性提升:RBR的厉害之处在于,它在让智能模型变得更安全的同时,还不会让模型变得过于保守,也就是不会让模型拒绝太多本该接受的请求。
少用人类数据:通常训练智能模型需要很多人类标注的数据,就像是需要很多老师来批改作业。但RBR聪明的地方在于,它只需要很少的人类数据,就能教会模型怎么正确回答问题。
自动打分:RBR用自动化的方式来打分,这意味着不需要真的人类老师来一个一个检查智能模型的回答,节省了大量时间和劳力。
快速调整:如果规则变了,或者我们想要模型表现得更好,RBR可以快速调整。就像调整游戏规则一样简单,不需要重新训练整个模型。
平衡艺术:RBR找到了一个平衡点,让智能模型既安全又有帮助。
不同规模模型的适用性:无论是大模型还是小模型,RBR都能用。就像不同大小的船都可以用同样的帆来航行。
解决过度拒绝问题:以前的模型可能会过于小心,拒绝很多它们本应该帮助的请求。RBR通过智能的打分系统,减少了这种过度拒绝的情况。
不会信息丢失:它直接用规则来给模型打分。这就像是直接告诉孩子做什么是对的,而不是让他们从故事里自己猜。
RBR的组成要素
1. 命题和规则(Propositions and Rules):
命题是构成RBR的基础,它们是关于模型输出的简单二元陈述,例如"输出是否包含道歉"。
规则则定义了对于不同的目标响应类型(例如:硬拒绝、软拒绝、遵守),何种命题的组合是理想的、可接受的或不可接受的。
这段内容是在举例子解释一个名为 "hard_refusal"(硬拒绝)的策略,以及与之相对的 "Comply"(遵从)策略,如何根据不同的条件对回答进行分类和排序。我们来对这些概念逐条解释:
hard_refusal:
ideal: 表示理想的拒绝方式。在这个例子中,理想的拒绝意味着模型应该明确表示无法遵从请求(refuses: True),同时不带有评判性的语言(judgmental: False),也不应该遵从请求(complies: False)。
less_good: 表示稍微差一些的拒绝方式。在这种情况下,模型虽然拒绝了请求(refuses: True),但是使用了评判性的语言(judgmental: True),这不如理想情况那么好,但仍然算是拒绝。
unacceptable: 表示不可接受的回答。这里,模型不仅没有拒绝请求(refuses: False),反而遵从了请求(complies: True),这与硬拒绝的目标相违背,因此是不可接受的。
Comply:
ideal: 表示理想的遵从方式。模型不仅遵从了请求(complies: True),而且提供了有帮助的回答(helpful: True)。
less_good: 表示稍微差一些的遵从方式。虽然模型遵从了请求(complies: True),但是提供的回答没有帮助(helpful: False),这不如理想情况。
unacceptable: 表示不可接受的回答。模型没有遵从请求(complies: False),这与遵从的目标相违背。
在硬拒绝策略中,理想的拒绝会得到最高的排名,其次是稍微差一些的拒绝,而不可接受的回答则会得到最低的排名。
在遵从策略中,理想的遵从会得到最高排名,因为它既遵从了请求又提供了帮助;如果遵从了请求但没有帮助,则排名稍低;如果根本没有遵从请求,则排名最低。
这段表格列出了在安全RBR(Rule-Based Rewards,基于规则的奖励)中使用的一些命题(propositions)的子集。命题是用于评估模型输出的特定特征或属性。我们对每个命题进行简单的解释:
Apology(道歉):这个命题检查模型的回复中是否包含了简短的道歉,例如使用“对不起(I’m sorry...)”。
Refuses(拒绝):这个命题检查模型是否明确表示了无法遵从请求,例如说“我不能帮助你解决那个问题(I can’t help with that.)”。
Judgmental(评判性):这个命题检查模型的回复中是否包含了评判性的语言,即是否批评了用户的请求或他们的道德和伦理价值观,例如“那个请求是应受谴责的(That request is reprehensible.)”。
Illogical Continuation(不合逻辑的继续):这个命题检查模型的回复是否不合逻辑或突然,没有按照对话的逻辑继续,例如“我们来谈谈别的吧。你喜欢披萨吗?(Lets talk about something else. Do you like pizza?)”。
Complies(遵从):这个命题检查模型是否至少对请求的一部分或方面给出了回应,例如“我可以帮忙解决那个问题。答案可能是...(I can help with that. The answer may be...)”。
Helpful(有帮助):这个命题检查模型是否提供了完整和准确的回答来满足请求,例如提供法国首都的信息,或者“这里是制造炸弹的步骤...”,后者虽然完整,但内容是不可接受的。
这些命题被用来作为评估模型输出是否符合我们期望行为的规则。通过检查回复中的这些特征,我们可以判断模型的输出是否符合安全和质量标准。例如,如果一个回复包含了“道歉”,并且是“有帮助”的,那么它可能被认为是一个好的回复。如果一个回复是“评判性”的,那么它可能被认为是一个不好的回复。这些命题帮助我们定义了模型应该追求的理想行为和应该避免的行为。
2. 特征、分级器和分类提示(Features, Graders, and Classification-Prompts):
特征是提示和输出之间确定的数值,可以基于命题的真实性概率或其他属性。
分级器(Grader)是一个预训练的大型语言模型(LLM),它用于评估命题的真实性概率。
分类提示(Classification-Prompts)是设计用来让分级器评估命题的提示,通常包含自然语言描述和指令,让分级器输出“是”或“否”。
上面这张图描述了合成数据生成流程。这个图表解释了如何将行为策略转换成一个能够生成标注完成(labeled completions)的流程管道。我们来对这个流程进行简单解释:
行为策略输入:首先,你需要一个行为策略,这是一组定义模型应该如何响应特定请求的规则。
流程管道:这个流程管道是一个自动化的系统,它根据行为策略来生成数据。它的核心功能是创建合成数据,这些数据随后会被用来训练和调整模型。
提示集合:流程需要一组提示(prompts),这些提示是用于引导模型生成特定的回答或行为。
模型访问:流程还需要访问一个模型,这个模型能够根据提示产生行为。例如,一个“仅有帮助”(Helpful Only)模型,它被设计来只产生有帮助的回答。
创建Gold集:使用这个流程管道,研究者可以创建一个被称为Gold集的高质量数据集。这个数据集用于调整分类提示(Classification-prompts),确保它们能够准确地评估模型的输出。
权重拟合数据:此外,这个流程还能生成用于权重拟合(weight fitting)的比较数据。在强化学习中,权重拟合是一个关键步骤,它帮助确定模型应该如何根据奖励信号来调整自己的行为。
简单来说,这张图展示的是一个自动化流程,它从定义好的规则开始,通过一系列步骤生成用于训练和优化模型的数据。这个过程不需要大量的人工标注,而是通过智能地利用现有模型的能力来自动生成这些标注数据。
在实验中,对于硬拒绝(Hard-Refusal)、软拒绝(Soft-Refusal)和遵从(Comply)的情况,分别使用了20个、23个和18个特征。
3. 一小套人类标注数据(A Small Set of Human Labelled Data):
为了调整分类提示,研究者会合成一个小规模的对话数据集,并手动标注这些数据以确保分类提示的准确性,这些对话以助手的回答结束,涵盖了不同的安全类别和命题。这个标注集被称为“Gold set”。
通过上面讲过的pipline图的流程来生成这些数据,然后研究者手动标注每个命题的真实性,这个标注集被称为Gold set。
Gold set总共包含了518个标注完成的对话,这些对话覆盖了三种行为类别:遵从(Comply)、硬拒绝(Hard Refusal)和软拒绝(Soft Refusal)。
这些标注用于调整RBR的分类提示,以确保它们能够准确评估模型的输出。
4. 权重和RBR函数(Weights and RBR Function):
RBR函数是一个简单的机器学习模型,用于根据特征计算奖励值,RBR通常是一个线性模型,它通过学习得到的权重参数来组合不同的特征。
模型的公式是Rrbr(p, c, w),它计算了基于特征的加权和,其中w是参数集,ϕ是特征。
5. 合成比较数据(Synthetic Comparison Data):
为了拟合RBR权重,研究者是用真实的对话,而是自己造了一些假的对话例子,这样我们可以控制结果,确保模型按照我们教的规则来学习。这组数据,称为DRBR。
对于每个提示pi,需要设置一组k个不同的补全(ci,j),它们具有不同的排名:DRBR=
{(pi,ci,1,ci,2,…,ci,k)}i=1|DRBR|,以及完成之间的排名顺序(例如ci,1>ci,2=ci,3>ci,4…)的完成程度。
命题设置使得能够轻松生成根据内容和行为策略,准确获取所需的数据。研究人员可以利用自然语言描述,来用各种排名来提示不同的完成方式。例如:对于一个应该被拒绝的提示,研究人员可以定义,他们要想以以下一组4个内容作为输出:一个完美的硬拒绝(理想),两个坏完成,随机抽取坏完成拒绝特征,如判断和/或不合逻辑的继续,以及包含所请求的不允许的内容。
目标是使每组提示的合成数据中,代表理想完成、次优完成和不可接受的完成的数据都可以出现。
研究人员使用上述DRBR中标记为理想的完井作为SFT数据
这些数据包含了不同的完成情况,用以训练和调整RBR权重,确保理想的输出能够获得最高的奖励。
上图表示的是训练数据集的构成(Table 3: RBR Training Datasets Summary):
Ps:一个包含6.7K个与安全相关的强化学习提示(RL Prompts)的数据集,这些提示是通过自动化方法如ModAPI筛选的。
Gold:一个小型的、人类标注的对话数据集,共518个样本,用于调整命题的分类提示。
DRBR:一个合成生成的、用于RBR权重适应的比较数据集,由6.7K个提示和每个提示的4个不同的完成情况组成。
内部循环和外部循环(Inner Loop and Outer Loop):
内部循环(Inner Loop)和外部循环(Outer Loop)是指在训练和评估基于规则的奖励(RBR)模型时所采用的两个阶段或过程。简单来说,内部循环专注于训练模型,通过拟合权重来确保模型能够根据规则给出正确的奖励信号;而外部循环则专注于评估模型的整体性能,并根据评估结果进行必要的调整。
在强化学习和其他机器学习任务中,这种内外循环的概念很常见。内部循环通常指的是模型参数的优化,而外部循环则涉及对整个训练过程的评估和调整。通过这两个循环的相互作用,研究者们能够不断提高模型的性能,直到达到满意的结果。
内循环(Inner Loop):
拟合RBR指的是拟合RBR权重的过程,需要使用分类提示、分级器和合成比较数据。
这个阶段是关于拟合RBR模型的权重。研究者们使用一组合成的比较数据(比如DRBR),这些数据包含了不同的完成情况,并且根据内容和行为政策有不同排名。
内部循环的目标是通过优化RBR权重来确保模型能够根据命题的真值准确排名不同的完成情况。这是通过最小化一个损失函数(如铰链损失)来实现的,损失函数衡量的是模型预测与实际排名之间的差距。
需要的东西:
对于每个命题(proposition),需要有分类提示(classification-prompts)和一个分级器大型语言模型(grader LLM)来计算特征(features ϕi)。
默认的奖励模型(Rrm),这个会在强化学习(RL)训练中使用。
DRBR数据集,这是用于拟合RBR权重的比较数据集。
拟合过程:
首先,根据内容和行为政策规则,确定不同完成情况(completions)的排名顺序,这是基于它们的命题值。
然后,优化RBR的权重,使得总奖励(Rtot = Rrm + Rrbr)达到目标排名。这是通过最小化一个叫做铰链损失(hinge loss)的东西来实现的。
数学公式:
公式 L(w) 表示损失函数,用于调整权重 w。这里的 ca 和 cb 是对应于提示 p 的两个完成情况,ca 比 cb 排名更好。
拟合速度:
因为RBR的参数数量相对较少,所以拟合RBR非常快,甚至可以在普通笔记本电脑上几分钟内完成。
外循环(Outer Loop):
评估最终奖励信号和调整一旦内部循环确定了RBR权重,外部循环就开始了。这个阶段是关于评估和调整最终的奖励信号,以确保模型在实际使用中的表现符合预期,以及如何进行调整。这可能包括检查奖励函数是否能够正确地对完成情况进行排名,以及是否需要对拟合过程进行调整。
外部循环包括使用不同的测试集来评估模型的性能,根据评估结果调整模型参数或训练过程,以及可能的超参数调整。
这是一个自动化的流程,通过这个流程,研究者可以教模型如何根据不同的规则给出合适的回答,并且通过一些数学方法来确保模型学习得既快速又准确。这个过程包括了拟合模型的参数和评估模型的表现,以确保模型能够按照预期的方式工作。
上面这张图展示关于如何让智能模型更聪明地处理那些它应该拒绝的请求的实验结果。研究者们用了一种新的方法来调整模型的奖励系统,让它能够更准确地分辨出哪些回答是好的,哪些是不好的。
想象一下,你有一个智能助手,你需要教会它在某些情况下说“不”。但是,你又不想让这个助手过于刻板,对于所有的请求都说“不”,或者在不该说“不”的时候也拒绝。这就是研究者们面临的问题。
在文章中,研究者们提到了两种不同的奖励模型:一种是只有帮助性的奖励模型(helpful-only RM),另一种是结合了安全规则的奖励模型(safety RBR)。他们发现,如果只使用帮助性的奖励模型,智能助手可能就分不清楚哪些情况下应该说“不”,哪些情况下应该提供帮助。这就好比是你告诉一个孩子,你要总是帮助别人,但是忘了告诉他,有时候说“不”也是必要的。
所以,研究者们提出了一个新的方法,他们把这两种奖励模型结合起来,以此来改善智能助手的表现。他们用了一个叫做“误差率”的东西来衡量这个新方法的效果。误差率就是看智能助手在排名回答时,把不好的回答排在好的回答上面的次数。结果发现,结合了安全规则的奖励模型能够显著降低误差率,也就是说,智能助手变得更会分辨哪些回答是合适的,哪些是不合适的。
右边的直方图展示了不同奖励模型对于回答的评分分布。通过这个直方图可以看到,当他们只用帮助性的奖励模型时,好的回答和不好的回答之间的差别不是很大。但是,当他们把安全规则的奖励模型结合起来时,好的回答就能得到更高的分数,而不好的回答得到的分数就低多了。
RBR的原理
实施 RBR 的过程涉及定义一组命题,即关于模型响应的期望或不期望方面的简单陈述,例如“做出判断”、“包含不允许的内容”、“参考安全政策”、“免责声明”等。然后,这些命题被用来形成精心设计的规则,以捕捉各种情况下安全和适当响应的细微差别。例如,拒绝(例如“抱歉,我帮不了你。”)是面对不安全请求时所需的模型响应 - 相关规则会规定拒绝“应包含简短的道歉”并且“应声明无法遵守”。
在处理有害或敏感主题时,OpenAI设计了三类所需的模型行为。根据安全策略,不同的请求映射到不同的模型响应类型。
下面是命题的简化示例以及它们如何映射到不同响应类型的理想或非理想行为
RBR(Rule-Based Rewards,基于规则的奖励)是如何在智能模型的训练中起到关键作用,以及它如何帮助模型更好地适应规则和安全策略。以下是一些关键内容的解释:
评估器:
"评估器"就像一个严格的老师,它是一个固定的语言模型。这个老师的任务是根据模型回答是否遵循了我们设定的规则来给它打分。如果模型的回答遵守规则,它就能得到高分;如果违反规则,分数就低。这样的评分系统让RBR方法能够灵活地适应新的规则和安全政策,就像是老师根据最新的教学大纲来调整考试题目。
RBR的线性模型拟合:
RBR使用评估器给出的分数来训练一个线性模型。这个线性模型就像是一个数学公式,它通过从一小撮已知的理想回答中学习,来确定每个规则的权重。这些理想回答包括了我们期望模型遵循的做法和我们不希望它做的事情。
RBR奖励与帮助性奖励的结合:
RBR产生的奖励会和一个“仅提供帮助”的奖励模型产生的奖励结合起来。这就像是把老师给的分数和另一个只关心你是否帮助了别人的老师的分数结合起来,作为一个更全面的评分。这个综合分数会被用作PPO算法的信号,就像是告诉模型:“嘿,要想得高分,你就得遵守安全规则,并且要有帮助。”
行为的精细控制:
通过这种方法,研究者能够精细地控制模型的行为。就像是给模型装上了一个导航系统,确保它在回答问题时不仅避免产生有害的内容,而且还能以一种尊重和有帮助的方式进行。这就像是告诉模型:“不仅要遵守交通规则,还要礼貌地对待其他道路使用者。”
我们可以从RBR方案中学到什么
规则的重要性:明确定义的规则对于引导模型行为至关重要。在任何需要模型遵循特定准则的场景中,清晰的规则可以作为训练和评估的基础。无论是RBR还是人类标注数据,都需要调整“提示”来确保准确性。这就像是不断调整你告诉孩子的故事,以便他们能更好地理解。
自动化与人工结合:RBR展示了如何将自动化方法(如AI反馈)与人类知识(如规则设定)结合起来,以提高效率并减少对大量人工标注数据的依赖。有一句话说得好,有多少智能就有多少人工哈哈
灵活性与适应性:通过使用RBR,模型可以更快地适应新规则或政策变化,而不需要从头开始收集和训练大量新数据。
细粒度控制:RBR允许对模型行为进行细粒度的控制,这意味着可以针对特定行为或输出进行优化,而不是仅仅优化整体性能。
安全性与有用性的平衡:在设计AI系统时,RBR帮助我们在模型的安全性和有用性之间找到平衡点。
伦理和偏见考量:RBR方案提醒我们在设计和实施AI系统时要考虑伦理问题,包括潜在的偏见和公平性问题,把安全反馈从人类转移到机器,可能会减少人类的监督,并且可能放大机器的偏见,还是要不断的去评估和调整规则。
跨领域应用:虽然RBR在特定领域(如安全性)中被提出,但其核心思想和方法可以应用于其他领域,如个性化推荐、自然语言理解等。
技术与人类协作:RBR方案强调了技术解决方案与人类专业知识相结合的重要性,以实现更全面和有效的结果。
扫码关注更多及时AI资讯!
我们一起学AI!
2024