当前位置: 首页 > news >正文

指令微调时,也要考虑提示损失

动机

大模型在预训练之后往往需要经过指令微调,以更好地遵循人类指令。常规做法是在自回归流程中,只对回答部分计算损失而忽略提示部分的误差。但这样的设计是否最优,一直缺乏深入研究

OpenAI 的 fine-tuning API 曾允许为 Prompt 部分设定一个小的非零权重,默认为0.01,声称“对短回答的数据可以稳定训练”,但当时缺乏广泛的实验证据,后来也移除了此参数

理论上,如果训练时加入提示部分损失,可能会带来两方面影响:

  • 正向效应(稳定训练): 当训练数据的答案很短时,纯粹依靠短答案部分更新参数可能不足以稳定地优化模型。此时给予 Prompt 部分一个小的损失权重,相当于提供了额外的预测任务,哪怕Prompt只是重复输入,也为模型提供了类似正则化的信号,避免因有效训练信号过少而发生梯度发散

  • 负效应(目标偏差): 引入 prompt 损失存在训练-测试不一致的风险,模型可能过多关注指令文本的复现,而非专注于生成正确的回答

所以我们需要在这两种效应之间取得平衡,需要在不同尺寸、不同架构的模型上进行广泛的测试,以确认提示损失到底要不要算、要算多少

实验结果

一、训练方法

对提示和回答 token 的损失进行加权,如下图所示

在这里插入图片描述

二、对不同长度任务的影响

根据上述理论分析,我们认为使用提示损失的最大作用在于处理短回答指令任务。于是基于 Stanford Alpaca 数据集构造短回答样本与长回答样本(划分依据为回答长度是否大于提示长度)进行训练,并在八个下游任务中进行测试(ARC、WinoGrande、PIQA、TruthfulQA、WMT等)

在这里插入图片描述

如图所示,将提示损失权重从0逐步提高到1,完整数据和长数据构建的模型整体效果变化不大,而短数据训练的模型却展示出了性能由弱变强再下降的趋势,说明之前的理论分析正确:对于短文本指令任务,加入提示损失明显利大于弊

参考文献:
https://arxiv.org/pdf/2401.13586v2
Instruction Fine-Tuning: Does Prompt Loss Matter?

三、更广泛的测试

另一项研究更完善地测试了不同架构、尺寸、训练数据规模的模型,通过多种损失权重组合上进行训练后,在五个基准上(MMLU、BBH、AlpacaEval、IFEval、MT-Bench)的准确率

在这里插入图片描述

如上图所示,传统的微调方案很少产生最佳的模型性能,而在大约 81% 的情况下,最佳性能的模型是通过低到中等的提示标记权重(0 到 0.6)和中等到高的响应标记权重(0.4 到 1)获得的

在这里插入图片描述

理想情况下,我们希望指令微调后的模型对输入噪声具有良好的鲁棒性,即模型更多地学到了指令背后的逻辑,而非专注于数据表层的语义模式。对此,作者测试时使用了拼写错误、重新措辞和格式更改后的样本,检查模型回答的一致性:

在这里插入图片描述

可以发现,使用传统指令微调的模型在提示敏感性方面几乎从未表现最佳,并且通常还会比未经训练的基础模型更加敏感。而如果给一个较低的提示权重,敏感性通常会降至最低

微调后的模型往往还需要进行各种基于强化学习的对齐训练。实践中我们可能会发现,不同模型存在“可塑性”差异:某些微调模型在做对齐训练时可能表现不佳。对此,作者测试了使用了提示加权训练出来的模型,与传统微调模型,进行 DPO 后训练时的效果差异

在这里插入图片描述

可见使用了提示权重所训练的模型,会更适合进行下游对齐

参考文献:
https://arxiv.org/pdf/2507.07817
On the Effect of Instruction Tuning Loss on Generalization

总结

介绍的两项研究都揭示了指令微调中损失函数设计与模型泛化能力之间的重要联系,适度地对 prompt 本身进行损失计算与学习是有益的

http://www.lryc.cn/news/586455.html

相关文章:

  • 《Java Web程序设计》实验报告六 JSP+JDBC+MySQL实现登录注册
  • 多表查询-4-外连接
  • xml映射文件的方式操作mybatis
  • 2025 全球酒店用品厂家竞争力排行榜发布:扬州卓韵领衔,布草工厂实力重塑行业格局
  • 使用iso制作ubuntu22.04docker镜像
  • 【数据结构初阶】--单链表(一)
  • ICCV2025 特征点检测 图像匹配 RIPE
  • dify 用postman调试参数注意
  • 【数据结构初阶】--顺序表(二)
  • Compose笔记(三十四)--LayoutModifier
  • Raft-领导者选举
  • 基于YOLO11的垃圾分类AI模型训练实战
  • C语言课程设计--电子万年历
  • 第十八天,7月12日,八股
  • Agent 设计模式
  • 卫星通信终端天线的5种对星模式之二:DVB跟踪
  • Mamba架构的模型 (内容由deepseek辅助汇总)
  • 关于赛灵思的petalinux zynqmp.dtsi文件的理解
  • C++ Primer(第5版)- Chapter 7. Classes -001
  • Web学习笔记3
  • Windows环境下JS计时器精度差异揭秘
  • Qt:QCustomPlot类介绍
  • LangChain极速入门:用Python构建AI应用的新范式
  • zcbus使用数据抽取相当数据量实况
  • Scrapy爬虫中间件核心技术解析:定制化爬虫的神经中枢
  • CCS-MSPM0G3507-2-基础篇-定时器中断
  • 69 局部变量的空间分配
  • 通俗范畴论13 鸡与蛋的故事番外篇
  • C++类模板继承部分知识及测试代码
  • Golang操作MySQL json字段优雅写法