范叶亮写智能体、模型和数据系统时,习惯先把定义和边界钉死。把「大语言模型微调」整理成可落地的中文笔记:问题在哪、默认做法会踩什么坑、该怎么选。原站导航和广告已去掉。

什么是微调

微调(Fine-tuning)是深度学习中迁移学习的一种方法,其将现有模型已经学到的知识作为学习新任务的起点。虽然微调表面上是模型训练中使用的一种技术,但它与传统意义上的“训练”截然不同。为了消除歧义,在这种情况下通常将传统意义上的“训练”称为预训练(Pre-training)。 1

与微调类似的另一个概念称之为后训练(Post-training),两者均发生在预训练之后,其目的也都是为了进一步提升模型的效果,通常两者可以理解为相同的概念。从优化的发起人角度出发:当终端用户希望模型可以更好的适配自己的领域知识,则需要进行的操作称之为微调;当模型开发者希望可以更好的将模型与人类的价值、道德和预期保持一致,则需要进行的操作称之为后训练。 2

为什么微调

从本质上讲,磨练一个预训练基础模型的能力要比从头开始训练一个新模型更容易,也更省钱,因为预训练已经获得了与当前任务相关的广泛知识。对于具有数百万甚至数十亿个参数的深度学习模型尤其如此,例如在自然语言处理(NLP)领域的大语言模型(LLM)或卷积神经网络(CNN)和视觉转换器(ViT)(用于计算机视觉任务,例如图像分类、对象检测或图像分割等)。

通过迁移学习利用先前的模型训练,微调可以减少获得适合特定用例和业务需求的大模型所需的昂贵算力和标记数据量。例如,微调可用于调整预训练大语言模型的对话语气或预训练图像生成模型的图片样式,还可用于使用专有数据或领域特定的专业知识来补充模型的原始训练数据集。

如何去微调

微调是需要进一步训练模型的技术,模型的权重已经通过先前的预训练得到了更新。使用基础模型的先前知识作为起点,通过在任务特定的较小数据集上进行训练来对模型进行微调。

虽然从理论上讲,任务特定的数据集都可以用于初始训练,但在小数据集上从头开始训练一个大模型可能会存在过拟合的风险:模型可能会在训练示例中学习得到良好的表现,但对新数据的泛化能力却很差。这会导致模型不适合给定的任务,也违背了模型训练的初衷。 因此,微调可以兼具两者的优势:利用对大量数据进行预训练所获得的广泛知识和稳定性,并训练模型对更详细、更具体概念的理解。

微调方法分类

从参数角度,我们可以将微调分为全参数微调(Full Fine-tuning)和部分参数微调(Repurposing):

从数据角度,我们可以将微调分为监督微调(Supervised Fine-tuning)和无监督微调(Unsupervised Fine-tuning):

显存消耗

从方式角度,我们可以将微调划分为指令微调(Instruction Fine-tuning)和对齐微调(Alignment Fine-tuning):

在进行模型微调时我们需要关注显存的消耗,以确保在当前的硬件环境中可以正常进行微调。在进行模型微调时,显存消耗主要同如下因素有关:

参数高效微调

以全参数微调一个 1B 模型为例,所需的显存大致为 12GB(模型参数:2GB,梯度:2GB,优化器状态:8GB)。在使用部分参数微调时,模型参数本身不变,需要微调的参数会大幅度减少,因此梯度和优化器状态所需的显存也会大幅度减少。在应用一些量化技术后,例如使用 INT8 精度进行微调,则所有部分的显存占用均会相应的减少。

参数高效微调(Parameter-Efficient Fine-Tuning)是指固定大部分预训练模型的参数,仅微调少量或额外的模型参数的微调方法,从而可以极大的降低计算成本。参数高效微调可以从方法的角度可以分为三类 3 :引入新参数(Addition-based),微调部分参数(Selection-based)和重参数化(Reparametrization-based),其中引入新参数又可以划分为适配器方法和软提示方法两种。

值得单独记下的点

  • 全参数微调 :即对模型的所有参数进行微调。这种微调方法通常适用于任务与预训练模型之间存在较大差异的情况。全参数微调需要耗费较大的计算资源和时间,通常可以获得更好的性能,但在数据不足时容易出现过拟合问题。
  • 部分参数微调 :即仅对模型的部分参数或额外的模型参数进行微调。相比于全参数微调,部分参数微调可以在较少的计算资源和时间的情况下,在一些特定任务上提高模型的性能。
  • 监督微调 :在进行微调时使用 有标签 的训练数据集。通过使用这些标签来指导模型的微调,可以使模型更好地适应特定任务。
  • 无监督微调 :在进行微调时使用 无标签 的训练数据集。通过学习数据的内在结构或生成数据来进行微调,以提取有用的特征或改进模型的表示能力。
  • 指令微调 :利用格式化的实例以有监督的方式微调大语言模型。通过指令微调不仅可以改善模型的性能,同时也可以增强模型的泛化能力。
  • 对齐微调 :为了避免大语言模型的幻觉问题,以及同人类的价值观和偏好对齐,提高伦理表现,将人类整合到模型的训练过程中。例如基于人类对结果的反馈,模型通过强化学习从而与人类对齐。
  • 参数精度 :决定了每个参数占用的实际显存大小,例如 FP32(单精度)占用 4 字节,FP16(半精度)占用 2 字节,INT8 占用 1 字节等。
  • 模型参数 :微调所需显存的基础决定因素,例如微调一个 1B 模型,其参数总量则为 10 亿。

落地时建议先做的 5 件事

  1. 先写清任务能不能被自动验证:能验证的交给系统和评测,不能验证的留给人审。
  2. 本地部署先算显存、延迟和失败回滚,不要只看能跑通一次。
  3. 多智能体只在单智能体触到上下文或专业边界时再拆。
  4. Token、微调和压缩都要有对照数字,避免口号式优化。
  5. 结论写成可检查清单:接口、超时、评测集、回滚版本。

和智能体产品怎么接

龙虾PRO做 OpenClaw 落地时,最该拿走的是「单智能体先做好工具和提示,再谈编排」。数字员工、技能市场和网关应共用同一套评测与权限,而不是各写一套角色人设。

本文侧重全链路风控方法论。落地时请用自身业务单据做回放验证,不要把示例阈值直接当生产策略。 相关:风控体检 · 方案资源

常见问题 FAQ

什么是AI智能系统?

「AI智能系统」可概括为:微调(Fine-tuning)是深度学习中迁移学习的一种方法,其将现有模型已经学到的知识作为学习新任务的起点。虽然微调表面上是模型训练中使用的一种技术,但它与传统意义上的“训练”截然不同。为了消除歧义,在这种情况下通常将传统意义上的“训练”称为预训练(Pre-training)。 1 本文从定义、方法与实践要点展开说明。

为什么要关注AI智能系统?

关注AI智能系统,是因为它直接影响效率、风险与可复制性。文中指出:微调(Fine-tuning)是深度学习中迁移学习的一种方法,其将现有模型已经学到的知识作为学习新任务的起点。虽然微调表面上是模型训练中使用的一种技术,但它与传统意义上的“训练”截然不同。为了消除歧义,在这种情况下通常将传统意义上的“训练”称为预训练(Pre-training)。 1

如何落地AI智能系统?有哪些关键步骤?

建议按以下路径推进AI智能系统:1) 全参数微调 :即对模型的所有参数进行微调。这种微调方法通常适用于任务与预训练模型之间存在较大差异的情况。全参数微调需要耗费较大的计算资源和时间,通常可以获得更…;2) 部分参数微调 :即仅对模型的部分参数或额外的模型参数进行微调。相比于全参数微调,部分参数微调可以在较少的计算资源和时间的情况下,在一些特定任务上提高模型的性能。;3) 监督微调 :在进行微调时使用 有标签 的训练数据集。通过使用这些标签来指导模型的微调,可以使模型更好地适应特定任务。;4) 无监督微调 :在进行微调时使用 无标签 的训练数据集。通过学习数据的内在结构或生成数据来进行微调,以提取有用的特征或改进模型的表示能力。;5…

AI智能系统适合哪些人或团队?

AI智能系统更适合:产品/技术负责人、运营与增长团队、需要落地智能体或自动化的中小团队、关注「AI智能系统」方向的读者。若你只需要单次聊天式问答,可先读概念;若要上生产,请重点看步骤、权限与风控相关段落。

关于「什么是微调」,本文给出了什么结论?

在「什么是微调」部分,要点是:st-training),两者均发生在预训练之后,其目的也都是为了进一步提升模型的效果,通常两者可以理解为相同的概念。从优化的发起人角度出发:当终端用户希望模型可以更好的适配自己的领域知识,则需要进行的操作称之为微调;当模型开发者希望可以更好的将模型与人类的价值、道德和预期保持一致,则需要进行的操作称之为后训练。 2 为什么微调 从本质上讲,磨练一个预训练基础模型的能力要比从头开始训练一个新模型更容易,也更省钱,因为预训练已经获得了与当

关于「为什么微调」,本文给出了什么结论?

在「为什么微调」部分,要点是:(Instruction Fine-tuning)和对齐微调(Alignment Fine-tuning): 在进行模型微调时我们需要关注显存的消耗,以确保在当前的硬件环境中可以正常进行微调。在进行模型微调时,显存消耗主要同如下因素有关: 参数高效微调 以全参数微调一个 1B 模型为例,所需的显存大致为 12GB(模型参数:2GB,梯度:2GB,优化器状态:8GB)。在使用部分参数微调时,模型参数本身不变,需要微调的参数会大幅度减少,因