这你受得了么?仅用1%的数据完胜全量数据微调模型!

One Shot Learning as Instruction Data Prospector for Large Language Models

https://arxiv.org/pdf/2312.10302.pdf

https://github.com/pldlgb/nuggets

指令微调是大语言模型(LLM)训练中的一个关键环节,它不仅激活了模型在预训练阶段获得的知识,还使模型能够以更流畅和自然的方式与人类进行交流。在指令微调的工作中,人们投入了大量精力来收集更大、更多样、更复杂的数据集,这通常是通过人工众包或从更大的模型中蒸馏出数据来实现的。虽然用于指令调整的数据集规模在不断扩大,但有研究表明[1],相对规模较小但质量高的数据集在激发大语言模型(LLM)的潜能方面可能更为有效。盲目增加指令数据的量而忽视质量,可能会引入误导信息,从而导致模型产生错误的输出。目前,选取指令数据缺乏统一标准。正如图 1 所示,常规的做法是依靠实践经验来选择数据,并根据实际效果来调整数据组合,这种试错的方法增加了模型调整的成本并且可能存在一定的偏差。作者认为,在庞大的数据中肯定有最佳的指令组合,但如何高效、低成本地找到这些组合还有待进一步探索。

为了深入理解这个问题,论文中提出了一种名为“Nuggets”的方法,意欲从堆积如山的指令微调数据中挖掘出黄金数据。这种方法利用大语言模型(LLM)自身作为数据探索工具,通过One shot learning 或者说是 In context learning,从庞大的指令数据集中挑选出有益的数据。直观来说,如果某个指令对于某个特定任务的少样本学习(Few shot learning)有帮助,那么这个指令就值得被用于训练。如果这个指令能对多个任务有益,那么它就应该成为主要的数据重点。另外,有研究显示[2,3,4],In context learning通过提示(Demonstrations)来隐式微调模型,相当于语言模型在幕后以元优化器的角色进行梯度下降操作。因此,利用在In context learning下的性能来预测指令微调的效果是很有前景的。

图2: Nuggets 方法框架的示意图。值得注意的是,作者并不是直接让模型生成答案来进行评估。而是通过计算模型对实际正确答案的 logit 得分,来得出零样本(zero shot)得分或单样本(few shot)得分。

图2: Nuggets 方法框架的示意图。值得注意的是,作者并不是直接让模型生成答案来进行评估。而是通过计算模型对实际正确答案的 logit 得分,来得出零样本(zero shot)得分或单样本(few shot)得分。

具体来说,Nuggets的框架如图 2 所示。首先,作者利用一系列预定义的任务(Predefined Task Set)来测试大语言模型在不同任务上的表现,这个测试结果称为零样本得分(Zero Shot Score)。接着,把指令数据集中的每个示例当作单样本提示(One Shot Prompt),将其拼接在预定义任务之前,再次评估模型对这些任务的处理能力,这个评估结果称为单样本得分(One Shot Score)。通过比较单样本得分和零样本得分的差异,为每个指令计算出一个黄金得分(Golden Score)。在宏观层面,黄金得分用于衡量模型在接受了特定指令的少样本学习(One Shot Learning)后所实现的性能提升幅度,也即相当于衡量如果将这个指令用于模型的微调后模型能力的提升幅度。一旦获得所有指令的黄金得分后,就可以挑选出那些拥有高黄金得分的关键样本,作为黄金子集(Golden Subset),仅用这些样本对基础模型进行指令微调,以期达到比使用整个数据集更优的效果。

预定义的任务(Predefined Task Set):主要目的是评估模型在多样化任务上的泛化能力,因此只要预定义任务集包含了足够的数据量并覆盖了多种任务类型,它就被视为是适用的。由于 Alpaca 数据集本身就是多任务的数据集,作者从中随机挑选了 1,000 个例子,构成预定义的任务集。

为了验证“Nuggets”方法的有效性,作者使用 LLaMA [5] 作为基础模型,首先采用Alpaca指令数据集[6]进行实验,Alpaca 数据集包括了总共 52,002 个指令示例,

图3: 黄金得分(Golden Score)在Alpaca数据集上的分布情况

黄金得分(Golden Score)的分布情况如图3所示,其中,有42,460 个指令的得分超过了 0.5。特别关注那些得分超过 0.8 和 0.85 的指令,因为它们倾向于被认为是高质量的指令。其中得分超过 0.8 的示例有 7,525 个,得分超过 0.85 的则有 619 个,后者仅占整个数据集的 1%。作者使用这些不同得分的指令示例子集对 LLaMA 进行了指令调整,包括得分低于 0.5、高于 0.5、高于 0.8、高于 0.85 和完整数据集。相应的微调模型分别命名为 、、、 和 。

作者在 MT-Bench [7] 和 Alpaca-Eval [8]两个知名的基准测试中对模型进行了评估。实验结果如Table 1 和Table 2 所示。在所有测试模型中, 展现了最佳性能。这主要得益于其在使用的指令数量和质量之间取得了良好的平衡。那些包含低质量指令的模型在微调过程中性能有所下降。这在 性能低于以及略高于的比较中尤为显著。特别值得关注的是,模型虽只使用了数据集的 1% 进行微调,但其效果与相当,甚至更好。这凸显了Nuggets的数据选择方法的高效性。

为了评估不同的预定义任务集对指令数据选择的影响,文中引入了两种额外的预定义任务集变体。第一种是从 Alpaca 数据集中随机抽取的样本,但限制任务集的大小为 100 个样本。第二种是利用 KMeans 算法将 Alpaca 数据集分成 100 个类别,并选取每个类别的中心点作为预定义任务集的样本。作者使用这两个预定义的任务集分别对 Alpaca 数据集进行黄金得分(Golden Score)的打分,其分布情况如图 4 所示。作者根据黄金得分的不同阈值(小于或等于 0.5、大于 0.5、大于 0.6、大于 0.7、大于 0.8、大于 0.85、大于 0.9)选择指令数据,分别用于模型的微调。

Table 3 的结果显示,在随机抽样的情况下,增加任务集的规模能够提高识别高质量指令数据的能力。这是因为更大的任务集包含了更丰富的数据多样性,有助于更精准地评估指令对于模型在各种任务上泛化能力的影响。但当采用 KMeans 算法精选更具代表性的样本作为任务集时,情况发生了变化。即使仅有 100 个样本,KMeans 的效果也超过了随机抽样获取的 1,000 个样本。在这个案例中,仅使用 5,419 个样本的 就实现了优异的性能,相比之下,随机抽样的 1,000 个样本(Random1000)需要使用 7,524 个样本。这一结果还间接证明了文中对于黄金得分的假设是有效的。

为了深入探索 Nuggets 在不同指令数据集上的泛化能力,作者采用了 Alpaca-GPT4 数据集 [9] 进行了一系列实验。该数据集利用强大的 GPT-4 模型 [10] 生成指令数据,其数据质量被认为更为卓越。此外,它指令中Question与 Alpaca 数据集相同,便于直接进行比较。受到表 3 的启发,作者在 Alpaca-GPT4 数据集上应用 KMeans 算法选取了 100 个样本,形成了预定义的任务集。然后,作者使用 Nuggets 方法对 Alpaca-GPT4 数据集中的所有指令进行黄金得分的评分,如图 5 所示。与 Alpaca 数据集相比,Alpaca-GPT4 数据集拥有更多高黄金得分的指令:超过 0.8 的指令有 25,100 个,超过 0.85 分的有 16,943 个,超过 0.9 分的有 4,250 个。这些数字远超 Alpaca 数据集中的对应指令。这也表明,黄金得分可以作为衡量指令数据质量的一个重要指标。在 Alpaca-GPT4 数据集上进行模型微调的结果与之前的实验保持一致。在 Alpaca-Eval 的评估中,那些仅用黄金得分不高于 0.5 的子集进行微调的大语言模型表现最差,win_rate仅为 19.23%。相反,那些用黄金得分高于 0.85 的子集进行微调的模型表现出色,win_rate高达 72.05%。这种成功归因于这一特定子集中数量和质量的双重保障。值得强调的是,使用小型且高质量的数据集进行微调,其效果始终显著优于在整个数据集上进行的微调。总的来说,使用 Alpaca-GPT4 数据集微调的模型显著优于使用 Alpaca 数据集的模型,这也间接证明了 Alpaca-GPT4 数据集相比于 Alpaca 数据集具有更高的质量。

为了对 Nuggets 进行定性分析,作者还挑选了一些指令样本进行案例研究,如图 6 所示。可以观察到,没有输出的噪声指令展示出极低的黄金得分值。这类示例在整个指令数据集中一致地得分很低。此外,带有幻觉性输出的指令和一些有点令人困惑的指令通常也表现出较低的黄金得分。相反,得分较高的指令通常具有流畅的语言和细致的逻辑,并且以协助人类解决问题为导向。因此,这也应证了高黄金得分可以代表高质量的指令微调数据。

一个广泛认可的观点是,通过指令微调,可以显著提升预训练模型在执行多种特定任务时的泛化能力 [11, 12]。基于此,作者提出了“黄金指令”假设:评估一条指令的有效性,关键在于它在模型微调后对任务泛化能力的影响。指令带来的性能提升越显著,它越接近于成为一条“黄金指令”。

根据这一假设,一种直观的方法是用一个指令示例对一个独立模型进行微调,然后比较微调后的模型与原始模型在包含多个任务的预定义数据集上的表现,以此判断该示例是否达到“黄金指令”的标准。但这种方法会产生大量微调过的模型,数量与指令一样多。此外,单一示例的微调可能会导致模型梯度更新不稳定,难以判断该示例是否被有效学习。因此,受到注意力机制和梯度下降两者之间的相互关联性的启发 [2, 3, 4, 13],作者在 Transformer 的注意力机制中融入了元优化(meta-optimize)机制,从而避免了对模型进行实际微调的需求。

具体来说,Transformer 已经成为目前语言模型中最为流行的架构,其核心是自注意力机制,这在 Transformer 结构中占据着极其重要的地位。假设 和 分别是指令调整的样本和测试输入。定义 作为注意力查询向量,作为注意力键向量,以及 作为注意力值向量,这里的 代表连接操作,、 和 是用于计算注意力查询、键和值的投影矩阵。在 Transformer 的任一层的某个头部中,自注意力的计算结果可以表达为:

在这里, 起到了一个缩放作用,以保证计算的稳定性。公式中的 被称为 ,它代表了零样本学习(Zero Shot Learning)的情况,即在这种情况下没有进行指令调整,仅仅侧重于测试输入的处理。另一方面, 这一项可以被视为隐式指令微调,它是通过从指令样本中得到的元梯度 [2, 13] 实现的。对于隐式指令调整的更多细节,读者可以参考之前的论文 [2, 4, 13]。这些论文提供了关于如何通过元梯度进行更深入的指令调整的详细信息。

[1] Chunting Zhou, Pengfei Liu, Puxin Xu, Srini Iyer, Jiao Sun, Yuning Mao, Xuezhe Ma, Avia Efrat, Ping Yu, Lili Yu, et al. Lima: Less is more for alignment. arXiv preprint arXiv:2305.11206, 2023.

[2] Damai Dai, Yutao Sun, Li Dong, Yaru Hao, Zhifang Sui, and Furu Wei. Why can gpt learn in-context? language models secretly perform gradient descent as meta optimizers. arXiv preprint arXiv:2212.10559, 2022.

[3] Jiaxi Yang, Binyuan Hui, Min Yang, Binhua Li, Fei Huang, and Yongbin Li. Iterative forward tuning boosts in-context learning in language models. arXiv preprint arXiv:2305.13016, 2023.

[4] Kazuki Irie, Róbert Csordás, and Jürgen Schmidhuber. The dual form of neural networks revisited: Connecting test time predictions to training patterns via spotlights of attention. In ICML, pages 9639–9659, 2022.

[5] Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, et al. Llama: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971, 2023.

[6] Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li, Carlos Guestrin, Percy Liang, and Tatsunori B. Hashimoto. Stanford alpaca: An instruction-following llama model. https://github. com/tatsu-lab/stanford_alpaca, 2023.

[7] Xuechen Li, Tianyi Zhang, Yann Dubois, Rohan Taori, Ishaan Gulrajani, Carlos Guestrin, Percy Liang, and Tatsunori B. Hashimoto. Alpacaeval: An automatic evaluator of instruction-following models. https://github.com/tatsu-lab/alpaca_eval, 2023

[8] Lianmin Zheng, Wei-Lin Chiang, Ying Sheng, Siyuan Zhuang, Zhanghao Wu, Yonghao Zhuang, Zi Lin, Zhuohan Li, Dacheng Li, Eric Xing, et al. Judging llm-as-a-judge with mt-bench and chatbot arena. arXiv preprint arXiv:2306.05685, 2023.

[9] Baolin Peng, Chunyuan Li, Pengcheng He, Michel Galley, and Jianfeng Gao. Instruction tuning with gpt-4. arXiv preprint arXiv:2304.03277, 2023.

[10]  OpenAI. Gpt-4 technical report. arXiv preprint arXiv:2303.08774, 2023.

[11] Shayne Longpre, Le Hou, Tu Vu, Albert Webson, Hyung Won Chung, Yi Tay, Denny Zhou, Quoc V Le, Barret Zoph, Jason Wei, et al. The flan collection: Designing data and methods for effective instruction tuning. arXiv preprint arXiv:2301.13688, 2023.

[12] Shengyu Zhang, Linfeng Dong, Xiaoya Li, Sen Zhang, Xiaofei Sun, Shuhe Wang, Jiwei Li, Runyi Hu, Tianwei Zhang, Fei Wu, et al. Instruction tuning for large language models: A survey. arXiv preprint arXiv:2308.10792, 2023.

[13] MA Aizerman, EM Braverman, and LI Rozonoer. Theoretical foundation of potential functions method in pattern recognition autom. Remote Contr., 1964.

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值