1.微调(Supervised Finetuning)
指令微调阶段使用了已标注数据。这个阶段训练的数据集数量不会像预训练阶段那么大,最多可以达到几千万条,最少可以达到几百条到几千条。指令微调可以将预训练的知识“涌现”出来,进行其他类型的任务,如问答类型的任务。一般指令微调阶段对于在具体行业上的应用是必要的,但指令微调阶段一般不能灌注进去新知识,而是将已有知识的能力以某类任务的形式展现出来。
指令微调任务有多种场景,比较常用的有:
- 风格化:特定的问答范式
- 自我认知:自我认知改变
- 能力增强:模型本身能力不够,对具体行业的数据理解不良
- Agent:支持Agent能力,比如程序编写、API调用等
上述只是举了几个例子,一般来说距离用户最近的训练方式就是指令微调。
一般来说,LLM中指的base模型是指经过了预训练(以及进行了一部分通用指令的微调)的模型。Chat模型是经过了大量通用数据微调和人类对齐训练的模型。
如何选择base模型和chat模型进行微调呢?
- 数据量较少的时候(比如小于1w条)建议使用chat模型微调
- 数据量较多、数据较为全面的时候,建议使用base模型微调