fine-tuning与few-shot learning的核心差异是什么
核心认知偏差纠正
你目前认为few-shot learning是fine-tuning细分专项的判断,核心疏漏是没有抓住两类方法最本质的分界:是否在过程中更新预训练模型的固有参数,二者属于完全不同的范式,不存在包含关系。
两类范式的核心差异
fine-tuning(微调)的本质
- 所有微调动作的核心都是参数更新:把预训练好的模型权重作为初始值,用下游任务的标注数据走反向传播流程调整模型权重,不管是全参数微调、还是LoRA/Adapter这类轻量参数微调,只要改动了模型本身保存的权重值,就属于微调范畴。哪怕你只用几十条标注数据做参数更新,那也只是「小样本场景下的微调」,不属于原生的few-shot learning。
zero/one/few-shot learning的本质
这三个概念是同一系列的能力,本质都是大模型预训练阶段涌现出的上下文学习(In-Context Learning, ICL)能力,全程不会对模型参数做任何修改,所有任务规则和参考信息都通过推理时输入的prompt传递给模型:
zero-shot learning:不给任何任务参考示例,只在prompt里描述清楚任务要求,直接让模型输出结果one-shot learning:推理时在prompt里附带1个目标任务的输入输出示例,让模型参照示例的逻辑处理新输入few-shot learning:推理时在prompt里附带少量(通常2~几十条)目标任务的输入输出示例,模型靠上下文窗口里的这些示例摸清楚任务规则,直接生成结果,全程不启动训练流程。
容易混淆的常见场景
- 你可能在博客里见过
few-shot fine-tuning的说法,这个才是微调的细分方向:指下游标注数据量极少(和few-shot场景的样本量级相当)时的参数调优方法,本质还是要更新模型权重,和不更新参数的原生few-shot learning不是一回事。 - 要注意概念的语境差异:在预训练大模型普及之前,小模型本身不具备上下文学习能力,当时学术界提到的few-shot learning很多是靠度量学习、小样本微调实现的;但现在技术博客里聊大模型相关内容时提到的zero/one/few-shot,默认指的是不更新参数、靠prompt示例引导推理的上下文学习范式。
- 二者的落地成本和适用场景差异极大:微调不管用多少数据,都需要走训练流程,有额外的训练计算成本,适合任务固定、有稳定标注数据、追求高效果稳定性和低推理成本的场景;few-shot不需要任何训练步骤,只要写好prompt、塞几个参考示例就能快速跑通,适合快速验证、任务规则多变、没有训练资源的场景,但推理时需要把所有示例塞进上下文,token成本更高,效果波动通常比经过良好微调的模型更大。
举个最直白的例子:你教一个已经有通用知识的人做新表格题,给他讲完规则、给两道例题让他直接做,做完不改他脑子里的知识储备,这就是few-shot;你给他讲完规则例题,让他做了几十道题,把做这类题的思路固化到他的长期记忆里,这就是fine-tuning。
内容的提问来源于stack exchange,提问作者Exploring
相关产品推荐
相关产品推荐

