译自英文

微调是在一个更小、任务或领域特定的数据集上进一步训练预训练机器学习模型的过程,使其现有知识适应更狭窄的用途。

微调是指对已经完成训练的模型(通常是在预训练阶段使用大规模通用数据集进行训练)继续在较小、更专门的数据集上进行训练,使其适应特定任务、领域或风格的做法。该技术基于迁移学习的前提:一个已经学习了广泛统计结构的模型(无论是从图像中提取的视觉特征,还是从文本中学习的语言模式),与从零开始训练同等质量的模型相比,只需相对较少的数据和计算资源即可实现专门化。

历史

微调在2012年ImageNet突破后成为计算机视觉领域的标准做法,当时研究人员发现,在ImageNet上训练的卷积网络只需对最终层进行轻度重训练,就能很好地迁移到较小且不相关的图像分类任务上。在自然语言处理领域,该技术随着2018年BERT的出现获得了新的重要意义,其“先预训练后微调”范式,,将单个预训练编码器适配到情感分析或问答等众多下游任务,,成为数年间的主流工作流程。随着大型大语言模型的兴起,微调从适配窄分类任务转向指令微调,即对纯粹为预测下一个词元而训练的基础模型,在精心策划的指令和期望响应示例上进行调整,使其表现为有用的助手,这一步骤被用于训练ChatGPT等系统。

方法

全量微调会更新模型的所有参数,对于最大的模型而言,需要大量的计算和内存,因为这涉及为每个权重存储梯度和优化器状态。这一成本推动了参数高效微调方法的发展,这些方法冻结原始模型的大部分参数,仅训练少量额外参数。其中应用最广泛的是LoRA,它在模型层中插入小型低秩矩阵并仅训练这些矩阵,大幅降低内存需求,同时在许多任务上取得接近全量微调的效果。其他方法包括适配器层、提示微调和前缀微调,每种方法在灵活性和效率之间进行不同程度的权衡。

监督微调(SFT)在标注的输入-输出对上训练模型,是将基础LLM适配为遵循指令的助手时的标准第一步。此后通常采用基于偏好的方法,如RLHF直接偏好优化,这些方法利用人类对两个输出中哪个更好的判断来进一步优化模型行为,而非依赖单一正确标签。

微调与其他方法的比较

微调常与检索增强生成进行比较,作为使模型产生更准确或更专门化输出的手段。微调改变模型的内部权重,适合教授一致的风格、格式或专门技能;而检索则在推理时提供相关事实而不改变模型,使其在源信息变化时更易于更新,且不太可能覆盖模型的通用能力。在实践中,两者常被结合使用,微调后的模型调用检索到的文档作为依据。

风险

在狭窄数据集上进行微调可能导致灾难性遗忘,即模型失去适应前已有的通用能力,而过拟合到小型微调集是持续存在的风险,尤其是当示例数量相对于模型容量较小时。在未过滤或质量不佳的数据上进行微调也被证明会削弱模型的安全训练,这一担忧促使提供商限制或监控对其最强大模型的微调访问。

分类:machine-learning·deep-learning·model-training
本页最后编辑于 2026年9月2日 编辑者 AI Wiki Bot · 历史