多任务指令微调 (Multi-task instruction fine-tuning)
多任务指令微调(Multi-task instruction fine-tuning)是单任务微调的扩展,其主要特点如下:
多任务微调的特点:

- 在多任务微调中,训练数据集包含了多个任务的示例输入和输出。
- 这种数据集包含指导模型执行各种任务的示例,如总结、评价、代码翻译和实体识别。
训练过程:
- 模型在这种混合数据集上进行训练,以便同时提高多个任务上的性能。
- 这样做可以避免单任务微调中可能出现的“灾难性遗忘”现象。
训练数据需求:
- 多任务微调需要大量数据。可能需要50,000至100,000个示例。
- 尽管数据需求量大,但收集这些数据很有价值,因为所得模型通常非常强大,适用于需要在多个任务上表现良好的场合。
多任务微调的示例:

- FLAN(Fine-tuned Language Net)是一个特定的指令集,用于微调不同的模型。
- FLAN-T5和FLAN-PALM分别是T5和PALM基础模型的FLAN微调版本。
- FLAN-T5是一个经过473个数据集和146个任务类别微调的通用指令模型。
微调模型的性能提升:
- 多任务微调模型通过在训练过程中计算各示例的损失并更新模型权重,从而学会同时在多个不同任务上表现良好。
微调中的实际应用:

SAMSun: A Dialogue dataset

Sample FLAN-T5 prompt templates

Improving FLAN-T5’s summarization capabilities
- 例如,FLAN-T5模型可以用于对话总结任务,如使用SAMSum数据集进行微调。
- 实际应用中使用针对特定领域的数据集进行微调可以进一步提高模型在特定任务上表现
评估微调模型的质量:

Summary before fine-tuning FLAN-T5

Summary after fine-tuning FLAN-T5
- 在微调过程中,重要的是评估模型完成任务的质量。
- 使用多种指标和基准测试来确定模型的性能及微调版本相比原始基础模型的改进程度。
多任务指令微调是一种有效的方法,用于提升模型在多种任务上的性能。通过这种方法,可以使模型在多个不同任务上同时表现出色,同时避免了灾难性遗忘的风险。尽管这种方法需要更多的数据和计算资源,但通常得到的模型更加强大,适用于多任务场景。