OpenAI GPT-3 API:二次微调选基础模型还是已微调模型?
关于OpenAI微调二次迭代的方案选择
两种路径没有绝对的优劣,完全匹配你的数据集构成和训练目标选择即可:
- 如果
mydata2K.jsonl是覆盖了mydata1K.jsonl全部样本、额外新增1K样本的完整数据集,优先选从ada基础模型结合全量mydata2K.jsonl从头训练的路径。
连续多轮叠加微调很容易触发灾难性遗忘问题:如果两次训练的数据集分布存在偏差、或是第二轮的学习率、训练轮次等超参数设置不当,第一轮微调学到的1K样本特征很容易被覆盖,最终效果波动会很大。用全量数据集从头训练,模型可以一次性学习所有样本的规律,不会出现前后知识冲突,效果稳定性和上限都更高。 - 如果
mydata2K.jsonl是完全不包含mydata1K.jsonl内容的纯新增增量样本,且你不想耗费时间合并两次数据集重跑全量训练,再选择基于已微调模型ada:ft-acme-inc-2022-06-25做增量微调的路径。
选这个路径要注意两个实操要点:- 第二轮微调的学习率要比第一轮低30%50%,训练轮次从12轮开始测试,不要设太高,避免冲掉第一轮已经学好的特征;
- 训练完成后必须做对照验证:用同时覆盖旧样本、新样本的测试集分别评估两个路径产出的模型,确认增量微调的模型在旧任务上效果没有明显掉点、新任务效果符合预期再上线,不要默认增量微调的效果一定更好。
官方开放2022-04-21之后创建的微调模型的二次微调权限,本质是面向小批量增量数据迭代的场景设计的。如果你的新数据集规模已经超过第一次训练的数据集规模,绝大多数场景下全量从头训练的收益会高于叠加微调。
内容的提问来源于stack exchange,提问作者ImitationGamer
相关产品推荐
相关产品推荐

