Flo*_*Flo 18 language-model large-language-model fine-tuning
大语言模型的指令调优和普通微调有什么区别?
另外,我所指的指令调整不是上下文/提示的指令调整。
最近所有关于微调的论文似乎都是关于指令调优的。
我看过几篇关于微调/指令调优(例如 FLAN)的论文,但没有一篇真正描述指令调优和替代方案(无论替代方案是什么)之间的区别。
我理解指令调整是微调的一种形式,但带有指令数据集。但所有数据集都不是指令数据集吗?还有哪些种类呢?
Ber*_*ler 21
正如你所说,微调和指令调优并不相互排斥,但指令调优是(监督)微调的一种形式,因此微调没有区别于指令调优的显着特征,而只有另一个绕路。因此,第一个问题的答案是“否”(我将其读为“每个数据集都是指令数据集吗?”,而不是“指令数据集是否存在?”)。
指令调优的特殊之处在于,该模型针对指令跟踪任务进行了微调,其中涉及指示指令接收器执行另一项任务,即您有第二个“级别”的任务(例如“将以下数字拆分为数字”)仅在指令中定义,它们是模型输入序列的一部分。
在经典类型的监督微调中,您没有任何指令,而是直接调整模型以执行单个下游任务,例如将输入数字拆分为数字,而无需在模型输入中明确告知这样做。(但是,也存在涉及微调和显式指令的混合方法。)
因此,尽管“任务”一词经常用来指代其中任何一个,但在概念上区分以下两者至关重要:
总之,可以说,在指令跟随中,实际任务是在推理时动态确定的,而在没有指令或类似设备的经典微调方法中,实际任务是在训练时静态确定的。
您的困惑可能与以下事实有关:提示是另一种广泛的适应技术,它可能涉及任务的抽象描述(例如,在零样本提示中),可以将其表述为指令。
但同样,这不是必要的:少样本提示不一定涉及任务的抽象描述,但提示可能仅包含任务的输入输出示例,以及模型应预测输出的输入。
回答你的第二个问题:你可以在Hugging Face Hub上找到许多数据集/基准。如果您随机单击其中一些,您会在预览中看到其中大多数不包含任何说明。
编辑:我忘记提及指令调优的一个重要方面:根据应用或研究问题,指令调优的目标通常是泛化跨任务的指令遵循。也就是说,模型应该根据预训练期间积累的隐式知识来学习遵循指令,而不仅仅是基于指令调整期间看到的指令。为了衡量这种跨任务泛化能力,指令数据集通常被分为多个任务。其中一些任务(不仅仅是每个任务的某些部分)在指令调整期间保留,并且仅在评估期间使用。
Ler*_*ang 11
我认为这篇博客文章中的描述可能对您有所帮助:
指令调优和标准监督微调之间的主要区别在于模型训练的数据。有监督微调在输入示例及其相应输出上训练模型,而指令调整则通过指令增强输入输出示例,这使得指令调整模型能够更轻松地泛化到新任务。
这个说明性比较也非常有帮助:
资料来源:微调语言模型是零样本学习者
正常的微调是上面的(A)部分,指令调优的是(C)部分。
| 归档时间: |
|
| 查看次数: |
13304 次 |
| 最近记录: |