先这样答
特定任务不先纠结预训练还是微调。业务侧通常在提示词、RAG、微调三档里做选择。我的判断顺序是三问:任务和通用能力差多少,手里有多少高质量领域数据,相关知识更新得快不快。
如果任务和模型已有的通用能力差距小,先用提示词。提示词能表达清楚任务要求,就不急着改参数。如果有几千条高质量领域数据,而且任务需要稳定学习领域表达和处理方式,再考虑微调。数据少时,微调的依据不够充分。知识会频繁变化时,用 RAG,把知识放在检索内容里,不把它写进参数。预训练从头训练属于基座厂商的工作,业务侧一般不从这里开始。
面试官会怎么追问
-
「如果任务和通用能力差距不大,为什么不直接微调?」 先用提示词可以验证任务要求是否已经能被模型理解。差距小时,微调不一定是必要选择。只有提示词难以稳定表达要求时,才继续评估数据量和微调。
-
「有几千条数据就一定要微调吗?」 不一定。数据还要满足高质量和领域相关两个条件。还要看任务是否确实需要模型学习固定的领域处理方式,不能只按数据条数做决定。
-
「知识更新很快,为什么不把新数据持续微调进去?」 频繁更新的知识不适合直接进入参数。业务侧可以用 RAG,让模型回答时读取变化中的知识。此时重点是提供正确的检索内容,而不是反复修改模型参数。
回答的坑
-
把预训练从头训练当成业务侧的常规选项,忽略了提示词、RAG、微调三档选择。
-
只看数据量决定微调,漏掉任务差距和知识更新频率。
同系列的题
—— 本题完 ——