本文主要是介绍可选择的反思指令微调,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 论文:https://arxiv.org/pdf/2402.10110
- 代码:GitHub - tianyi-lab/Reflection_Tuning: [ACL'24] Selective Reflection-Tuning: Student-Selected Data Recycling for LLM Instruction-Tuning
- 机构:马里兰大学, Adobe Research
- 领域:Instruction-Tuning
- 发表:GitHub 项目 ACL24
研究背景
- 研究问题:这篇文章要解决的问题是大型语言模型(LLMs)在指令微调过程中,如何提高数据质量以提高模型的任务适应能力。现有方法在提高数据质量时,往往忽略了学生模型与数据的兼容性。
- 研究难点:该问题的研究难点包括:如何确保教师模型改进的数据与学生模型的需求兼容,以及如何在不需要大量新数据的情况下,自动优化现有指令微调数据。
- 相关工作:该问题的研究相关工作有:人类专家策划的数据集、利用预训练LLMs蒸馏响应的方法、以及探索LLMs的自我改进能力来改进训练样本。然而,这些方法通常没有考虑评估模型与实际学生模型之间的差异。
研究方法
这篇论文提出了选择性反射调整(Selective Reflection-Tuning),用于解决指令微调数据质量问题。具体来说。
选择性指令反射:首先,教师模型根据某些标准对原始数据样本进行反思,生成一个新的指令-响应对。公式如下:
x0是原始指令,y0是原始响应,Cins是反射标准,g是教师模型。
选择性响应反射:其次,教师模型再次根据某些标准对响应进行反思,生成一个新的响应。公式如下:
其中,x1 是更新后的指令y1 是原始响应,res,1,... 是响应反射标准,g 是教师模型。
数据选择:然后,学生模型根据指令遵循难度(IFD)和响应可行性(r-IFD)评分,决定是否接受改进后的数据。公式如下:
其中,θ 是学生模型的参数,IFDθ 和IFDθ 分别是IFD和r-IFD评分。
第一个公式:
这个公式表示学生模型在选择数据时,会寻找使得IFD分数最大化的指令-响应对(x, y)。这里的IFD分数衡量了给定指令x下,模型生成响应y的难度。具体来说:
- IFDθ(y∣x):表示在给定学生模型参数θ的条件下,模型在遵循指令x生成响应y的难度。这是通过比较生成响应y时的条件熵与无条件熵来计算的。
- argmax:表示选择使得IFD分数最大的指令-响应对,即选择那些对学生模型来说难度最大的样本。这可以帮助模型在训练时专注于更具挑战性的任务。
第二个公式:
这个公式表示学生模型在选择数据时,会寻找使得r-IFD分数最小化的指令-响应对(x, y)。这里的r-IFD分数衡量了给定响应y时,模型推断出对应指令x的可行性。具体来说:
- r−IFDθ(x∣y):表示在给定学生模型参数θ的条件下,模型在给定响应y的情况下推断出指令x的难度。这是通过比较生成指令x时的条件熵与无条件熵来计算的。
- minargmin:表示选择使得r-IFD分数最小的指令-响应对,即选择那些对学生模型来说最容易从响应推断出指令的样本。这有助于模型学习如何从响应中提取和理解指令的意图。
总的来说,这两个公式是选择性反射调整方法中的关键步骤,通过优化数据选择过程来提高模型在指令调整任务上的性能。通过选择难度适中且与学生模型兼容的数据,可以更有效地训练模型,使其更好地理解和遵循指令。
1. 选择性指令反思(Selective Instruction Reflection)
初始数据:流程开始于一些初始数据,包括指令 x0 和响应 y0。
教师模型反思:教师模型首先对指令 x0 进行反思,以生成改进后的指令xins。这个过程旨在使指令更加清晰、详细或更具挑战性。
学生模型选择:然后,学生模型根据改进后的指令 xins 和原始指令 x0,使用指令遵循难度(IFD)分数来评估哪个指令更有利于学习。学生模型选择IFD分数更高的指令,记为 x1。
2. 选择性响应反思(Selective Response Reflection)
教师模型再次反思:教师模型接着对响应 y0 进行反思,考虑到已经选择的指令 x1,生成改进后的响应 yres。这个过程旨在使响应更加准确、详细。
学生模型再次选择:学生模型评估改进后的响应 yres 和原始响应 y0,使用响应可行性(r-IFD)分数来决定哪个响应更适合学习。学生模型选择r-IFD分数更低的响应,记为 y2。
3. 指令调整(Instruction Tuning)
最终选择的数据:经过上述两个阶段的选择,学生模型得到了最终的指令-响应对 (x2,y2),这些数据被认为最适合用于进一步的训练。
微调:使用这些精选的数据对,学生模型进行微调(Finetuning),以提高其在特定任务上的性能。
实验设计
- 数据集:实验使用了两个数据集:Alpaca数据集和WizardLM数据集。Alpaca数据集包含52,002个指令样本,WizardLM数据集包含250,000个指令样本,主要关注WizardLM-7b子集,包含70,000个样本。
- 评估指标:使用四种常用的自动评估指标:成对比较、AlpacaEval、Open LLM Leaderboard和MT-Bench。此外,还进行了人工评估。
- 实验设置:使用Llama2预训练模型,训练过程中使用Adam优化器,7B模型的学习率为2e-5,13B模型的学习率为1e-5,批量大小为128,训练三个epoch,最大长度为2048,预热率为0.03。
结果与分析
-
主要结果:在成对比较中,sRecycled WizardLM 7B模型在大多数情况下优于其他开源模型,无论模型大小或是否使用额外的RLHF/AIF过程。
-
AlpacaEval Leaderboard:在AlpacaEval排行榜上,sRecycled WizardLM 7B和sRecycled WizardLM 13B模型表现出色,胜率接近重量级对手,且不依赖于额外的RLHF或RLAIF过程。
-
Open LLM Leaderboard:在Huggingface Open LLM Leaderboard上,sRecycled WizardLM 7B模型在不同数据量下的表现均优于大多数现有模型,表明其数据质量的高水平。
-
少量数据场景:在少量数据场景下,sRecycled WizardLM 7B模型在仅使用不到1,000个选择性数据时,表现优于大多数现有7B模型,进一步验证了数据质量的高水平。
-
消融研究:消融研究表明,指令反射和响应反射均能显著提高数据质量,且选择性机制进一步提升了模型性能。
消融研究(Ablation Study): 通过消融实验验证了反思和选择机制的有效性。结果表明,仅进行指令反思或响应反思能略微提升数据质量,同时进行两者并加上选择机制能显著提升性能。
优点与创新
- 教师-学生协作管道:提出了一种教师模型和学生模型合作的管道,通过这种协作构建更一致且与学生模型兼容的指令调优数据集,适用于其他自我改进场景。
- 细粒度的评估方案:引入了反向IFD(r-IFD)指标,量化指令-响应对的相关性,并代表样本对学生模型的可行性。
- 少量数据下的卓越性能:仅通过对少量自动生成的数据进行指令调优,模型就实现了顶级性能,表明数据质量极高。
- 创新的双向IFD指标:提出了IFD和r-IFD双重指标,全面而细致地评估指令调优过程,确保精炼的数据与学生模型的能力和目标一致。
- 高效的数据增强方法:通过选择性反射调优,显著提高了现有指令调优数据的质量,无需收集全新的数据。
不足与反思
- 学生模型差异:不同学生模型选择的数据样本不同,因此需要为不同学生模型重新计算IFD分数和r-IFD分数。尽管基于统计的方法比生成式方法更高效,但对于新模型仍需重新计算,这一过程仍不够高效。
使用的prompt:
这篇关于可选择的反思指令微调的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!