大模型微调领域充斥着各种专业术语,对于初学者来说,这些术语往往令人困惑。什么是一阶导数,什么是秩分解,什么是KL散度?这些概念不理解透彻,很难真正掌握微调技术的精髓。本文将系统介绍大模型微调中最常见的术语,帮助你建立完整的知识体系。
预训练(Pre-training)是最基础的概念。预训练是指在大规模无标注数据上训练模型,让模型学习语言的统计规律和基础知识。预训练模型已经具备了基本的语言理解和生成能力,但还没有针对特定任务进行优化。预训练通常需要海量的数据和强大的计算资源,是构建大模型的第一步。
微调(Fine-tuning)是相对于预训练的概念。微调是指在特定任务的数据上继续训练已经预训练好的模型,让模型适应特定任务的需求。微调需要的资源远少于预训练,但效果却可能非常显著。微调的本质是让通用模型变成专用模型的过程。
全参数微调(Full Fine-tuning)是指对模型的所有参数进行更新。这种方法可以充分挖掘模型的潜力,但需要大量的计算资源和显存。全参数微调的效果通常是最好的,但成本也是最高的。对于超大规模的模型,全参数微调可能需要分布式训练的支持。

参数高效微调(Parameter-Efficient Fine-tuning,PEFT)是一类方法的统称,旨在用较少的参数完成微调任务。PEFT的核心理念是:既然预训练模型已经学到了大部分知识,微调阶段只需要学习少量任务特定的信息。LoRA、Adapter、Prefix Tuning等都是PEFT的典型代表。
LoRA(Low-Rank Adaptation)是目前最流行的PEFT方法之一。LoRA的原理是在模型的权重矩阵旁添加低秩分解矩阵,通过训练这些小矩阵来适应新任务。相比全参数微调,LoRA可以减少99%以上的参数量,效果却能达到全参数的90%左右。这种极高的参数效率让LoRA成为微调大模型的首选方法。
QLoRA是LoRA的增强版本,它结合了量化技术来进一步降低显存需求。QLoRA将模型量化为4位精度,然后再应用LoRA进行微调。这种方法使得在消费级显卡上微调70B参数的大模型成为可能。QLoRA的出现大大降低了大模型微调的门槛。
Adapter是一类插入到模型层之间的轻量级模块。Adapter通常采用"压缩-恢复"的结构,先将特征压缩到低维空间,再恢复回原始维度。这种设计让模型能够学习任务特定的信息,同时不显著增加推理时的计算量。Adapter的效果不如LoRA,但推理延迟更低。

Prefix Tuning是在Transformer的每层前面添加可学习的虚拟token序列。这些虚拟token作为任务的"提示",引导模型生成与任务相关的输出。Prefix Tuning不需要修改原始模型的权重,只需要训练虚拟token的参数。缺点是推理时仍然需要额外的计算。
学习率(Learning Rate)是训练中最重要的超参数之一。学习率决定了参数更新的步长大小。学习率过大可能导致训练不稳定,学习率过小则收敛太慢。微调时的学习率通常比预训练时低,因为模型已经具备一定的基础能力,需要更精细的调整。
Warmup是指在训练初期逐步增加学习率的技术。Warmup可以帮助模型在训练初期稳定收敛,避免一开始就进行过大的参数更新。常用的warmup策略包括线性warmup、余弦warmup等。Warmup的步数通常是总训练步数的1%到10%。
Batch Size是指每次训练迭代中使用的样本数量。较大的batch size可以提供更稳定的梯度估计,但需要更多的显存。微调时的batch size选择需要在训练稳定性和资源消耗之间权衡。Gradient Accumulation技术可以在有限显存下模拟更大的batch size。
Epoch是指遍历整个训练数据集一次。一个完整的epoch意味着模型已经学习了数据集中的所有样本。训练通常需要多个epoch,但过多的epoch可能导致过拟合。早停机制可以在验证集性能开始下降时停止训练,避免过拟合。

过拟合(Overfitting)是机器学习中的常见问题。过拟合是指模型在训练集上表现很好,但在测试集上表现变差。这说明模型"记住"了训练数据,而非学习到通用的规律。防止过拟合的方法包括增加数据量、使用正则化、早停等。
验证集(Validation Set)用于在训练过程中评估模型性能。通过监控验证集上的指标,可以判断模型是否过拟合,以及是否需要调整超参数。验证集应该与训练集独立,同一数据点不应同时出现在训练集和验证集中。
测试集(Test Set)用于最终评估训练好的模型。测试集应该尽可能模拟实际应用场景,数据分布应该与训练数据有所不同。测试集的结果反映了模型的泛化能力,是评估模型性能的最重要指标。
损失函数(Loss Function)衡量模型预测与真实标签之间的差距。训练的目标是最小化损失函数的值。常用的损失函数包括交叉熵损失(用于分类任务)、均方误差损失(用于回归任务)等。损失函数的选择应该与任务类型相匹配。
KL散度(Kullback-Leibler Divergence)是衡量两个概率分布差异的指标。在PPO训练中,KL散度用于限制新策略与旧策略之间的差异,确保策略更新不会过于剧烈。KL惩罚系数是PPO训练中的重要超参数。
Reward Model是PPO训练中的关键组件。Reward Model是一个独立训练的模型,用于预测人类对模型输出的偏好。在RLHF流程中,Reward Model代替人类对模型输出进行评分,PPO根据这些评分来优化策略。Reward Model的质量直接影响最终效果。
理解了这些基本概念,你就建立起了大模型微调的完整知识框架。这些术语贯穿于微调的全过程,理解它们的含义和作用,对于更好地开展微调工作至关重要。如果你想进一步深入学习微调技术,LLaMA-Factory Online这类平台提供了丰富的实践机会。