加载中...

Ricky の 大模型学习之路


Ricky の 大模型学习之路

微调

微调概念清单

  • 为什么需要微调 ?✅(2025.3.11)
  • 微调的概念 ✅ (2025.3.11)
  • 微调的步骤 ✅ (2025.3.11)
  • 微调的策略分类 ✅ (2025.3.11)
  • 微调的框架
  • 具体的微调框架
  • 微调的挑战 ✅ (2025.3.11)
  • 微调的相关术语

为什么需要微调?

虽然预训练的 LLM(如 GPT-4、LLaMA)已经学到了大量知识,但在具体应用中,可能仍然有以下问题:

  • 领域适应性不足:如医疗、法律、金融等专业领域的语言和表达方式。
  • 任务针对性不强:如情感分析、摘要生成、代码生成等特定任务。
  • 未掌握特定风格:比如让 ChatGPT 说话更像某个品牌,或者适应某种语气。

微调的概念

大模型微调是指在预训练大模型的基础上,通过特定任务的数据对大模型进一步训练(修改大模型的部分参数、调整大模型的结构等),以提升大模型在该特定任务上的表现。

微调的步骤

  • 准备微调数据集
  • 准备预训练模型
  • 调整模型结构(调整模型的输出层)
  • 使用微调技术进行训练
  • 验证与测试

微调的策略分类

  • 全模型微调(Full Fine-Tuning)
    • 微调所有参数,适合数据充足的情况。
  • 参数高效微调(PEFT, Parameter Efficient Fine-Tuning)
    • 只更新模型的一部分参数,而冻结大部分参数,减少计算量。
    • 低秩适应微调(LoRA,Low-Rank Adaptation)
      • 在预训练模型的权重矩阵上添加低秩矩阵,只训练这些低秩矩阵,从而大幅减少需要训练的参数数量。
    • 适配器微调(Adapter Fine-Tuning)
      • 在预训练模型中插入小的适配器模块,只训练这些适配器模块,而保持预训练模型的参数不变。适配器模块通常是一个小的神经网络层。
  • 提示微调(Prompt Tuning,P-tuning)
    • 提示微调是一种新兴的微调方法,通过在输入中添加特定的提示,引导模型生成期望的输出,而不需要大量修改模型参数。
  • 知识蒸馏微调(Knowledge Distillation Fine-Tuning)
    • 知识蒸馏微调是指使用一个已经训练好的大模型(教师模型)来指导一个小模型(学生模型)的训练。通过这种方式,学生模型可以学习教师模型的知识,从而在特定任务上表现更好。

微调的挑战

  • 数据需求:微调需要大量标注数据,数据不足时效果受限。
  • 计算资源:大模型微调需要大量计算资源,尤其是全模型微调。

微调的相关术语

微调(Fine-tuning)相关术语总结表

中文术语 英文术语 术语解释
预训练 Pre-training 在大规模无监督数据集上训练模型,使其学习通用语言特征。
微调 Fine-tuning 在特定领域或任务数据上进一步训练预训练模型,以提升其性能。
监督微调 Supervised Fine-tuning 使用带有标签的数据进行微调,让模型学习任务的正确输出。
低秩适配 LoRA (Low-Rank Adaptation) 一种高效微调方法,通过对权重矩阵添加低秩适配层来减少计算成本。
参数高效微调 PEFT (Parameter Efficient Fine-tuning) 只调整部分参数(如 LoRA、Adapter),而非整个模型,以减少计算需求。
适配器 Adapter 在 Transformer 层之间插入的小型网络模块,用于高效微调。
全参数微调 Full Fine-tuning 调整整个模型的所有参数,通常需要更高的计算资源。
指令微调 Instruction Fine-tuning 通过提供不同的指令数据,使模型更擅长遵循指令。
强化学习微调 RLHF (Reinforcement Learning from Human Feedback) 结合人类反馈进行强化学习,使模型的回答更符合人类期望。
数据集 Dataset 用于微调的文本或任务数据,通常分为训练集、验证集和测试集。
迁移学习 Transfer Learning 在一个任务上训练的模型权重用于另一个任务,以减少训练成本。
温度参数 Temperature 控制模型输出的随机性,较高温度增加创造性,较低温度增加确定性。
Token 限制 Token Limit LLM 处理的最大 token 数,影响训练和推理过程的上下文长度。
训练损失 Training Loss 衡量模型在训练集上的误差,常见损失函数有交叉熵损失(Cross-Entropy Loss)。
验证损失 Validation Loss 衡量模型在验证集上的表现,用于避免过拟合。
过拟合 Overfitting 模型在训练数据上表现良好,但在新数据上泛化能力较差。
梯度累积 Gradient Accumulation 通过多次累积小批量梯度来模拟更大的批次,降低显存需求。
梯度裁剪 Gradient Clipping 防止梯度爆炸的技术,限制梯度的最大值。
学习率 Learning Rate 控制模型参数更新步伐的超参数,影响收敛速度和稳定性。
预训练权重 Pretrained Weights 经过大规模数据训练的模型参数,可以在微调时进一步优化。
AdamW 优化器 AdamW Optimizer 一种改进的 Adam 优化器,广泛用于 LLM 微调。
训练步数 Training Steps 训练过程中进行参数更新的次数,影响模型的收敛情况。
Batch Size 批次大小 训练时一次处理的数据样本数量,影响计算开销和收敛速度。
Prompt 工程 Prompt Engineering 通过设计输入提示词来引导 LLM 生成期望的输出。
指令数据 Instruction Data 训练模型遵循指令格式的数据,如 “请总结这篇文章”。
增量微调 Incremental Fine-tuning 在已有的微调模型上进一步训练,而不是从基础模型开始。
混合精度训练 Mixed Precision Training 结合 FP16 和 FP32 进行训练,以减少显存占用并加速计算。
零样本学习 Zero-shot Learning 模型在未见过的任务上进行预测,无需额外训练。
少样本学习 Few-shot Learning 通过少量示例让模型适应新任务,提高泛化能力。
全精度训练 Full Precision Training 使用 FP32 进行训练,计算精度高但显存占用大。

学习材料清单


文章作者: Rickyの水果摊
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rickyの水果摊 !
  目录