我们知道,从谷歌 T5 模型到 OpenAI GPT 系列大模型,大语言模型(LLMs)已经展现出了令人印象深刻的泛化能力,比如上下文学习和思维链推理。同时为了使得 LLMs 遵循自然语言指令和完成真实世界任务,研究人员一直在探索 LLMs 的指令微调方法。实现方式有两种:一是使用人类标注的 prompt 和反馈在广泛任务上微调模型,二是使用通过手动或自动生成指令增强的公共基准和数据集来监督微调。
在这些方法中,Self-Instruct 微调是一种简单有效的方法,它从 SOTA 指令微调的教师 LLMs 生成的指令遵循数据中学习,使得 LLMs 与人类意图对齐。事实证明,指令微调已经成为提升 LLMs 零样本和小样本泛化能力的有效手段。
最近,ChatGPT 和 GPT-4 的成功为使用指令微调来改进开源 LLMs 提供了巨大的机遇。Meta LLaMA 是一系列开源 LLMs,其性能与 GPT-3 等专有 LLMs 相媲美。为了教 LLaMA 遵循指令,Self-Instruct 因其卓越性能和低成本被快速采用。比如斯坦福的 Alpaca 模型使用由 GPT-3.5 生成的 52k 指令遵循样本,Vicuna 模型使用约 70k 来自 ShareGPT 的指令遵循样本。
为了推进 LLMs 指令微调的 SOTA 水平,微软研究院在其论文《Instruction Tuning with GPT-4》中首次使用 GPT-4 作为教师模型进行 self-intruct 微调。
- 论文地址:https://arxiv.org/pdf/2304.03277.pdf
- 项目地址:https://instruction-tuning-with-gpt-4.github.io/
- GitHub 地址:https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM
研究者一方面发布了 GPT-4 生成的数据,包括中英文的 52k 指令遵循数据集、GPT-4 生成的对三种指令微调模型的输出进行评级的反馈数据。
另一方面基于 GPT-4 生成的数据开发了指令微调的 LLaMA 模型和奖励模型。为了评估指令微调 LLMs 的质量,研究者使用三个指标对测试样本进行评估:对三个对齐标准的人工评估、基于 GPT-4 反馈的自动评估以及非自然指令的 ROUGE-L(自动文摘评测方法之一)。
实验结果验证了使用 GPT-4 生成的数据进行 LLMs 指令微调的有效性。GPT-4 生成的 52k 中英指令遵循数据在新任务上实现了较以往 SOTA 模型更好的零样本性能。目前,研究者已经公开了使用 GPT-4 生成的数据以及相关代码。
数据集
该研究使用 GPT-4 生成以下四个数据集:
- 英语指令遵循数据集(English Instruction-Following Data):对于从 Alpaca 收集到的 52K 指令,每个指令都提供了一个英文 GPT-4 答案。该数据集主要用来探索和比较 GPT-4 答案和 GPT-3 答案的数据统计。
- 中文指令遵循数据集(Chinese Instruction-Following Data):该研究使用 ChatGPT 将 52K 指令翻译成中文,并要求 GPT-4 用中文回答。
- 比较数据(Comparison Data):让 GPT-4 给自己的反应打分,分数范围从 1 到 10。此外,该研究还要求 GPT-4 对 GPT-4、GPT-3.5 和 OPT-IML 三种模型的响应进行比较和评分。这一数据集主要用来训练奖励模型。
- 非自然指令的回答(Answers on Unnatural Instructions):GPT-4 的回答在 68K 指令 - 输入 - 输出三组核心数据集上解码。该子集用于量化 GPT-4 与指令微调模型之间的差距。
图 1 比较了 GPT-4 和 GPT-3.5 的英文输出响应集。图 1 (a) 和 (b) 显示了两个输出集合频率高于 10 的动 - 名词对(verb-noun pairs),图 1 (c) 比较了两个集合中出现频率最高的 25 对单词,图 1 (d) 比较了序列长度的频率分布,结果显示,GPT-4 倾向于生成比 GPT-3.5 更长的序列。
指令微调语言模型
该研究基于 LLaMA 7B checkpoint、并使用监督微调训练了两个模型:(i) LLaMA-GPT4 ,在 GPT-4 生成的 52K 英语指令遵循数据上训练。(ii) LLaMA-GPT4-CN,在来自 GPT-4 生成的 52K 中文指令遵循数据上训练完成。
奖励模型
人类反馈强化学习 (RLHF) 旨在使 LLM 行为与人类偏好保持一致,奖励建模是其关键部分之一,这一问题被往往公式化为回归任务,以预测给定提示和响应之间的奖励。但这种方法通常需要大规模的比较数据,现有开源模型如 Alpaca、Vicuna 和 Dolly 由于标注比较数据成本很高,因此不涉及 RLHF。与此同时,最近的研究表明,GPT-4 能够识别和修复自己的错误,并准确判断响应的质量。因此,为了促进 RLHF 的研究,该研究使用 GPT-4 创建了比较数据,如上文所述。
为了评估数据质量,该研究还训练了一个基于 OPT 1.3B 的奖励模型进行该数据集的评估。比较数据的分布如图 2 所示。
实验
该研究利用以下三种类型进行评估:人类评估、GPT-4 以及非自然指令评估。结果证实,与其他机器生成的数据相比,使用 GPT-4 生成的数据是进行 LLM 指令微调的一种高效且有效的方法。接下来我们看看具体实验过程。
人类评估
图 3 (a) 为 LLaMA-GPT4 vs Alpaca 比较结果,实验表明在 Helpfulness 这一指标下,GPT-4 以 54.12% 的得分胜出。图 3 (b) 为 LLaMA-GPT4 vs GPT-4 比较结果,表明 GPT-4 指令微调的 LLaMA 的性能与原始的 GPT-4 类似。
与使用自动求值的 SOTA 进行比较
该研究使用 GPT-4 对不同模型在 80 个未见问题上的回答进行自动评估。首先从 LLaMA-GPT-4 (7B) 和 GPT-4 两个聊天机器人中收集答案,并使用其他聊天机器人发布答案,包括 LLaMA (13B),Alpaca (13B),Vicuna (13B),Bard (谷歌,2023) 和 ChatGPT。对于每次评估,该研究要求 GPT-4 对两个模型之间的响应质量进行评分,评分范围从 1 到 10。结果如图 4 所示。
图 4 (c,d) 比较了所有聊天机器人。LLaMA_GPT4 性能更高:7B LLaMA GPT4 的性能优于 13B Alpaca 和 LLaMA。然而,LLaMA_GPT4 与 GPT-4 等大型商业聊天机器人相比,仍有差距。
研究者在下图 5 中进一步研究了所有聊天机器人的性能。首先使用 GPT-4 将聊天机器人的英文响应翻译成中文,接着使用 GPT-4 将英文问题翻译成中文以获得答案。与 GPT-4 翻译和生成的中文响应的比较如 5 (a) 和 5 (b) 所示,5 (c) 中显示了所有被要求用中文回答的模型结果。
在下图 6 中,研究者将 LLaMA-GPT4 与 GPT-4、Alpaca 非自然指令进行比较。结果显示,LLaMA-GPT4 和 GPT-4 随 ground truth 响应长度的增加表现更好。这意味着当场景更具创意时,它们可以更好地遵循指令。当序列长度较短时,LLaMA-GPT4 和 GPT-4 都能生成包含简单 ground truth 答案的响应,并且添加额外单词可以使响应更像聊天。
更多技术和实验细节请参阅原论文。