大模型微调
大模型微调
- 参数
- 微调框架
- 免费算力平台
- 本地微调框架
针对特定任务或领域,以高效方式对预训练大模型进行局部参数优化,在最小化计算成本的同时提升任务性能。核心方法包括参数高效微调技术(如LoRA、Adapter),仅调整少量参数即可实现精准适配。
参数
- LoRA:低秩矩阵的维度大小。常用 8、16、32、64、128,越大表示适配能力越强,但参数量和显存占用也会增加。
- target_modules:指定要对模型中哪些模块应用 LoRA 适配。
q_proj
,k_proj
,v_proj
,o_proj
:Transformer 自注意力机制中的查询(Query)、键(Key)、值(Value)和输出(Output)投影层。gate_proj
,up_proj
,down_proj
:Feed-Forward 网络(FFN)中的门控、上行、下行投影层。
默认选择所有注意力层和 FFN 层,可以缩小范围(如仅q_proj
,v_proj
)以进一步减少参数量。 - per_device_train_batch_size:每个GPU的批次大小(根据显存调整)
- gradient_accumulation_steps:梯度累积步数(等效批次大小 = batch_size * steps)
- warmup_steps:学习率预热步数(避免初始不稳定)
- max_steps:最大训练步数(覆盖
num_train_epochs
) - learning_rate:初始学习率(常用 1e-5 到 2e-4)
- weight_decay:权重衰减系数(防止过拟合)
- lr_scheduler_type:学习率调度策略(如线性衰减),
linear
:线性衰减到 0,经典策略。其他选项:cosine
(余弦衰减)、constant
(恒定学习率)等。
微调框架
- Hugging Face Transformers + PEFT库:集成LoRA、Adapter等方法,快速实现高效微调。
- unsloth:集成LoRA、Adapter等方法,快速实现高效微调。
免费算力平台
- colab+huggingFace,https://colab.google/,需要科学上网。
- 魔搭社区,https://www.modelscope.cn/。
本地微调框架
- modelscope+unsloth
- modelscope+lamma factory
后续文章将逐一介绍以上四种微调方式