AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


指令微调要不要mask提示词部分的损失?
发布日期:2024-06-20 16:29:05 浏览次数: 1931


“指令微调过程中,是否需要mask掉提示词部分的损失?”这似乎是个很常见的问题,很多训练仓库里边这部分输入的label都会改成-100,计算损失的时候,忽略这部分。当然也有的仓库会计算这部分,比如trl里边比较早的一些例子。

针对这种冲突,当然有一些研究给出了一些实验结果,如下图为,qlora中的一个对比图,发现只在target上训练上可以获得更好的效果。相对来说,这些实验因为都是一些附加实验,所以不够深入,今天的分享的文章深入探讨了这个问题。

简洁版结论

  • 名词定义:损失同时考虑prompt+response,称为IM(instruction modelling);损失只考虑response,称为IT(instruction tunning)

  • 通过在 21 个不同的基准测试中进行实验,作者发现 IM 方法在许多情况下都能有效地提升 LMs 在自然语言处理(NLP)任务(例如 MMLU、TruthfulQA 和 HumanEval)以及开放式生成基准测试(例如 MT-Bench 和 AlpacaEval)上的性能。特别是在 AlpacaEval 1.0 上,IM 方法在最有利的情况下能够将模型性能提升超过 100%。

  • 影响 IM 有效性的两个关键因素:(1)训练数据中指令长度与输出长度之间的比率;当训练数据中的指令较长而输出较短时,IM 特别有效。(2) 训练样本的数量。在训练样本数量较少的情况下,IM 方法表现更好。

文章&实验代码仓库:

https://arxiv.org/pdf/2405.14394
https://github.com/ZhengxiangShi/InstructionModelling

实验结果一:

  • IM能获得更好的效果。
  • 上图中,数据集长度和大小的变化产生的变化,一个合理的解释是,如果response很短并且只有几个训练样本,则模型更容易记住response,因此IM,在损失中对更多的模型输出进行建模,可以帮助减少过拟合。

实验结果二:

  • 只计算输出部分的损失。IM 具有较高的训练损失和较低的测试损失,这表明与 IT 相比,IM 有效地缓解了过度拟合问题。
  • IM训练完的模型,模型的输出与真实回复之间的bleu更低,相似性更低
  • IM 具有较低的Instruction Tuning Tax
  • KL正则化不能轻易解决指令调优的过拟合问题。(1)结合 KL 损失可以减少过度拟合并减少传统 NLP 任务的性能下降。(2)KL Loss 会对模型的指令跟随能力产生不利影响。

实验结果三:

  • IM 相比于IT 不会产生更长的响应
  • neftune很多时候能让IM效果更好

最后

简而言之,作者发现,在指令调整过程中同时考虑指令和输出,有效地提高了语言模型的性能,尤其是在数据资源受限或指令较长而输出较短的情况下。可能跟一些认知有些冲突,但是尝试一下可能是有意义的,毕竟这个跟数据集大小和长度都有关系。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询