本文旨在解决现有大语言模型(LLM)对齐方法(特别是基于人类反馈的强化学习,RLHF)的局限性。
核心问题:
研究目标与创新点 (STEERLM):
基于指令微调的SFT。在多个任务上对语言模型进行微调,使其能够遵循多种类型的指令,并执行其未经训练的任务【25, Sanh et al., 2022, Multitask prompted training enables zero-shot task generalization】【35, Wei et al., 2022, Finetuned language models are zero-shot learners】。然而,当在学术数据集上进行监督微调时,语言模型通常会生成简短且机械化的响应。相比之下,当使用高质量的人类示范进行训练时,模型可以生成高质量的类人响应【6, Conover et al., 2023, Free dolly: Introducing the world’s first truly open instruction-tuned llm】【21, Ouyang et al., 2022, Training language models to follow instructions with human feedback】。Taori等人【30, Taori et al., 2023, Stanford alpaca: An instruction-following llama model】的研究表明,使用OpenAI的text-davinci-003模型生成的数据,可以以一种经济高效的方式训练模型。
近期SFT的流行趋势。仅使用SFT进行模型对齐因其训练设置简单而变得流行。Zhang等人【37, Zhang et al., 2023, Llama-adapter: Efficient fine-tuning of language models with zero-init attention】和Peng等人【22, Peng et al., 2023, Instruction tuning with gpt-4】使用OpenAI模型生成的响应训练模型。Dettmers等人【7, Dettmers et al., 2023, Qlora: Efficient finetuning of quantized llms】和Köpf等人【15, Köpf et al., 2023b, Openassistant conversations – democratizing large language model alignment】使用了众包的Open Assistant数据集,而Zhou等人【39, Zhou et al., 2023, Lima: Less is more for alignment】使用了一个小型的专有数据集。Wang等人【33, Wang et al., 2023b, Self-instruct: Aligning language models with self-generated instructions】和Taori等人【30, Taori et al., 2023, Stanford alpaca: An instruction-following llama model】使用从语言模型自身引导的数据集训练模型。Luo等人【17, Luo et al., 2023, Wizardcoder: Empowering code large language models with evolinstruct】的研究表明,语言模型可以通过在指令的复杂性和广度上进行演化来学习解决复杂的指令。Wang等人【32, Wang et al., 2023a, How far can camels go? exploring the state of instruction tuning on open resources】比较了许多用于使用SFT进行指令调优的开源数据集,但发现它们的表现不及使用RLHF训练的商业模型。
RLHF的成功应用。基于在游戏和机器人模拟中强化学习的基础工作【5, Christiano et al., 2017, Deep reinforcement learning from human preferences】【26, Schulman et al., 2017, Proximal policy optimization algorithms】,许多研究通过给予与响应相对期望度成比例的奖励,成功应用RLHF来提高LLM的指令遵循能力【21, Ouyang et al., 2022, Training language models to follow instructions with human feedback】【1, Bai et al., 2022, Training a helpful and harmless assistant with reinforcement learning from human feedback】。这种方法已被证明有益于下游任务,如问答【20, Nakano et al., 2022, Webgpt: Browserassisted question-answering with human feedback】和摘要【29, Stiennon et al., 2022, Learning to summarize from human feedback】。
RLHF的复杂性与改进尝试。然而,训练设置的复杂性【23, Rafailov et al., 2023, Direct preference optimization: Your language model is secretly a reward model】【28, Snell et al., 2023, Offline rl for natural language generation with implicit language q learning】仍然是RLHF广泛应用的障碍。许多人试图通过将RLHF训练迁移到离线设置【28, Snell et al., 2023, Offline rl for natural language generation with implicit language q learning】、将问题转化为条件序列建模【3, Chen et al., 2021, Decision transformer: Reinforcement learning via sequence modeling】、用标记的偏好数据直接优化LM【23, Rafailov et al., 2023, Direct preference optimization: Your language model is secretly a reward model】或通过对响应进行排序来对齐模型【8, Dong et al., 2023, Raft: Reward ranked finetuning for generative foundation model alignment】【36, Yuan et al., 2023, Rrhf: Rank responses to align language models with human feedback without tears】来克服这一问题,但进展有限【32, Wang et al., 2023a, How far can camels go? exploring the state of instruction tuning on open resources】。
RLHF的单维奖励局限性。相关工作未解决的另一个局限性在于使用单维奖励函数来评估人类对模型响应的偏好,因为人类偏好基于多种现实世界的目标(例如,有用性、幽默、毒性),这些目标在不同领域也有所不同【19, Nadal and Chatterjee, 2019, Neuroaesthetics and art’s diversity and universality】【16, Lopez-Paz et al., 2022, Measuring and signing fairness as performance under multiple stakeholder distributions】。鉴于这种多维属性,当前的方法【1, Bai et al., 2022, Training a helpful and harmless assistant with reinforcement learning from human feedback】【21, Ouyang et al., 2022, Training language models to follow instructions with human feedback】【8, Dong et al., 2023, Raft: Reward ranked finetuning for generative foundation model alignment】【36, Yuan et al., 2023, Rrhf: Rank responses to align language models with human feedback without tears】只能生成具有高奖励分数的响应,尽管在某些情况下,各种属性的低奖励分数也是相关的,例如模拟能够生成高毒性响应的现实游戏NPC。
对话任务中的属性接地。许多研究者探索了在对话任务中将文本与各种属性联系起来。Rashkin等人【24, Rashkin et al., 2019, Towards empathetic opendomain conversation models: A new benchmark and dataset】模拟了基于情感(如‘愤怒’、‘尴尬’或‘喜悦’)的闲聊对话,而Smith等人【27, Smith et al., 2020, Controlling style in generated dialogue】则以对话风格(如‘好奇’、‘同情’或‘知识渊博’)为条件进行闲聊对话。Zhang等人【38, Zhang et al., 2018, Personalizing dialogue agents: I have a dog, do you have pets too?】和Wang等人【34, Wang et al., 2022, Extracting and inferring personal attributes from dialogue】根据个人属性(如爱好)对对话进行条件化。Meta等人【18, Meta et al., 2022, Human-level play in the game of diplomacy by combining language models with strategic reasoning】在“外交”游戏中根据预期的玩家技能对对话进行条件化。
本文方法的扩展性。然而,这种属性接地仅在定义狭窄的、具有单一属性的任务中进行了探索。本文的方法旨在在通用的开放领域对话中,使用多个属性(例如,质量、幽默和毒性)来条件化响应的生成,涵盖代码辅助、写诗和规划等任务。
本文提出了STEERLM,一种简单新颖的语言模型对齐方法,使其能遵循用户指令。该方法仅使用语言建模目标进行训练,相比RLHF等技术,提供了一种计算效率更高的替代方案。STEERLM包含四个步骤,如图2所示。
模型设计与功能。与RLHF中的奖励模型类似,STEERLM中的属性预测模型旨在预测人类对模型响应的偏好,以改进模型对齐。与RLHF中的单一奖励信号相比,属性预测模型可以预测被认为在生成良好响应中很重要的各种属性(高质量、低毒性以及根据上下文变化的幽默水平)。
数据处理与表示。我们使用Open Assistant (OASST) 数据集D,其中每个样本包含一个提示x、一个响应y以及一组属性v。为了对这些属性建模,我们首先将每个属性(最初是0到1之间的浮点数)缩放到0到9之间的整数,然后获得属性值v的线性化表示。我们选择的属性看起来像这样:quality:6,toxicity:0,humor:9,creativity:0,violence:0,helpfulness:5,not_appropriate:0。
模型训练目标。在给定提示x和响应y的条件下,属性v是语言模型的目标输出,如公式1所示。
标注的目的。与直接使用人类标注的属性相比,训练一个属性预测模型可以为其他数据集(例如HH-RLHF数据集)进行标注。这有助于提高训练数据的多样性,这对于步骤3的属性条件SFT至关重要。此外,研究观察到,众包的人类标注数据经常存在噪声,这源于指令误解、标注响应时缺乏足够的专业知识/教育以及语言理解能力有限等因素【14, Köpf et al., 2023a, Openassistant conversations – democratizing large language model alignment】。此外,标注者之间缺乏校准,一些人在分配满分时会采用更严格的标准【1, Bai et al., 2022, Training a helpful and harmless assistant with reinforcement learning from human feedback】【21, Ouyang et al., 2022, Training language models to follow instructions with human feedback】。通过使用属性预测模型,可以通过去噪人类标注的属性并校准不同标注者的分数来缓解这些问题。
标注过程。我们通过使用属性预测模型对提示和响应对进行贪婪解码来标注样本,从而获得属性值,如公式2所示,以构建属性标注数据集D'。
方法概述。属性条件SFT是常规SFT的扩展,它通过属性标签来整合奖励信号信息。这使得模型能够从高质量和低质量的响应中学习,其方式类似于已建立的SFT+RLHF流程【1, Bai et al., 2022, Training a helpful and harmless assistant with reinforcement learning from human feedback】【21, Ouyang et al., 2022, Training language models to follow instructions with human feedback】。
与RLHF的比较。属性条件SFT只需要一个离线标注的数据集(如步骤2中创建的),而不需要像RLHF那样进行在线采样和评估响应。通过采用纯离线训练方法,这大大简化了与RLHF异构设置相比的训练配置。特别是,它避免了在线数据生成/评估的复杂性,并消除了RLHF中由内存带宽限制的在线推理导致的训练缓慢问题。
训练目标。使用步骤2中得到的属性标注训练数据集D',我们训练一个模型来生成响应y,该模型以属性值v和提示x为条件。损失函数如上所示。
目标类比RLHF。通过对策略网络进行采样,RLHF能有效地探索语言模型的响应空间,并识别出各种质量的响应。这些响应样本随后被用来根据其奖励值影响和塑造语言模型的行为。在STEERLM的步骤4中,目标是通过利用前几个步骤中的属性条件SFT和属性预测模型来实现类似的目标。
步骤4a:生成和评估多样化的高质量响应。为确保获得多样化的响应集,我们首先从用于训练的标注数据集中枚举出所有可能的属性值组合。通过将组合筛选为明确要求“质量”值为9(即最高可能值),我们得到了一个代表高质量集的属性字符串子集V。我们从这个高质量集V中均匀采样以获得属性字符串v'。通过将v'与来自相同训练数据集的提示相结合,我们使用top-k(=50)采样方法,通过属性条件监督微调来生成多个响应,如公式3所示。
这个过程使我们能为每个提示获得各种各样的响应,并增加了采样数据集D'' = {(x, y')}的多样性。随后,我们使用属性预测模型(§3.1)和贪婪采样来评估生成的响应y',从而得到预测的属性值v'',如公式4所示。
这为我们提供了数据集D''' = {(x, y', v'')},其中每个元组包含来自原始训练数据集的提示、一个采样的响应及其对应的预测属性值。
步骤4b:第二轮SFT。我们使用来自D'''的采样响应和相应的预测属性进行第二轮属性条件SFT,这实际上使我们能够利用模型自身的响应来引导模型的训练,具体过程如公式5所示。
评估方法:
主要结果
消融研究 (Ablation Study)
可控性演示 (Steerability Demonstration)
模板结构。我们使用以下提示模板来训练价值模型。编码后的价值字符串以红色标记,并用于计算语言模型损失。
<extra_id_0>System
[系统提示]
<extra_id_0>[用户名]
[用户提示]
<extra_id_1>[助手名]
[助手响应]
<extra_id_2>[编码后的价值属性]
<extra_id_0>[用户名]
[用户提示]
<extra_id_1>[助手名]
[助手响应]
<extra_id_2>[编码后的价值属性]
模板结构。SteerLM ACSFT的提示模板与A.1节中属性预测模型的提示模板相似,但我们交换了助手响应和编码价值字符串的位置。语言模型损失是在助手响应上计算的,如红色高亮部分所示。
<extra_id_0>System
[系统提示]
<extra_id_0>[用户名]
[用户提示]
<extra_id_1>[助手名]
<extra_id_2>[编码后的价值属性]
[助手响应]
<extra_id_0>[用户名]
[用户提示]
<extra_id_1>[助手名]
<extra_id_2>[编码后的价值属性]
[助手响应]
标注成本对比。虽然本研究没有收集新数据,但希望收集新数据的用户会发现SteerLM的标注成本远低于RLHF。SteerLM仅要求为每个提示-响应样本标注其感兴趣的属性。而RLHF要求对每个提示的k个响应进行成对比较(其中k=4-9),实际上每个提示需要进行 $\binom{4}{2}=6$ 到 $\binom{9}{2}=36$ 次标注【21, Ouyang et al., 2022】。RLHF还依赖于迭代的数据收集方法,随着actor(语言模型)的改进,critic必须不断重新训练【21, Ouyang et al., 2022】【1, Bai et al., 2022】【31, Touvron et al., 2023】。
SteerLM的优势。相比之下,SteerLM只需要一次性数据收集,因为每个响应都是在绝对尺度上独立评分,而不是与其他响应进行比较。因此,为SteerLM收集数据集的标注成本大约比RLHF低一个数量级。
实验设置。为了更好地理解模型规模对性能的影响,我们还在更小的基础模型(8B和22B)上训练了SteerLM,这些模型的预训练方式与43B基础模型相似。然后,我们将其与表现最佳的基线模型(Guanaco 65B)的较小版本(7B、13B和30B)进行比较。
实验结果。如图3所示,在每个可比较的模型规模上,SteerLM的性能都优于Guanaco。
此节仅包含一张人类标注界面的截图,如图4所示。
问题: 在家工作时如何提高我的生产力?
SteerLM 43B 响应:
这里有一些在家工作时提高生产力的技巧:
1. 创建专用工作空间: 有一个专用的工作空间可以帮助你集中精力,避免分心。在你家里选择一个安静舒适的地方,并用所有必要的工具和设备设置好你的工作空间。
2. 遵守时间表: 建立一个日常作息并坚持下去。设定具体的工作时间并遵守。定期休息,并安排午餐和其他活动的时间。
3. 消除干扰: 通过关掉手机、关闭电脑上不必要的标签页,并告诉家人和朋友你正在工作,不能被打扰,来最大限度地减少干扰。
4. 照顾好你的身体健康: 定期休息以伸展和活动。定期锻炼和吃健康食品以保持精力充沛。
5. 保持联系: 定期与你的同事和客户沟通。使用视频通话和即时消息来保持联系,避免误解。
6. 设定明确的目标: 为每天或每周设定具体且可实现的目标。将大任务分解成小任务,并根据重要性和紧迫性对任务进行排序。
7. 使用生产力工具: 有许多可用的生产力工具可以帮助你保持组织和专注。使用日历、待办事项列表和项目管理软件等工具来跟踪你的工作。
8. 休息: 定期休息可以帮助你保持专注和高效。大约每小时休息一次,伸展一下腿,呼吸新鲜空气,或者吃点零食。
9. 保持动力: 找到保持动力和灵感的方法。设定短期和长期目标,庆祝你的成功,并找到奖励自己出色完成工作的方法。
10. 保持灵活性: 在家工作可能具有挑战性,所以要保持灵活性,并适应出现的变化。对新想法和新方法持开放态度,并且在需要帮助时不要害怕求助。
ChatGPT 3.5 响应:
在家工作时有几种方法可以提高生产力:
1. 建立常规: 每天在特定时间开始和结束工作,就像在办公室工作一样。
2. 创建指定的工作空间: 设置一个没有干扰的工作空间,并配备完成工作所需的一切。
3. 优先处理你的任务: 在每天开始时制定一个待办事项列表,并根据其重要性对任务进行排序。
4. 休息: 定期休息以放松你的大脑和伸展你的身体,这有助于提高你的注意力和生产力。
5. 减少干扰: 在工作时间内避免社交媒体、电视或家务等干扰。
6. 使用生产力工具: 网上有几种生产力工具,如时间跟踪器、任务管理应用程序和项目管理软件,可以帮助提高你的生产力。
7. 与同事沟通: 定期与同事保持联系,以保持联系并避免感到孤立。
记住,每个人的生产力习惯都不同,所以找到最适合你的方法并坚持下去。