微调是什么?怎样用训练样本改变已有模型的任务表现
从客服分类例子解释模型微调,区分参数更新、提示词和知识库检索,并说明训练集质量、保留测试集及平台开放范围怎样影响使用。
先理解这个概念
微调是在已有模型基础上继续训练,更新全部参数或一部分适配参数,使它更适合特定任务。它可以用于学习输出格式或分类习惯,但不是把文档上传到聊天窗口。微调也不能保证记住所有新事实。先检查提示词和已有资料是否足够,再用未参加训练的问题比较结果,才能判断训练有没有带来可用改善。
继续训练改变的是模型参数
给模型几条示例让它当场参考,通常属于提示词中的上下文学习。微调则把样本用于训练,得到新的模型参数或适配器,后续调用时使用这个版本。两种做法都可能改变回答,但保存和更新的对象不同。
例如客服工单必须归入配送、退款或其他类别,可以先给清晰标签定义和示例。只有这一步仍不稳定,并且有足够准确的样本时,才进一步评估微调。模型原本缺少订单状态时,训练分类习惯不能替代查询真实订单。
训练样本要贴近实际输入方式
样本应包含用户真正会提交的表达,而不只有整齐的标准问句。相同工单若被不同人标成不同类别,需要先解决标注冲突。把这些冲突直接交给训练,并不会自动得到符合团队要求的分类规则。
如果正式回答会附带检索段落,训练样本也应呈现接近的上下文形式。训练时只有一句问题,使用时却附上多页资料,会让两种输入差异很大。先保留基础模型加提示词的结果,便于比较训练究竟改善了哪个错误。
用未参加训练的问题检查改进与退化
训练集中的问题再次答对,只说明模型会处理见过的材料。测试集应排除近似重复,并覆盖容易混淆的标签。还要保存以前已经能正确处理的问题,检查新版本是否为改善一类任务而损坏另一类结果。
微调的可用模型和入口取决于服务商当前安排。OpenAI的优化文档已提示其微调平台正在收缩,新用户不能据旧教程直接获得访问。本文解释通用训练方法,具体实施前应核对所选平台;没有训练本页例子,也没有准确率或费用实测。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。