1. 微调技术分类

微调按照训练的参数范围可以分为全参数微调(Full Fine-Tuning)和部分参数微调(Partial Fine-Tuning)。参数高效微调PEFT(Parameter-Efficient Fine-Tuning)则是一系列具体的高效微调的方法和策略,有的资料中直接分为了全参数微调和高效参数微调两类。

微调按照训练策略可以分为监督微调SFT(Supervised Fine-Tuning)、基于人类反馈的强化学习RLHF(Reinforcement Learning with Human Feedback)、直接偏好优化DPO(Direct Preference Optimization)。其中后两者RLHF和DPO都属于基于强化学习的偏好对齐训练方法。

本文聚焦监督微调SFT及具体的参数高效微调PEFT方法, 探讨其概念组织及关键细节。基于强化学习的RLHF和DPO我们后续专题研究。

1.1 全参数微调

全参数微调指在微调过程中对所有的参数进行训练和更新,这也是最直接传统的微调方式。其实现简单,但因所有参数都参与反向传播与梯度更新,全参微调对GPU资源的需求很高。另外如之前增量预训练及微调的描述,全参数微调因所有参数参与更新,易导致模型过度适配新任务,丢失预训练阶段学习的通用能力,即灾难性遗忘问题。

1.2 部分参数微调

部分参数微调也称选择性微调,指训练中仅更新模型部分参数,而冻结其他参数的方法。这种方法在节省GPU、降低过拟合及提高效率方面具有显著优势。 部分参数微调按照调整的参数不同可分为:

  • 输入层参数微调:在输入层的模态、结构、数据分布及token有新增等情况下可以选择仅微调输入层
  • 输出层参数微调:当所需训练模型任务的输出要求与原模型不同时,可以选择仅微调输出层。
  • 局部结构调整:可以对模型结构中的特定结构进行微调。

此类方法适用于任务差异较小或数据稀缺的场景。若新任务与预训练目标差异过大(如新增输出模态),仅调整局部参数可能无法充分适配。

1.3 PEFT

PEFT是一个更广泛的概念,包含多种技术如LoRA、Prefix Tuning等,PEFT通过引入少量可训练参数(如适配器模块、低秩矩阵)冻结原模型大部分参数,实现计算资源消耗降低与过拟合风险控制,同时保持与原模型相近的性能。

2. 监督微调SFT

监督微调SFT指在预训练模型基础上,基于其具备的知识和能力(如通用知识和语言理解能力等),利用标注数据进一步训练,以增强模型在特定任务上的处理能力。SFT作为监督学习的代表方法,通过结构化指令数据训练模型,是当前实现指令微调最主流且高效的技术路径。相比于预训练,预训练相当于是在背书,在学习知识,而SFT则相当于在刷专业题库后对答案,用此提升自己。

监督微调(SFT)本质是一种训练范式,依赖标注数据(输入-输出对)调整预训练模型参数,使其适应新的特定任务。

SFT的目标激发预训练模型已具备的知识,并学习特定任务规则与稳定输出格式,而非注入新知识(如世界常识)。新知识需通过增量预训练注入。

2.1 监督微调的数据

SFT的标注数据由与目标任务相关的输入-输出对组成。如:问答对(问题及其答案)、文本分类(文本及其类别)、情感分析(文本及其情感)、翻译(一种语言的文本及其翻译)和摘要(长文本及其摘要)。

优质SFT数据集应包含:输入提示(prompt)、预期模型响应(response)、上下文信息(context)。 高质量SFT数据集需满足:

  • 格式统一性:回答风格一致(如先复述问题再解答);
  • 难度覆盖性:包含常规样本与边界困难样本;
  • 标签平衡性:避免任务数据比例失衡导致模型偏向高频任务。

对于SFT来说,不同的目标任务类型所需的数据格式是不一样的,但通常来说在领域微调时,建议先用指令数据构建基础能力,再叠加领域专用数据细化性能。

2.2 指令微调

指令微调(Instruction Tuning)是SFT的一种具体应用场景,其训练数据格式为 “指令-输入-输出”(例如 {“instruction”: “总结文章”, “input”: “文本内容”, “output”: “摘要”}),目标是教会模型理解并执行自然语言指令。提高模型在执行特定任务时模型理解和遵循自然语言指令的能力。也减少了因果预测模型的下一个词预测目标与用户对指令遵循的需求之间的差距。指令微调侧重于使LLM在面向任务的方式中更易于控制并与人类意图对齐。虽然一般的SFT可以提高特定任务的性能,但指令微调专门训练模型有效地解释和执行指令,从而产生更可预测和用户友好的行为。

指令微调通过多样化指令模板(如改写、反问、角色扮演)训练模型泛化到未见指令,而常规SFT更侧重固定任务格式下的精度提升

指令微调除了采用目前主流的监督微调SFT的训练范式外,还可以作为RLHF/DPO强化学习的前置步骤,或与提示词微调(Prompt Tuning)协同。

3. 参数高效微调

常用的参数高效微调方法有LoRA系列(LoRA, AdaLorA, QLoRA, PiSSA, OLoRA, DoRA等),Prompt系列(Prefix-Tuning, Prompt Tuning, P-Tuning),Adapter Tuning等

3.0 网络图示

作者以Qwen3-0.6B模型为例,展示了LoRA系列、Prompt系列及Adapter相应的模块在网络架构中的位置,放到详细介绍各方法之前,以便有个直观的理解。 其中网络结构的一些细节还需调整,后面有机会在单独文章详细分析qwen及deepseek的网络结构。

img

3.1 LoRA

低秩适配(Low-Rank Adaptation,LoRA)微调方法由微软于2021年发表,其核心思想在与微调前后模型的参数矩阵具有低秩性。基于此内在低秩特性,可对原参数增加旁路矩阵来模拟全参数微调。

LoRA微调是目前最通用、效果最好的微调方法之一,而且能和其它参数高效微调方法有效结合。并且基于其分离特性,并且LoRA部分参数足够小,可以基于一个预训练模型针对不同任务训练不通的LoRA模型,可以按需加载一个大的基础模型及对应的具体任务LoRA部分模型。

img

具体实现步骤为:

  • 在原始预训练模型的参数矩阵旁边增加一个旁路,做一个降维矩阵A(dr)后再乘升维B(rk)的操作。这里d为模型隐层输入特征大小,k为模型层输出特征大小。
  • 训练的时候固定原参数,只训练降维矩阵A与升维矩阵B。而模型的输入输出维度不变,输出时将 BA 与原参数叠加。

LoRA的实践

  • A和B的初始化:用随机高斯分布初始化 A ,用 0 矩阵初始化 B ,保证训练的开始此旁路矩阵依然是 0 矩阵。

  • LoraConfig参数设置:

    • r:秩大小,即旁路矩阵的秩大小。通常设置较小的值,如4,8,16,默认8。秩的大小直接影响最终的参数大小,过高的秩可以具备更多的参数取学习复杂模式,但可能会导致参数数量过多,从而导致训练速度变慢及过拟合。
    • lora_alpha:lora 缩放因子,用于控制 lora 矩阵的大小。用于调节模型参数的权重对原始权重的影响,通常值为r,但也可以设置为r的两倍,这会放大LoRA带来的影响,更偏向于学习新的知识。
    • lora_dropout:在训练时随机丢弃一部分lora激活的概率。默认0,推荐设置0-0.1
    • target_modules:需要 lora 化的模块名称,例如 [“q_proj”, “k_proj”, “v_proj”, “o_proj”, “gate_proj”, “up_proj”, “down_proj”]

以qwen3-0.6B的模型为例,模型原始结构为

Qwen3ForCausalLM(
  (model): Qwen3Model(
    (embed_tokens): Embedding(151936, 1024)
    (layers): ModuleList(
      (0-27): 28 x Qwen3DecoderLayer(
        (self_attn): Qwen3Attention(
   (q_proj): Linear(in_features=1024, out_features=2048, bias=False)
   (k_proj): Linear(in_features=1024, out_features=1024, bias=False)
   (v_proj): Linear(in_features=1024, out_features=1024, bias=False)
   (o_proj): Linear(in_features=2048, out_features=1024, bias=False)
          (q_norm): Qwen3RMSNorm((128,), eps=1e-06)
          (k_norm): Qwen3RMSNorm((128,), eps=1e-06)
        )
        (mlp): Qwen3MLP(
 (gate_proj): Linear(in_features=1024, out_features=3072, bias=False)
 (up_proj): Linear(in_features=1024, out_features=3072, bias=False)
 (down_proj): Linear(in_features=3072, out_features=1024, bias=False)
          (act_fn): SiLU()
        )
        (input_layernorm): Qwen3RMSNorm((1024,), eps=1e-06)
        (post_attention_layernorm): Qwen3RMSNorm((1024,), eps=1e-06)
      )
    )
    (norm): Qwen3RMSNorm((1024,), eps=1e-06)
    (rotary_emb): Qwen3RotaryEmbedding()
  )
(lm_head): Linear(in_features=1024, out_features=151936, bias=False))

r=16, lora_target_modules = ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]

的lora参数下将其转为lora的模型后,其网络结构中属于lora_target_modules的Linear替换为新结构中的lora.Linear。

以某层self_attn中的q_proj为例,其 Linear(in_features=1024, out_features=2048, bias=False)变为新的lora.Linear

lora.Linear(
(base_layer): Linear(in_features=1024, out_features=2048, bias=False)
(lora_dropout): ModuleDict((default): Dropout(p=0.05, inplace=False))
(lora_A):ModuleDict((default):Linear(in_features=1024, out_features=16, bias=False))
(lora_B):ModuleDict((default):Linear(in_features=16, out_features=2048, bias=False))
(lora_embedding_A): ParameterDict()
(lora_embedding_B): ParameterDict()
(lora_magnitude_vector): ModuleDict()
          )

3.2 基于Prompt的微调

与基于LoRA的微调不同, 另一类是从模型的提示词入手,思路从人工设计prompt文本或训练出最佳的可作为提示词的向量,将其与输入或模型的各层做拼接以优化模型的输出效果。这些在前缀添加的prompt可以是硬文本提示的形式,也可以是不可见的可训练的prompt向量,通过影响模型注意力计算的过程,对后续的输出起到一定的引导作用。

基于Prompt的微调方法有Prefix-Tuning,Prompt Tuning,P-Tuning(v1/v2)等。

3.2.1 Prefix-Tuning

在Prefix-Tuning 此之前,主要是人工设计模板或自动化搜索离散的模板, 但在实践中人工设计的模板对模型性能的影响很不稳定, 自动搜索得到的模板很大可能并非最优。 Prefix-Tuning由斯坦福大学的研究人员提出,该方法通过通过在输入序列前添加一组可训练的前缀来传递额外的输入信息, 与输入信息共同经模型的注意力机制模块处理。 prefix部分通常会添加到attention模块的k和v部分, 在输入token之前构造一段任务相关的virtual tokens作为prefix,然后训练的时候冻结预训练模型中的参数,只更新prefix部分的参数

prefix-Tuning的实现步骤: 前缀构造:在输入数据前增加一段由自由参数组成的虚拟令牌序列,这些令牌不必是词表中的真实词,而是可训练的嵌入向量。 训练过程:在训练过程中,只更新前缀部分的参数,而模型的其他部分(如Transformer层)保持不变。为了防止训练不稳定,通常在前缀层前添加MLP结构。 应用实例:对于文本生成任务,如摘要生成,Prefix Tuning可以引导模型提取输入中的核心信息并生成摘要。

img

如图示意, 上半部分是微调全部参数时,所有参数都参与训练,每个任务的模型都保留整个副本。而下方是prefix-tuning示意,只微调prefix部分参数,也可针对每种任务只保存这部分的内容。

3.2.2 Prompt Tuning

Prompt Tuning由Google的研究团队提出,可以看做是Prefix-Tuning的简化版本。它给每个任务定义自己的prompt,然后拼接到数据上作为输入。其只在输入层加入prompttokens,并且不需要MLP。

img

这图是多任务模型微调和Prompt Tuning训练方式的对比 普通模型微调需要为每个下游任务创建基于预训练模型的任务特定副本,并需独立进行训练。而Prompt Tuning则只需为每个任务存储一个任务相关的prompt,并可基于原始预训练模型进行多任务处理。

Prompt Tuning和Prefix-Tuning都是参数高效微调的方法,其主要区别体现在:

  • 参数更新位置:Prompt Tuning只在输入层添加参数,而Prefix-Tuning在每一层都添加参数。
  • 参数更新数量:Prefix-Tuning因为在每一层都增加了可微调的前缀,比Prompt有更多的参数
  • 任务能力:Prompt Tuning更适合于分类任务,Prefix-Tuning更适合于生成任务。
  • 重参数化模块:Prompt Tuning无须借助额外的重参数模块(如MLP结构)训练过程更加稳定
  • 性能差异:Prefix-Tuning因在每一层添加前缀参数,效果通常优于Prompt Tuning(仅输入层调整),但训练开销增加 30%~50%;后者更适用于分类任务或低资源场景。

3.3.3 P-Tuning和P-Tuning v2

P-Tuning和P-Tuning v2 由清华大学的研究团队提出,与prefix-Tuning原理类似,都属于基于提示词的微调系列, 更适合用于NLU,未做过多研究,感兴趣的可以查阅响应资料,在此不再赘述。

3.4 Adapter-Tuning

Adapter Tuning 通过在 Transformer 的每层插入用于下游任务的适配器模块,在微调时将模型主体冻结,并仅训练与特定任务相关的参数以进行高效参数微调。 其主要思想是:

  • 设计特定的可嵌入transformer层的Adapter结构
  • 在每个transformer的MHA和FFN层之后插入Adapter层
  • 仅训练Adapter层和Layer Norm的参数,冻结模型主体的参数
  • 针对新的下游任务增加新的Adapter层,避免全量微调及灾难性遗忘问题

在论文https://arxiv.org/pdf/1902.00751中附图显示adapter插入位置如下:

img

实践中,复杂任务的prefix训练需更长的前缀(建议50-100 tokens),以编码更丰富的任务指令,但更长的前缀会影响输入向量。

Adapter层的加入会延长推理路径,导致推理延迟增加 15%~20%。可通过参数剪枝或动态激活策略缓解。但在通常情况下,与LoRA相比并没有明显优势。

3.5 PEFT总结

在PEFT的各种方法中,LoRA是最通用、效果最好的微调方法之一,而且能和其它参数高效微调方法有效结合。其在训练效率、GPU资源节省、场景适用和多任务适配方面均表现良好。 LoRA的Adapter权重可以和模型主体合并,不会增加额外的推理开销。 基于Prompt的微调因增加了序列长度,可能导致推理开销和延迟增加,需要考虑模型的实际使用场景。 Adapter Tuning则因为增加的适配层增加了模型深度,也相应增加了模型的推理开销。

4. SFT阶段的幻觉因素与应对

幻觉(Hallucination)指模型生成的内容看上去合理,但实际是错误、虚构甚至与事实相悖的,也就是一本正经的胡说八道。

在本系列前面一篇文章中探讨了知识注入,SFT的作用应该尽可能是教会模型怎么更好的应用在预训练阶段加入的知识,而不是增加新知识。在SFT微调阶段加入的新知识越多,一方面会导致旧通用知识的灾难性遗忘,另一方面也会导致新知识在模型中产生幻觉。并且注入的新知识占比越多,幻觉会越严重。

4.1 SFT阶段幻觉的主要原因有:

1. 数据质量缺陷

  • 低质数据污染:SFT数据若包含错误、过时或矛盾信息,模型会学习并复现这些错误。如错误答案、陈旧答案等都会误导模型的能力。

  • 标注偏差:人工标注的主观性可能导致答案偏离客观事实。例如标注员基于个人经验补充细节,引入不准确信息。

    *2.* 知识冲突与过度自信

  • 新旧知识冲突:SFT引入的新知识可能与预训练知识冲突,造成模型可能混淆两者。

  • 过度自信行为:SFT要求模型模仿专家答案,导致其对不确定问题也生成“确定”回答,而非承认未知。

    *3.* 任务泛化不足

  • 指令理解偏差:模糊或多意图指令导致模型自由发挥,生成与需求无关的内容。

  • 长尾任务覆盖不足:专业领域或长尾领域场景数据缺乏(如罕见病诊疗、工业生产新技术等),模型被迫“脑补”答案。

    *4.* 训练策略缺陷

  • 灾难性遗忘:过度微调使模型遗忘预训练通用知识,降低基础事实一致性。

  • 过拟合:小规模SFT数据上过度训练,导致模型机械复制训练样本,缺乏泛化能力。

4.2 SFT阶段幻觉的解决方案

*1.* 构建高质量SFT数据

  • 数据筛选标准:数据集的指令需具体、无歧义。答案需真实(引用权威来源)、连贯(逻辑清晰)、无害(避免误导)。

  • 知识动态更新:整合最新权威数据,定期刷新SFT数据集,对争议性问题提供多视角答案,避免以偏概全

    *2.* 知识冲突缓解技术

  • 对比学习微调:在SFT数据中显式加入冲突样本对(如旧知识vs新研究),训练模型区分优先级及时间等因素。

  • 不确定性建模:在数据集中引入“拒绝回答”样本:训练模型在不确定时输出“需查证”而非虚构答案。

    *3.* 模型行为校正策略

  • 渐进式微调(Progressive Tuning):分阶段调整学习率:初期低学习率保护预训练知识,后期提高以适配新任务。

  • 任务分层微调:对高频任务(如诊断建议)使用高置信数据;对低频任务(如罕见病)结合RAG检索增强,减少直接生成。

    *4.* 融合外部验证机制

  • SFT-RAG协同:不纯依靠大模型能力,在生成答案前先检索知识库,强制模型参考外部证据。

  • 自我校验:设计类似CoT一样的思考能力,首轮生成答案,第二轮以“批判者”身份检查逻辑矛盾。

如何学习大模型 AI ?

我国在AI大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着Al技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国Al产业的创新步伐。加强人才培养,优化教育体系,国际合作并进,是破解困局、推动AI发展的关键。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

2025最新大模型学习路线

明确的学习路线至关重要。它能指引新人起点、规划学习顺序、明确核心知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

对于从来没有接触过AI大模型的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线。

在这里插入图片描述

针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

大模型经典PDF书籍

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路!

在这里插入图片描述

配套大模型项目实战

所有视频教程所涉及的实战项目和项目源码等
在这里插入图片描述

博主介绍+AI项目案例集锦

MoPaaS专注于Al技术能力建设与应用场景开发,与智学优课联合孵化,培养适合未来发展需求的技术性人才和应用型领袖。

在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

为什么要学习大模型?

2025人工智能大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

在这里插入图片描述

适合人群

  • 在校学生:包括专科、本科、硕士和博士研究生。学生应具备扎实的编程基础和一定的数学基础,有志于深入AGI大模型行业,希望开展相关的研究和开发工作。
  • IT行业从业人员:包括在职或失业者,涵盖开发、测试、运维、产品经理等职务。拥有一定的IT从业经验,至少1年以上的编程工作经验,对大模型技术感兴趣或有业务需求,希望通过课程提升自身在IT领域的竞争力。
  • IT管理及技术研究领域人员:包括技术经理、技术负责人、CTO、架构师、研究员等角色。这些人员需要跟随技术发展趋势,主导技术创新,推动大模型技术在企业业务中的应用与改造。
  • 传统AI从业人员:包括算法工程师、机器视觉工程师、深度学习工程师等。这些AI技术人才原先从事机器视觉、自然语言处理、推荐系统等领域工作,现需要快速补充大模型技术能力,获得大模型训练微调的实操技能,以适应新的技术发展趋势。
    在这里插入图片描述

课程精彩瞬间

大模型核心原理与Prompt:掌握大语言模型的核心知识,了解行业应用与趋势;熟练Python编程,提升提示工程技能,为Al应用开发打下坚实基础。

在这里插入图片描述

RAG应用开发工程:掌握RAG应用开发全流程,理解前沿技术,提升商业化分析与优化能力,通过实战项目加深理解与应用。 在这里插入图片描述

Agent应用架构进阶实践:掌握大模型Agent技术的核心原理与实践应用,能够独立完成Agent系统的设计与开发,提升多智能体协同与复杂任务处理的能力,为AI产品的创新与优化提供有力支持。
在这里插入图片描述

模型微调与私有化大模型:掌握大模型微调与私有化部署技能,提升模型优化与部署能力,为大模型项目落地打下坚实基础。 在这里插入图片描述

顶尖师资,深耕AI大模型前沿技术

实战专家亲授,让你少走弯路
在这里插入图片描述

一对一学习规划,职业生涯指导

  • 真实商业项目实训
  • 大厂绿色直通车

人才库优秀学员参与真实商业项目实训

以商业交付标准作为学习标准,具备真实大模型项目实践操作经验可写入简历,支持项目背调

在这里插入图片描述
大厂绿色直通车,冲击行业高薪岗位
在这里插入图片描述

文中涉及到的完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐