链载Ai

标题: 指令微调要不要mask提示词部分的损失? [打印本页]

作者: 链载Ai    时间: 昨天 10:19
标题: 指令微调要不要mask提示词部分的损失?

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

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

简洁版结论

文章&实验代码仓库:

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

实验结果一:

实验结果二:

实验结果三:

最后

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






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5