普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

自 ChatGPT 等大型语言模型推出以来,为了提高模型效果,各种指令微调方式陆续被提出。本文中,普林斯顿博士生、陈丹琦学生高天宇汇总了指令微调领域的进展,包括数据、算法和评价等。图源:(LLM)很强大,但要想真正帮助我们处理各种日常和工作任务,指令微调就必不可少了。近日,普林斯顿大学博士生高天宇在自己的博客上总结了指令微调研讨方向的近期进展并介绍了其团队的一项近期研讨成果。具有十亿级参数且应用万亿级 token 训练的大型语言模型(LLM)非常强大,直接就能用于解决大量不同的任务。但是,要用于真实世界应用以及作为

自 ChatGPT 等大型语言模型推出以来,为了提高模型效果,各种指令微调方式陆续被提出。本文中,普林斯顿博士生、陈丹琦学生高天宇汇总了指令微调领域的进展,包括数据、算法和评价等。

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价图源:https://twitter.com/gaotianyu1350/status/1731651192026247435

大型语言模型(LLM)很强大,但要想真正帮助我们处理各种日常和工作任务,指令微调就必不可少了。近日,普林斯顿大学博士生高天宇在自己的博客上总结了指令微调研讨方向的近期进展并介绍了其团队的一项近期研讨成果。

具有十亿级参数且应用万亿级 token 训练的大型语言模型(LLM)非常强大,直接就能用于解决大量不同的任务。但是,要用于真实世界应用以及作为通用任务求解机,LLM 就必须学会听从用户指令并以一种连贯且有用的方式进行响应,而不是仅仅作为一只「随机鹦鹉」,学舌来自互联网的混乱语言模式。

因此,开放式指令微调(InstructGPT)变成了一种颇具潜力的方式,这种方式的目标是让 LLM 能听从用户指令并以一种有助益、诚实且无害(即 Anthropic 的 HHH 指标)的方式给出响应。ChatGPT 取得巨大成功之后,人们对指令微调的兴趣进一步提高。开放式指令微调通常包含两个阶段:

基于收集到的用户指令和标准响应对模型进行监督式微调(SFT)。   

将模型与人类偏好对齐(这方面的主要方式是根据人类反馈的强化学习 / RLHF)。这通常需要人类偏好数据,其中包含一对响应以及一个标注(评释哪个响应更好)。

众所周知,收集监督式微调或偏好数据的成本非常高,因此一直以来都只有大企业承担得起;直到 2023 年,人们找到了更低成本的构建此类数据的方式。自此,许多用于开发指令微调模型的开源项目应势而生。下面将分四部分介绍这些项目:SFT 数据、偏好数据、算法和评价。最后,作者还将介绍他们在指令听从评价方面的最新研讨成果,其中评释:设置正确的评价器很重要,否则就可能得到误导性的结果。

监督式微调(SFT)数据

一般来说,监督式微调的目的有两种,分别对应于两种类型的数据。一种是进一步提高 LLM 的一般语言理解能力,HellaSwag 和 HellaSwag 等传统 NLP 基准便是为了这样的目的。另一种则是为了让 LLM 听从指令、获得对话能力、变得有用和无害。

与第一种目的相对应的是多任务指令微调数据,这在 2020-2022 年间得到了人们的大力探索。这些数据是将数以千计的 NLP 任务组合起来并为每一个任务提供一个自然语言指令,然后人们就能在这个组合上以多任务的方式训练模型。Sebastian Ruder 在其博客中进行了更透彻详细的回顾。

博客地址:https://nlpnewsletter.substack.com/p/instruction-tuning-vol-1

代表性的数据集包括 Natural Instruction、T0、Flan。不同于开放式指令微调,这些数据集 / 模型更面向传统 NLP 任务(问答、自然语言推理等),其中的指令往往更短 / 更简单 / 种类更少 —— 想象一下「对这个句子进行情绪分类」与「应用 Jekyll 给我写一个与 OpenAI 博客风格类似的个人网页」之间的区别。因此,在这些数据集上训练的模型往往无法部署成如今的「指令微调」模型或聊天机器人,即便它们在 NLP 基准上表现很好。

Wang et al., 2023 (TÜLU) 评释:如果将这些数据集与新的开放式指令微调数据集组合起来,可以提高模型的一般语言理解能力和指令听从能力。Mukherjee et al., 2023 (Orca) 发现如果应用这些数据作为种子,提示 GPT-4 来输入带解释的答案以及模仿 GPT-4 的响应,可以显著提高较弱模型的性能。Stable Beluga 等一些公共指令微调模型便采用了这种数据混合方式。

下面来谈谈开放式指令微调数据,其在 2023 年尤为兴盛(下面将应用 SFT 数据指代开放式指令微调数据)。人们普遍相信应用这些数据训练不会提高 LLM 的「知识」(反映为在传统基准上的分数),而只是会「引导」它们听从指令听从或对话格式、获取引人互动的语调、变得有礼貌等等(表面对齐假设;Zhou et al., 2023 的《LIMA: Less Is More for Alignment》)。

收集 SFT 数据的成本很高,因为这既需要收集用户指令,也需要标注演示数据。对开源模型而言,一种获取开放式指令微调数据的方式是从专有 LLM 中蒸馏获取。

最早的开源指令模型之一 Alpaca 应用了自指示(self-instruct)来为 text-davinci-003 (InstructGPT 模型的一个变体)构建 prompt 并生成伪 SFT 数据,然后再在其上对 LLaMA-7B 模型进行监督式指令微调;白泽(Baize)也应用了自指示,但却是通过让 ChatGPT 自我聊天来获取多轮数据;WizardLM 提高数据多样性的方式是应用 ChatGPT 来迭代式地重写 Alpaca 数据;UltraChat 先是应用不同的策略来自动构建问题,然后应用 ChatGPT 根据给定问题模拟对话。

Vicuna 和 Koala 探索了 ShareGPT,这是一个用户分享自己与 ChatGPT 的聊天记录的网站(https://sharegpt.com )—— 这些记录可作为 SFT 数据。近期还有一项类似的工作 WildChat,其会为在线用户提供免费的 ChatGPT 并收集对话记录,但其重心更偏向于研讨有毒用例。尽管这是一种相对低成本的获取数据的方式,但有研讨发现模仿专有 LLM 只能「模仿 ChatGPT 的风格而不是其事实性」,因此开源模型的能力范围就完全仰赖这些 SFT 数据了。

另一种收集 SFT 数据的方式是人工标注少量数据。Open Assistant 发起过一个请志愿者编写指令和响应的众包项目;Dolly 包含 1.5 万条 Databricks 的员工构建的数据(更倾向于基于维基百科的事实性问答)。LIMA(less is more for alignment)中包含 1000 条作者人工调整过的 SFT 数据(其分布严重倾向于 Stack Exchange 和 wikiHow),人们惊讶地发现其可有效地用于得到强大的指令模型。但是,我们仍然不清楚:相比于应用专门收集的大规模数据,我们是只需要 1000 个示例,还是可以应用互联网众包的数据,因为这方面还没有专门的对比研讨。

尽管在这些模仿和人类 SFT 数据上训练的开源模型仍旧无法媲美 ChatGPT、GPT-4 或 Claude 等专有模型,但我们可以看到两个颇具希望的成果:

人类评价评释,LLaMA-2-70B-chat 比 ChatGPT 「更有帮助」,而前者是在闭源数据上微调过的开源模型 LLaMA-2-70B。这评释 LLaMA-2 基础模型有可能与 ChatGPT 的基础模型一样强大(在事实知识、常识、推理能力方面),从而可减轻「错误承诺」问题。

(研讨社区已经在「toy」或「实验室」数据上进行了一些激动人心的研讨,比如更好的对齐算法。下面会谈到它们。

偏好数据又如何?

尽管开源 SFT 模型能提供让人印象深刻的「幻象」(事实上,它们启动了开源社区研发指令微调的趋势),但仅仅有 SFT 是不够的。要让模型成为更优秀的语言助手,将模型与人类偏好对齐至关重要。推断它的一种简单方式是思考如何「变得诚实」。SFT 几乎总是会鼓励模型给出答案,几乎不会教模型说「我不知道这一点」。

一些研讨已经评释,对齐算法可以带来更好的「人类满意度」。但是,大多数开源模型并不会经历对齐阶段(RLHF),原因包括 (1) 强化学习的成本很高,(2) 调整 PPO(OpenAI 应用的强化学习算法)超参数时模型很脆弱,(3) 缺乏高质量偏好数据。数据的缺乏进一步阻碍了社区创造比强化学习更有效 / 更高效的(可能存在的)更优算法。

在开发对齐算法时,最常用的两个偏好数据集是 OpenAI 的 TL;DR 偏好数据集(摘要)和 Anthropic 的 HH-RLHF 数据集(人类 – 模型开放式对话)。尽管它们的质量都不错,但其指令的多样性和复杂性还不足以比肩如今的 SFT 数据集。

2023 年出现了许多新的偏好数据集。尽管对研讨者而言它们可能是宝贵的资源,但我们还不清楚它们的质量是否足以用于对齐算法。其中一些是通过众包方式从人类收集的偏好数据,Open Assistant 和 Chatbot Arena 都在网上发起了一个偏好数据收集倡议,收集志愿者提供的偏好标签。

更多数据集采用的是模拟或启发式方式:SHP 是应用在 Reddit 上的点赞数而启发式地构建的一个合成偏好数据集;AlpacaFarm 和 UltraFeedback 应用了 GPT-4 作为标准标注者;Kim et al., 2023 的《Aligning Large Language Models through Synthetic Feedback》、Xu et al., 2023 的《Contrastive Post-training Large Language Models on Data Curriculum》、Yang et al., 2023 的《RLCD: Reinforcement Learning from Contrast Distillation for Language Model Alignment》应用的启发式方式包括:更强模型的输入结果应该更受偏爱,或来自一个「好」prompt 的输入结果应该更受偏爱。

有证据评释这里提到的大多数数据集都有助于强化学习或其它对齐算法,但尚无研讨者对它们进行基准对比。Huggingface 近期发布了一个模型,其训练应用了 UltraChat(SFT)和 UltraFeedback(对齐,应用 DPO);结果评释其性能与应用闭源数据训练的 LLaMA-2-Chat-70B 相当。

不同于依靠人类偏好,另一个研讨策略是应用「AI 反馈」—— 应用 LLM 来引导 LLM,而没有人类参与其中。这一思想不同于「应用 GPT-4 作为标注者」,因为 GPT-4 仍旧是应用人类偏好训练的,但这里的目标是在没有人类偏好数据的前提下用模型来引导。

Bai et al., 2022 的《Constitutional AI: Harmlessness from AI Feedback》最早提出了两个概念:「宪法 AI(Constitutional AI)」和「根据人工智能反馈的强化学习(RLAIF)」。

Constitutional AI 会定义一系列「原则」,其中包括好的生成结果应当遵守的原则以及为 SFT 模型提供 prompt 使之自我提高生成结果的原则(通过自我批评和修正)。

RLAIF 则是让 SFT 模型(而非人类)为输入结果对生成偏好。他们通过实验评释,如果一开始训练模型时仅应用「有助益的」人类监督,那么就有可能训练出「无害的」模型(没有在无害性上的人类监督)。

但是,Bai et al., 2022 中的流程一开始依然应用了一些人类偏好标签。Lee et al., 2023 的《RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback》评释:如果从一个 SFT 模型开始,RLAIF 能在一个摘要任务上达到与 RLHF 相当的水平,期间不涉及人类偏好标签。

RLAIF 这个研讨方向引起了人们的极大热情和兴趣,因为其是「可扩展监督(scalable oversight)」的一个可行解决方案。可扩展监督面向的是要对齐的模型已超越人类能力的情形。但是,我们仍旧不清楚这些方式的表现究竟有多好,因为应用简单的启发式方式来构建数据(也没有人类参与)也能超越它们(RLCD)。

强化学习是唯一的方式吗?

应用 PPO 来执行 RLHF 已经成为对齐的主要方式,比如 InstructGPT 和 LLaMA-2-Chat 都应用了它,据信 ChatGPT 和 GPT-4 也应用了这种方式。其基本思想是首先在偏好数据上训练一个奖励模型,然后应用该奖励模型来提供反馈并应用强化学习对模型进行微调。

有关 RLHF 的文献汗牛充栋,HuggingFace 的这篇博客提供了更多细节:https://huggingface.co/blog/rlhf

RLHF 是有效的,但实现起来很复杂,容易出现优化不稳定问题,而且对超参数敏感。令人兴奋的是,研讨者们已经提出了一些可将模型与偏好数据对齐的新方式,而且据称其中一些方式强于 RLHF。

best-of-n,即 n 个结果中取最佳。我们可以有一个直觉认识:在 SFT 之后,模型已经有希望生成好的输入结果了,我们只需要把它们找出来。在 WebGPT (Nakano et al., 2021)和根据人类反馈的摘要(Stiennon et al., 2022)中,作者探索了 best-of-n 采样法,即采样 n 个输入结果并应用奖励模型选出其中最好的一个,结果评释这种方式往往能实现与 RLHF 相近的性能。但是,OpenAI 指出,如果最终的最优策略与原始的 SFT 模型相距很远(n 显著增至最终策略与 SFT 模型之间的 KL),则 best-of-n 的效率会很低;更不要说就算 n 很小,其推理的效率也非常低。

专家迭代。还有在训练中应用 best-of-n 的方式 —— 在训练过程中大量采样(不涉及推理效率),选出最好的,然后基于它们执行 SFT。FeedME 是应用其自身采样的且人类标注者喜欢的输入来训练模型;OpenAI 应用该方式训练了 text-davinci-002。再进一步,这可以和在线采样 best-of-n 组合起来,即采样 n 个输入,由奖励模型选出其中最好的,然后在最好的输入上训练,如此反复。这本质上就是专家迭代。best-of-n 采样还能与自然语言反馈组合应用。

条件 token。另一个思路是「条件 token」:同时应用好示例和差示例在语言模型上执行 SFT,并在好示例前面加上「好」prompt,在差示例前面加上「差」prompt。在推理过程中,可以通过添加前缀「好」来为模型设定条件,并期望模型生成好的输入。

对比式方式。最后,还有一些新提出的方式非常近似对比学习思想:可以从模型获得好示例和差示例的概率,然后「促进」好示例,「压制」差示例。给定偏好数据,SLiC 和 RRHF 的做法是同时优化一个对比排名损失和一个正则化损失。举个例子,如下是 SLiC 损失函数:

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

其中 π_θ 是语言模型,x、y_w、y_l、y_ref 分别是指令、获胜输入、失败输入、参照输入。可以直观看出,第一项可强化在偏好 / 不偏好对上的对比,第二项是为了确保模型不会偏离 SFT 分布太远。类似地,PRO 采用了 Softmax 形式的对比损失,并且是在多个负例输入上执行优化,而不只是一个。

DPO 采用了类似的思想,但却是从 RLHF 的目标函数开始。经过一些理论分析后,DPO 评释优化 RLHF 目标

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

等价于应用 MLE 优化以下目标:

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

其中 r_ϕ (x,y) 是奖励模型,σ(⋅) 是 sigmoid 函数,π_θ 是当前模型,π_ref 是 SFT 模型。

这些模型有一个缺点:它们要么从 SFT 模型中采样 y_w、y_l,要么就是直接从已有数据集中取出它们(因此是从其它模型采样的),由此会造成分布不匹配问题。Liu et al., 2023 (RSO) 提出可通过从最优策略 π^∗ 采样来解决这个问题 —— 通过应用奖励模型执行拒绝采样(reject sampling)。他们的研讨评释,在 SLiC 或 DPO 上应用这样的采样策略可以提高最终模型的性能。

这些方式在近期吸引了不少关注,并且已经被多个研讨团队证明是有效的。比如 Xu et al., 2023 的《Contrastive Post-training Large Language Models on Data Curriculum》评释 DPO 可以在 SFT 之上带来显著的提高,HuggingFace 的 Zephyr 模型也应用了 DPO 训练,其在 MT-Bench 上表现很好,甚至可以比肩 Llama-2-chat 和 GPT-3.5。所有这些方式的成本都比强化学习低很多,对研讨和开源社区来说,这是个好消息,并且这也有望激励人们创造出更多更好的对齐算法。

另一方面,我们需要更好地理解应用对齐算法训练的模型的性质以及他们是否真的有助于学习有用的特征,举个例子,Singhal et al., 2023 的《A Long Way to Go: Investigating Length Correlations in RLHF》研讨了几个常用数据集后发现:所学习到的奖励模型的偏好通常与长度高度相关,而应用长度进行 RLHF 就能恢复大部分性能提高。

评价

在开发开放式指令微调模型(或任何开放式生成方式)方面,一大重要难题是评价。人类评价依然是评价开放式对话模型的能力的「黄金标准」。但是,人类评价往往不可靠,尤其是当应用了 Amazon Mechanical Turk 等廉价众包平台来获取数据时。此外,人类评价的成本很高,也难以执行统一基准的比较。最近人们开始应用更强的 LLM(如 ChatGPT 或 GPT-4)来评价更弱的 LLM(如基于开源的 LLaMA 的模型),事实证明这是一个受欢迎的具有成本效益的替代方案。

乍一看,用模型评价模型听起来很荒谬。但是,对于开发开源模型和研讨模型来说,这是有意义的:GPT-4 等专有模型的训练应用了远远更为强大的基础模型,并且其应用的指令数据的质量和数量都高得多,因此它们会比开源或研讨模型更优秀。只要它们的能力存在巨大差异,GPT-4 这样的模型就足以胜任评价器。

一些应用 LLM 作为评价器的先驱研讨给出了「让人心安的」结果:LLM 评价器通常与人类评价具有很高的一致性。另一方面,一些论文则评释 LLM 评价器往往对某些偏见非常敏感。

举个例子,如果你交换两个要比较的输入的位置,它们就可能改变自己的偏好。LLM 评价器也更偏爱更长的输入以及相似模型生成的输入。因此,人们提出了一些「元评价(meta-evaluation)」基准,用以评价 LLM 评价器的质量(通常的形式是看在人类偏好数据上的准确度),其中包括 FairEval、MT-Bench、LLMEval^2。尽管这些是帮助我们理解 LLM 评价器可靠程度的宝贵资源,但不同的评价器在这些基准上的分数往往差不多。

此外,这些基准的人类标注往往很多噪声且很主观,并且内在的人类一致率(human agreement rate)较低,比如 AlpacaFarm 报告的人类一致率为 66%、MT-Bench 报告的数据为 63%、FairEval 的为 71.7%。这样一来,我们就不清楚是否可以信任这些元评价基准和 LLM 评价器了。

LLMBar:LLM 评价器的更优元评价

最后,作者介绍了自己团队的一项研讨成果《Evaluating Large Language Models at Evaluating Instruction Following》。他们在其中重新思考了元评价问题。他们认为之前的研讨忽视了一个重要因素:人类偏好的固有主观性。

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

对于来自之前一个数据集的上述示例,即使这两者之间的质量差异可以区别,但人类标注者还是更偏爱更长的,这就将这种偏见加到了偏好数据集中。当我们基于这样的主观且带噪声的元基准评价 LLM 评价器时,我们无法保证得分高的评价器能可靠地评价输入长度等主观偏好之外的客观属性,比如指令听从或事实正确性。

遵循这一路径,他们创造了一个新的元评价基准 LLMBar,其关注重点是一个客观指标 —— 指令听从。他们选择指令听从的原因包括:(1) 该能力能以客观的方式进行评价;(2) 其与有用性等人们期望获得的 LLM 性质直接相关;(3) 不同于可通过模仿学习轻松实现的表面质量,当前最强大的 LLM 也难以应对这一问题。下面给出了一个来自 LLMBar 的示例:

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

即使很明显右侧的输入听从指令,人类和 LLM 评价者都往往更偏爱左侧的输入,因为其语调让人更有参与感。如果我们不对评价者的能力进行严格的分析,以便分辨真正的指令听从能力和表面线索,那就会存在这样的风险:先进模型只是擅长模仿对话助理,而不是执行所需任务。

LLMBar 的作者手动构建了 419 个实例,其中每一项都包含一个指令与配对的两个输入:一个忠实地听从指令,另一个则偏离了,并且总是会存在一个客观偏好。得益于这个客观指标和手动调整,LLMBar 的人类一致率达到了 94%。他们在这些输入对上测试各种评价器,并比较了评价器偏好和标准参考标签。他们还精心构建了一个对抗集,其中的「差」输入往往具有一些表面上的吸引力(长度、参与性语调、由更好的语言模型生成等),可能会误导评价器。LLMBar 的结果令人惊讶:

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

尽管 ChatGPT、LLaMA2-70B-Chat、PaLM2-bison 和 GPT-4 在其它元评价基准上的表现相近,但它们在 LLMBar (adversarial) 上的表现则大不相同 ——ChatGPT 和 LLaMA2 的分数甚至低于随机乱猜,而 GPT-4 的准确度则远远胜过其它任何评价器。

除了不同的 LLM,他们的研讨还评释不同的 prompt 也对评价器非常重要。之前探索这一方向的研讨包括:Wang et al., 2023 的《Large Language Models are not Fair Evaluators》提出采样多个解释并将它们聚合成一个最终判断;Zheng et al., 2023 的《Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena》则提出了一种参照引导式方式,即先让 LLM 评价器根据指令生成自己的输入,然后将其用作参照;还有一些论文评释:部署多个评价器(不同的 LLM 或 prompt)并让它们互相交流或合成它们的判断,可以提高评价器的准确度。作者团队则提出将这些方式组合起来:指标 + 参照 + 规则(如下所示)。

首先,应用 prompt 让 LLM 生成三个特定于指令的指标,也就是 rubric,并还应用 prompt 让 LLM 生成一个参照输入。然后,将这些指标和参照输入 LLM,显式地列出规则(比如重点是指令听从,忽略位置偏见等),并让模型给出判断。相比于 AlpacaFarm 应用的最基本的 prompt,新的 prompt 可以显著提高在 LLMBar 上的评价器性能(GPT-4 在对抗集上的性能可提高 10%)。研讨者还进行了更多消融研讨,并还有另一些有趣的结果,比如这样一个反直觉的发现:思维链大多数时候都会损害评价器准确度。

普林斯顿博士生高天宇指令微调进展速览:数据、算法和评价

展望未来

开源指令微调数据、算法和模型的涌现是 2023 年 LLM 领域最激动人心的进展之一。这让研讨者和开发者有机会将指令模型的训练、评价、互动和分析置于自己的完全控制之下(从参数到数据),之前这些都是黑盒。

过去几个月,这一领域也有点混乱,因为有数以百计的论文发布的结果应用了不同的数据、算法、基础模型甚至评价方式,使得人们难以对这些文献进行交叉比对。作者表示希望社区能很快聚合出一个标准的数据集 / 评价方式,让研讨者能以一种更科学和可复现的方式开发出更好的指令微调模型。

博客地址:https://gaotianyu.xyz/blog/2023/11/30/instruction-tuning/

给TA打赏
共{{data.count}}人
人已打赏
应用

奥特曼筹数十亿美元建全球晶圆厂网络,自造AI芯片

2024-1-22 11:15:00

应用

Pika、Gen-2、ModelScope、SEINE……AI视频生成哪家强?这个框架一测便知

2024-1-22 11:34:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索