论文笔记分享,标题:Instruction Following without Instruction Tuning,代码开源:https://github.com/john-hewitt/implicit-ins
预训练模型已经学会了一种(instruction-response)映射,通过训练模型期望的response分布可以让这种映射显现出来。
无论是指令微调,还是响应微调,还是单任务微调,或者别的规则约束微调,都能让大模型具备在宽域上指令遵循的能力。几种方式区别如下图:
常规指令微调如下:
响应微调:
仅对响应进行微调模型,无需任何相应的指令,指令微调是优化条件概率,优化,每一个instruction需要产生最优的一个response。而响应微调,只需要优化p(y) ,学习期望响应的边缘分布,而不是它们与指令的关系。
二者微调完的结果对比,都能起到相同的功效:
与指令调整的 Llama-2-7B 模型相比,响应调整的 Llama-2-7B 模型平均胜率达到 43.3% 。指令调整始终优于响应调整,但不是很大。
当模型仅在特定类型的数据上微调,但在alpacaeval测试上仍然表现出指令遵循能力。说明即使微调任务与测试指令的领域不同,模型仍然能够展示出对指令的理解和遵循。但是不同的单任务微调数据集对模型性能的提升程度不同。
效果差点意思,那优势有哪些尼?只需要响应数据,意味着:
获取成本低 (单响应,比pair对更容易) 只训练响应,潜在就存在迁移学习,可能更容易迁移到别的任务 预训练模型可能已经隐式地学习了指令-响应映射。响应调整可以触发这种隐式知识,无需显性学习 响应调整可以作为模型改进过程的一部分,如,可以先用响应微调预训练一个模型,然后再用指令调整进行微调,以进一步提高性能。