一、大模型微调基础概念

215 阅读7分钟

1.1 微调基本概念

所谓大模型微调,指在已有的大规模欲训练模型基础上,通过对标注数据进行训练,进一步优化模型的表现,以适应特定任务或场景的需求。不同于RAG或者Agent技术,通过搭建工作流来优化模型表现,微调是通过修改模型参数来优化模型能力,是一种能够让模型掌握某种能力的方法。

1.2 全量微调与高效微调

全量微调

  • 定义:全量微调(Full Fine-Tuning)是指在特定任务的数据集上对预训练模型的所有参数进行进一步训练。
  • 特点
    • 性能提升显著:能够对模型进行全面调整,通常能获得更好的性能。
    • 计算资源要求高:因为涉及到整个模型参数的更新,所以需要更多的内存和计算资源。
    • 过拟合风险高:如果数据量较少或任务与预训练任务差异较大,可能导致过拟合或遗忘预训练知识。
  • 应用场景
    • 大规模数据集:当有大量标注数据时,全量微调可以充分利用数据,提升模型性能。
    • 高性能计算环境:在计算资源充足的情况下,全量微调可以更快地收敛。

高效微调

  • 定义:高效微调(Parameter-Efficient Fine-Tuning, PEFT)是指通过引入少量可训练参数,而不是更新整个模型的所有参数,来适应特定任务。常见的方法包括LoRA、QLoRA等。
  • 特点
    • 参数量较少:只需训练附加的低秩矩阵,极大降低了微调时需要更新的参数量。
    • 计算资源要求低:由于更新的参数量大大减少,对内存和计算资源的需求也相对较低。
    • 保留预训练知识:保持原有模型权重不变,有助于防止在小样本任务中发生灾难性遗忘。
  • 应用场景
    • 资源受限环境:在计算资源有限的情况下,参数高效微调可以显著减少资源消耗。
    • 小规模数据集:当标注数据较少时,参数高效微调可以避免过拟合。

全量微调与高效微调的区别

  • 更新参数范围:全量微调更新所有参数,而高效微调仅更新少量参数。
  • 计算资源需求:全量微调需要较高的计算资源,通常需要GPU或TPU支持;高效微调计算资源需求较低,适合在资源受限的环境中运行。
  • 数据量要求:全量微调需要大量标注数据,以避免过拟合;高效微调可以在较小的数据集上进行,但仍需确保数据质量。
  • 过拟合风险:全量微调由于更新所有参数,过拟合风险较高,需使用正则化方法(如权重衰减);高效微调由于仅更新少量参数,过拟合风险较低。

1.3 高效微调的应用场景

  • 对话风格微调:通过高效微调技术,模型可以快速适配特定场景的对话风格,如客服的亲和力、销售的专业性或多轮对话的连贯性。模型可通过少量领域对话数据(如客服对话记录)调整生成风格,使回复更符合目标场景的语气、情感和用词习惯。例如,水滴公司的保险Sales Agent通过微调实现了自然口语化表达,包括模仿人类对话中的“嗯嗯啊啊”等语气词,显著提升用户体验。

    • 技术要点:使用高质量对话数据集(如多轮对话标注数据),结合混合精度训练和量化技术(如QLoRA的4-bit量化),在消费级显卡上完成风格适配。

    • 多轮对话记忆优化
      微软与清华团队提出的SECOM技术,通过语义分割和自反思机制,将长对话拆解为连贯的语义单元,结合LoRA微调提升对话连贯性。例如,在LOCOMO数据集(平均300轮对话)中,SECOM的对话记忆准确率比传统方法提升17.42分。

  • 知识灌注:高效微调可将领域知识精准注入预训练模型,使其在特定任务中具备专业性和准确性,同时避免全参数微调的高成本。利用参数高效方法(如Adapter或Prefix-tuning),模型可快速融入领域知识库。例如,医疗领域通过微调使模型掌握疾病诊断指南,保险领域通过注入条款知识库提升客服的专业性。

    • 技术要点:结合RAG(检索增强生成)技术,将知识库检索结果与微调结合,确保知识更新的动态性和准确性。

    • API调用与工具使用能力
      SWIFT框架支持通过Agent训练数据集(如魔搭的3万条API调用数据)微调中小模型,使其具备调用外部工具的能力。例如,盒马AI客服通过微调学习商品推荐API的调用逻辑,实现精准推荐。

  • Agent能力提升:高效微调可显著增强Agent的规划、推理和交互能力,使其在复杂任务中接近人类水平。通过混合微调策略(如SFT+RL),Agent可学习多步骤任务分解能力。例如,水滴车险Agent能规划数月周期的用户跟进策略,动态调整对话内容以促进成交。

    • 技术要点:使用强化学习(如PPO、DPO)结合轨迹数据微调,优化奖励函数设计(如任务完成度、用户满意度)。

    • 多模态交互与记忆管理
      SECOM技术通过零样本分割和自反思机制优化长对话记忆,支持Agent在多轮交互中精准回溯历史信息。例如,教育辅导Agent可跟踪学生长期学习轨迹,提供个性化建议。

    • 稳定性与容错性提升
      针对Agent的幻觉问题和异常场景,通过工程优化(如查询重写、知识库增强)和微调策略(如对比式错误样本学习)提升鲁棒性。例如,盒马智能客服通过语料清洗和异常处理机制降低错误率。

1.4 高效微调与LoRA,QLoRA

目前高效的微调方法——LoRA微调(Low-Rank Adaptation)是一种高效的模型微调技术,其核心思想是在预训练模型的基础上,通过引入低秩矩阵来减少微调所需的参数量,从而提高训练效率并避免过拟合。

image.png

QLoRA:在LoRA的基础上,引入了量化技术,即用更低精度(如4-bit)存储模型权重,从而大幅降低显存占用。QLoRA使用4-bit NormalFloat (NF4)量化方法,这种量化格式在保持精度的同时,显著减少了模型的存储需求

对比维度LoRAQLoRA
基本原理通过低秩分解矩阵(适配器)微调模型,冻结原参数。在 LoRA 基础上引入量化技术(如 4-bit 量化),进一步压缩模型内存。
参数量仅微调低秩矩阵参数(通常 <1% 原模型参数量)。与 LoRA 参数量相近,但参数以量化形式存储。
内存占用需加载完整模型参数,内存占用较高。量化后模型内存大幅降低(如 4-bit 量化减少 75%)。
计算效率计算量较低,适配器参数轻量。量化可能引入额外计算开销,但内存降低加速数据传输。
模型性能接近全参数微调的效果,性能损失极小。量化可能带来轻微性能损失,但通过适配器补偿后接近 LoRA。
训练速度比全参数微调快,但依赖硬件内存带宽。内存需求更低,数据加载更快,训练速度可能更快。
适用场景单卡资源有限的中等规模模型微调(如 7B-13B)。超大规模模型(如 65B+)或显存严重受限的场景。
硬件需求需要 GPU 显存足够加载原模型参数。低显存需求(如 4-bit 量化后 65B 模型仅需 ~20GB)。
主要优势参数高效,性能接近全参数微调。内存高效,可微调超大规模模型。
缺点显存占用仍较高,限制超大模型应用。量化可能引入精度损失,需权衡性能与资源消耗。