上篇多模态笔记发完,很多朋友说 "GPT-4V 的设计逻辑直接背,二面真的被问到了"------ 其实多模态之后,微调是面试的 "落地能力核心" !大厂招大模型工程师,最看重 "能不能把模型调好用",我带的 500 + 求职者里,能说清 Q-LoRA 微调 13B 模型踩坑的,三面通过率直接提升 70%。
这篇笔记全是实战干货:从 LoRA 与 Q-LoRA 的选型、PPO/DPO 的差异,到过拟合解决、学习率选择,每个题都带我学员的真实微调案例,没有空洞理论,只有 "能直接说给面试官听" 的落地细节,实战选手直接背,面试时比别人多讲 3 个工程踩坑,轻松脱颖而出!
一、三面必问高频题(10 题,含真实微调案例)
1. LoRA 与 Q-LoRA 的核心差异是什么?实际工程中怎么选?
这题是微调面试 "开门题",我带的一个求职者只说 "Q-LoRA 是量化的 LoRA",被面试官追问 "4bit 量化怎么减少精度损失",直接卡壳 ------ 这是 80% 求职者的通病。
原理拆解(用真实显存数据对比,不抽象):
两者的核心差异不在 "是否量化",而在 "量化方式 + 显存占用 + 精度平衡":
- LoRA(Low-Rank Adaptation):不对原模型量化,在注意力层插入低秩矩阵(A 和 B),仅训练这两个矩阵,7B 模型微调显存占用约 14GB(FP16),13B 约 28GB;
- Q-LoRA(Quantized LoRA):先将原模型权重量化为 4bit(用 NF4 量化方案)并冻结,再插入 LoRA 矩阵,7B 模型显存占用仅 6GB,13B 约 10GB,精度仅下降 3%-5%。
真实面试易错点(必避!):
❌ 只说 "Q-LoRA 是量化的",没说 "NF4 量化""正态量化" 这些关键技术;❌ 漏说选型的核心依据 "显存资源",显得没实操经验。
面试话术(直接背,含追问应对):
"LoRA 与 Q-LoRA 的核心差异是'是否对原模型量化',以及由此带来的显存和精度平衡:① LoRA 不量化原模型,仅在 Transformer 注意力层插入低秩矩阵(秩 r 通常 16-64),训练时冻结原模型权重,仅更新低秩矩阵,7B 模型微调显存约 14GB,13B 约 28GB,无量化精度损失;② Q-LoRA 在 LoRA 基础上,先将原模型权重量化为 4bit(采用 NF4 正态量化方案),再插入低秩矩阵,7B 显存仅 6GB,13B 约 10GB,精度损失控制在 3%-5%,完全能满足业务需求。
工程选型逻辑很清晰:① 显存充足(单卡 A100 80G)、追求最优精度(如金融对话、医疗问答),选 LoRA;② 显存有限(单卡 RTX 3090 24G)、需微调 7B-13B 模型(如企业内部客服),选 Q-LoRA,这是目前最主流的性价比选择。
追问应对(面试官常问 "4bit 量化怎么减少精度损失"):Q-LoRA 用了两个关键技术:① NF4 量化:针对自然语言模型权重的分布设计,比普通 4bit 量化精度高 2%-3%;② 量化感知训练:在 LoRA 训练时,对量化后的权重偏差做补偿,减少量化带来的误差,这也是它能在低显存下保持精度的核心。"
2. PPO 与 DPO 的核心差异是什么?适用场景有哪些?
这题是 2024 年高频题,考察前沿技术认知,我带的一个求职者只说 "DPO 不用奖励模型",没说清训练效率和数据需求,被评为 "缺乏深度"。
原理拆解(用训练流程对比,抓关键差异):
两者都是 RLHF 的核心算法,但流程和适用场景完全不同:
- PPO(Proximal Policy Optimization):需要三步流程 ------ 先训 SFT 模型,再训奖励模型(RM)给生成内容打分,最后用 PPO 根据分数更新模型,优点是控制精细,缺点是流程长、计算成本高;
- DPO(Direct Preference Optimization):直接用人类偏好数据(如 "内容 A 比内容 B 好")训练,不用单独训奖励模型,流程简化为 "数据→训练→模型",训练速度比 PPO 快 3-5 倍,显存占用低 50%。
真实面试易错点:
❌ 只说 "DPO 不用 RM",没说流程差异和效率对比;❌ 不知道 "小数据用 DPO,大数据用 PPO" 的选型逻辑。
面试话术(直接背):
"PPO 与 DPO 的核心差异在'是否依赖奖励模型(RM)'和'训练效率',适用场景完全不同:① 流程差异:PPO 需要三步流程(SFT→RM 训练→PPO 更新),需先让 RM 给生成内容打分,再用 PPO 约束更新步长;DPO 直接用人类偏好数据(如'A 比 B 好')训练,无需 RM,流程更简洁;② 效率差异:DPO 训练速度比 PPO 快 3-5 倍,7B 模型单卡训练仅需 1-2 天,PPO 则需 3-5 天,显存占用低 50%;③ 适用场景:DPO 适合小数据量(几百 - 几千组偏好数据)、显存有限、快速验证效果(如创业公司客服微调);PPO 适合大数据量(几万组以上)、需要精细控制生成风格(如严格的事实准确性)、对奖励模型有定制需求的场景(如金融合规生成)。
简单说,DPO 是'轻量高效',PPO 是'精细可控',实际落地中先⽤ DPO 快速验证,效果达标就上线,需要优化再换 PPO。"
3. 使用 LoRA 微调 LLM 时出现过拟合,怎么解决?(真实案例:用 1000 条客服数据微调 7B 模型)
这题考察问题排查能力,小白容易只说 "增大数据量",没说 LoRA 专属的优化方案,显得缺乏实操经验 ------ 我带的一个学员就遇到过这个问题,按以下方案优化后,过拟合率从 35% 降至 8%。
原理拆解(4 个 LoRA 专属优化方案,按优先级排序):
- 数据优化:用 SimHash 去重(删除重复客服对话),补充 200 条不同场景的样本(如售后投诉、订单查询),避免数据单一;
- 超参数调整:LoRA 秩 r 从 64 降至 32(减少模型学习能力),学习率从 2e-4 降至 1e-4,训练轮次从 15 轮减至 8 轮;
- 正则化:在 LoRA 层加入 0.15 的 Dropout,使用权重衰减(Weight Decay=1e-4),抑制过度拟合;
- 混合训练:在训练集中混入 10% 的预训练通用文本(如新闻、百科),让模型保留通用能力,不过度记忆微调数据。
真实面试易错点:
❌ 只说 "增大数据量""减少轮次",没说 LoRA 的 "秩调整""混合训练";❌ 不知道 Dropout 和权重衰减的具体参数(真实工程常用 0.1-0.2、1e-4)。
面试话术(直接背):
"LoRA 微调过拟合的解决方法,要结合 LoRA 的结构特点,核心有 4 个方案:① 数据层面:先对微调数据去重(如 SimHash),删除重复样本,再补充多样性样本(如不同场景、不同表达方式),避免模型过度记忆单一数据 ------ 我之前用 1000 条客服数据微调 7B 模型时,补充 200 条售后投诉样本后,过拟合率降了 10%;② 超参数调整:降低 LoRA 的秩 r(从 64 降至 32),减少模型的学习能力,避免'学太死';同时降低学习率(从 2e-4 到 1e-4)、减少训练轮次(从 15 轮到 8 轮),避免过度更新;③ 正则化:在 LoRA 层加入 0.1-0.2 的 Dropout,使用权重衰减(Weight Decay=1e-4),抑制参数过度拟合;④ 混合训练:在微调数据中混入 10%-20% 的预训练通用文本(如新闻、百科),让模型保留通用语义能力,不局限于微调数据。
这 4 个方案组合使用,基本能解决 90% 的 LoRA 过拟合问题,我之前的案例中,过拟合率从 35% 降到了 8%,效果很明显。"
4. 全参数微调与 PEFT(参数高效微调)的核心区别是什么?适用场景分别是什么?
这题考察基础认知,小白容易只说 "参数量不同",没说 "数据量、显存、任务复杂度" 的选型依据,显得知识面窄。
原理拆解(用具体数据对比,不绕弯):
- 全参数微调:训练模型所有参数(7B 模型 70 亿参数),7B 模型显存需单卡 A100 80G,13B 需 2 张 A100,数据量需百万级样本,适合任务复杂度高(如定制化代码生成)、预训练数据与下游任务差异大的场景;
- PEFT(LoRA/Adapter 等):仅训练 1%-5% 的参数(7B 模型 0.1-0.3 亿参数),7B 模型显存需单卡 RTX 3090 24G,数据量需千级 - 万级样本,适合快速迭代、显存有限、数据量小的场景(如企业内部客服)。
真实面试易错点:
❌ 只说 "参数量不同",没说数据量和显存需求;❌ 不知道 PEFT 的具体方法(LoRA/Adapter/BitFit)。
面试话术(直接背):
"全参数微调与 PEFT 的核心区别,集中在训练参数比例、资源需求和适用场景:① 参数与资源:全参数微调训练模型所有参数(7B 模型 70 亿),7B 模型需单卡 A100 80G 显存,数据量需百万级;PEFT 仅训练 1%-5% 的参数(如 LoRA 训练低秩矩阵、Adapter 训练插入网络),7B 模型用 RTX 3090 24G 即可,数据量千级 - 万级就够;② 适用场景:全参数微调适合任务复杂度高(如定制化代码生成、专业领域问答)、预训练数据与下游任务差异大、对性能要求极高的场景,缺点是成本高、周期长;PEFT 适合快速迭代(如创业公司产品)、显存有限、数据量小的场景(如企业内部客服、多任务微调),优点是成本低、周期短,性能接近全参数微调。
实际落地中,90% 的场景用 PEFT 就够了,只有对性能有极致要求时,才会选全参数微调。"
5. 微调 LLM 时,怎么确定合适的学习率?(以 LoRA 微调 Llama 2-7B 为例)
这题考察工程实操能力,小白容易说 "凭经验",没说具体的测试方法和参数范围 ------ 我带的求职者里,能说清 "学习率扫描" 的,面试通过率提升 40%。
原理拆解(3 个真实工程方法,带具体数值):
- 参考经验值:LoRA 微调的学习率通常在 1e-4-5e-4,全参数微调 1e-5-3e-5,Adapter 3e-4-1e-3;
- 学习率扫描:用 3 组学习率(1e-4、2e-4、3e-4)各训练 2 轮,选择训练损失下降最快、验证损失最低的(如 2e-4);
- 观察训练曲线:若训练损失下降缓慢,适当提高学习率;若训练损失波动大、验证损失上升,降低学习率(如从 2e-4 降至 1.5e-4)。
真实面试易错点:
❌ 只说 "经验值",没说 "学习率扫描";❌ 不知道不同微调方法的学习率范围差异。
面试话术(直接背):
"确定学习率要结合模型规模、微调方法和数据量,以 LoRA 微调 Llama 2-7B 为例,核心 3 步:① 先参考经验值:LoRA 微调的学习率常规范围是 1e-4-5e-4,数据量小(1k-1w 条)选 2e-4-3e-4,数据量大(1w-10w 条)选 1e-4-2e-4;② 做学习率扫描:挑 3 个关键值(1e-4、2e-4、3e-4),各训练 1-2 轮,看训练损失和验证损失 ------ 比如 2e-4 的损失下降最快、验证损失最低,就选它;③ 观察训练曲线:训练时若损失下降缓慢,说明学习率偏低,可上调 20%;若损失波动大、验证损失上升(过拟合),说明学习率偏高,下调 30%。
还要注意搭配学习率调度器,比如 Cosine Annealing,训练后期学习率逐渐降低,减少过拟合风险,这是工程上的最优实践。"
6. RLHF 的完整流程包含哪三个阶段?每个阶段的核心任务是什么?
这题是微调基础题,小白容易漏说 "奖励模型的训练目标""PPO 的约束机制",显得没掌握核心。
原理拆解(用 "人类偏好引导" 串联,逻辑更清晰):
RLHF 的核心是 "用人类偏好指导模型优化",三个阶段环环相扣:
- 监督微调(SFT):用人工标注的 "高质量示范数据"(如 "用户问题 + 理想回答")微调预训练模型,让模型初步具备符合人类期望的生成能力;
- 奖励模型训练(RM):收集人类对 SFT 模型生成内容的偏好数据(如 "内容 A 比内容 B 好"),训练 RM 模型,让它能自动给生成内容打分(替代人工);
- 强化学习(RL):以 SFT 模型为初始策略,用 PPO 算法,根据 RM 的评分更新模型参数,同时用 KL 散度约束,避免模型更新幅度过大,偏离原语言能力。
真实面试易错点:
❌ 漏说 RM 的 "偏好数据训练";❌ 不知道 PPO 的 "KL 散度约束"。
面试话术(直接背):
"RLHF 的完整流程是'监督微调→奖励模型训练→强化学习',核心是用人类偏好逐步优化模型:① 阶段一:监督微调(SFT),核心任务是用'用户问题 + 理想回答'的高质量示范数据,微调预训练模型,让模型初步学会生成符合人类期望的内容,这是基础;② 阶段二:奖励模型训练(RM),核心任务是收集人类对 SFT 模型生成内容的偏好数据(如'A 回答比 B 回答更准确'),训练一个奖励模型,让它能自动给生成内容打分,替代人工评估,这是中间桥梁;③ 阶段三:强化学习(RL),核心任务是用 PPO 算法,以 SFT 模型为初始策略,根据 RM 的评分更新模型参数,同时通过 KL 散度约束,确保新模型不偏离原有的语言能力(如语法、常识),最终让模型生成内容的 RM 评分持续提升。
三个阶段缺一不可,SFT 打基础,RM 做评估,RL 做优化,这也是目前让模型对齐人类偏好的最有效方法。"
7. 微调后模型的 "灾难性遗忘" 是什么?如何缓解?
这题考察深度认知,小白容易说 "多训练",没说具体的技术方案 ------ 我带的一个学员微调客服模型后,发现模型忘了基础语法,按以下方案缓解后,遗忘率从 25% 降至 5%。
原理拆解(3 个真实工程方案):
- 混合预训练数据:在微调数据中混入 10%-20% 的预训练通用文本(如新闻、百科),让模型同时学习下游任务和通用知识;
- 蒸馏损失:在损失函数中加入 "蒸馏损失",让微调后的模型输出与预训练模型输出尽可能接近,约束参数变化;
- 用 PEFT 方法:LoRA、Adapter 等仅训练少量参数,对原模型权重影响小,比全参数微调更能缓解遗忘。
真实面试易错点:
❌ 只说 "混合数据",没说 "蒸馏损失";❌ 不知道 PEFT 能缓解灾难性遗忘。
面试话术(直接背):
"灾难性遗忘是指模型微调下游任务时,会逐渐遗忘预训练阶段学到的通用知识(如语法、常识),导致在通用任务上性能大幅下降(如 Perplexity 上升 10% 以上)。
缓解方法有 3 个核心方案:① 混合预训练数据:在微调数据中混入 10%-20% 的预训练通用文本(如新闻、百科),让模型在学习下游任务的同时,保留通用知识 ------ 我之前微调客服模型时,混入 15% 通用文本后,遗忘率从 25% 降到 5%;② 加入蒸馏损失:在损失函数中加入'蒸馏损失',让微调后的模型输出与预训练模型输出尽可能接近,约束参数变化,避免过度遗忘;③ 优先用 PEFT 方法:LoRA、Adapter 等仅训练 1%-5% 的参数,对原模型权重影响小,比全参数微调更能缓解遗忘,这也是工程上的首选。
实际落地中,通常组合使用'混合数据 + PEFT',既能保证下游任务性能,又能最大程度避免灾难性遗忘。"
8. 使用 Q-LoRA 微调 13B 模型时,显存不足(单卡 24G),除了换卡还有什么办法?
这题考察工程优化能力,小白容易只说 "减小 batch size",没说其他优化方案 ------ 我带的一个学员用 24G 卡微调 13B 模型时,按以下方案解决了显存溢出问题。
原理拆解(4 个工程优化方案,按效果排序):
- 启用梯度检查点:牺牲 20% 训练速度,减少 50% 中间激活值显存占用,单卡显存从 28GB 降至 18GB;
- 减小 batch size + 梯度累积:batch size 从 8 降至 4,梯度累积步数从 4 增至 8,保持有效 batch size 不变(32),显存再降 2GB;
- 降低量化精度:从 4bit 量化降至 3bit(用 GPTQ 框架),显存从 18GB 降至 14GB,精度仅下降 2%;
- 缩短序列长度:将输入文本长度从 1024 降至 512,显存再降 1-2GB,适合短文本任务(如客服对话)。
真实面试易错点:
❌ 只说 "减小 batch size",没说 "梯度检查点""量化精度调整";❌ 不知道梯度累积的作用(保持有效 batch size,避免训练不稳定)。
面试话术(直接背):
"Q-LoRA 微调 13B 模型显存不足(单卡 24G),不用换卡,4 个方案就能解决:① 启用梯度检查点:在模型初始化时设置 gradient_checkpointing=True,牺牲 20% 训练速度,减少 50% 中间激活值显存占用,单卡显存从 28GB 降至 18GB,这是最有效的方案;② 调整 batch size + 梯度累积:将 batch size 从 8 降至 4,梯度累积步数从 4 增至 8,有效 batch size 保持 32(不影响训练稳定性),显存再降 2GB;③ 降低量化精度:用 GPTQ 框架将 4bit 量化降至 3bit,显存从 18GB 降至 14GB,精度仅下降 2%,完全能接受;④ 缩短序列长度:若任务是短文本(如客服对话),将输入长度从 1024 降至 512,显存再降 1-2GB,不影响任务性能。
我之前带学员用 24G 卡微调 13B 模型时,组合前 3 个方案,显存稳定在 14GB 以内,训练全程无溢出,效果很好。"
9. 微调后模型生成内容有 "事实错误"(如说 "地球是平的"),怎么解决?
这题考察问题排查能力,小白容易只说 "优化数据",没说模型和评估层面的方案 ------ 我带的一个学员微调医疗问答模型时,按以下方案优化后,事实错误率从 12% 降至 3%。
原理拆解(3 个层面优化,带真实案例):
- 数据层面:人工审核微调数据,删除事实错误样本(如 "客服回答'退款需 7 天',实际 3 天"),补充 20% 的事实性数据(如百科、专业手册);
- 模型层面:增大 LoRA 秩 r(从 16 增至 32),增加训练轮次(从 5 轮增至 10 轮),让模型充分学习事实知识;
- 评估层面:加入事实准确性评估(如用 FactScore 模型自动打分),人工抽样检查,事实错误率高于 5% 就重新微调。
真实面试易错点:
❌ 只说 "优化数据",没说模型和评估层面;❌ 不知道 FactScore 这种事实评估工具。
面试话术(直接背):
"模型生成事实错误,核心是数据质量和模型学习不充分,需从 3 个层面优化:① 数据层面:先人工审核微调数据,删除事实错误样本(如虚假信息、矛盾内容),再补充 20%-30% 的事实性数据(如行业手册、百科知识),确保数据的准确性和丰富性 ------ 我之前微调医疗问答模型时,补充了 1000 条权威医疗手册数据,事实错误率降了 4%;② 模型层面:增大 LoRA 的秩 r(从 16 增至 32),提升模型的学习能力,同时增加训练轮次(从 5 轮增至 10 轮),让模型充分吸收事实知识;③ 评估层面:训练后用 FactScore 等工具自动评估事实准确性,再人工抽样 10%-20% 的样本检查,若事实错误率高于 5%,就重新调整数据或超参数,直到错误率达标。
这三个方案组合,基本能把事实错误率控制在 5% 以内,满足大多数业务需求。"
10. 微调 Llama 2-7B 时,怎么选择 "微调轮次"?(以 1 万条客服数据为例)
这题考察工程实操能力,小白容易说 "凭经验选 10 轮",没说具体的判断方法 ------ 我带的求职者里,能说清 "训练曲线 + 验证指标" 的,直接被面试官追问 "有没有实际调过模型"。
原理拆解(3 个判断方法,带具体案例):
- 观察训练损失:若训练损失持续下降,说明模型还在学习;若连续 2 轮下降<0.1,说明接近收敛;
- 观察验证指标:验证 Perplexity 持续下降、下游任务准确率(如客服意图匹配率)持续上升,可继续训练;若验证指标开始上升(过拟合),立即停止;
- 参考经验值:1k 条数据 3-5 轮,1 万条 5-10 轮,10 万条 10-15 轮。
真实面试易错点:
❌ 只说 "经验值",没说 "训练曲线 + 验证指标";❌ 不知道 "早停" 机制(连续 2-3 轮验证指标下降就停止)。
面试话术(直接背):
"选择微调轮次要结合'训练曲线、验证指标、经验值',以 1 万条客服数据微调 Llama 2-7B 为例,核心 3 步:① 先参考经验值:1 万条数据常规 5-10 轮,先设置训练 10 轮;② 观察训练损失:每轮结束后看训练损失,若连续 2 轮下降<0.1(如从 3.2 降至 3.15,再降至 3.11),说明模型接近收敛;③ 观察验证指标:重点看验证 Perplexity 和客服意图匹配率 ------ 若训练到第 7 轮,Perplexity 从 35 降至 28,意图匹配率从 75% 升至 88%,第 8 轮 Perplexity 升至 29,意图匹配率降至 87%,说明开始过拟合,立即在第 7 轮停止,选择第 7 轮的模型作为最终模型。
工程上还可以设置'早停机制',连续 2-3 轮验证指标不提升就自动停止,避免浪费算力。"
二、补充高频题(10 题,简洁版话术,直接背)
-
**Q:Adapter 与 LoRA 的参数效率对比,适用场景有何差异?**A:① 参数效率:两者相当(7B 模型均 0.1-0.3 亿参数);② 差异:Adapter 在 Transformer 层插入 "降维→激活→升维" 网络,多模态任务(如 MLLM 图文对齐)性能更优;LoRA 插入低秩矩阵,纯文本任务(对话、摘要)性能更优;③ 场景:多模态选 Adapter,纯文本选 LoRA。
-
**Q:BitFit 的核心原理是什么?与 LoRA 相比有什么优势?**A:① 原理:仅训练模型的偏置参数(Bias),7B 模型仅训练 7M 参数(0.1%),冻结所有权重矩阵;② 优势:显存占用更低(7B 模型仅需 4GB)、训练更稳定(偏置参数对输出影响小)、推理无额外开销(不用加载低秩矩阵),适合显存极度有限、对推理速度要求高的场景。
-
**Q:混合精度训练(Mixed Precision)的核心原理是什么?如何配置?**A:① 原理:前向 / 反向传播用 FP16/FP8 计算(减少显存和计算量),梯度用 FP32 存储(避免精度损失),更新时转换为 FP16;② 配置:微调 7B-13B 模型用 FP16(精度损失<3%),显存紧张用 FP8;启用梯度缩放(因子 128),关键层(嵌入层、输出层)保留 FP32,减少精度损失。
-
**Q:微调数据筛选的核心标准是什么?以企业客服对话为例。**A:① 核心标准:质量(无乱码、语义完整)、多样性(覆盖订单查询、售后投诉等子场景)、领域匹配度(与客服场景高度相关);② 筛选方法:删除<10 字的对话,用规则删除语义不连贯样本;补充稀缺子场景样本(如售后投诉),占比 20%-25%;替换手机号等敏感信息,确保合规。
-
**Q:Prefix Tuning 与 Prompt Tuning 的差异是什么?适用场景有哪些?**A:① 差异:Prefix Tuning 在输入前端加可训练前缀 token,支持长序列(2048+token);Prompt Tuning 在输入中插入可训练提示 token,适合短序列和多任务;② 场景:长文档摘要、多轮对话选 Prefix Tuning;文本分类、单轮问答、多任务微调选 Prompt Tuning。
-
**Q:微调后模型的泛化能力如何评估?**A:① 定量指标:独立测试集计算 Perplexity、下游任务准确率,测试集与训练集指标差距<5% 说明泛化好;② 定性分析:人工评估生成内容的语义连贯性、事实准确性,优秀率>70%;③ 鲁棒性测试:输入含错别字、语序混乱的噪声数据,准确率>60% 说明泛化强。
-
**Q:训练 LLM 时,预训练目标 MLM 的掩码比例为什么通常是 15%?**A:① 比例过低(<10%):模型学习到的上下文关联不足,语义理解能力弱;② 比例过高(>20%):输入文本被破坏严重,模型难以学习到完整语义,训练不稳定;③ 15% 是工程上的平衡值,既能让模型学习上下文关联,又能保证输入文本的完整性,是 BERT 等模型的最优实践。
-
**Q:用 PEFT 微调后,如何合并权重?(以 LoRA 为例)**A:① 用 PEFT 库的 merge_and_unload 函数,将 LoRA 低秩矩阵合并到原模型权重;② 步骤:加载预训练模型→加载 LoRA 权重→调用 merge_and_unload ()→保存合并后的模型;③ 注意:合并后模型可脱离 PEFT 库独立运行,推理速度更快,适合部署上线。
-
**Q:微调时,batch size 设置过小(如 1)会有什么问题?如何解决?**A:① 问题:训练不稳定(梯度波动大)、收敛慢、泛化能力差;② 解决:用梯度累积(accumulation_steps=8),有效 batch size=1×8=8;或用动态批处理(如 vLLM 的 dynamic batching),提升训练稳定性和效率。
-
**Q:不同任务(文本分类、对话生成、摘要)的微调策略有何差异?**A:① 文本分类:用 MLM 预训练目标,PEFT 选 Prompt Tuning,学习率 1e-4-3e-4,轮次 3-5;② 对话生成:用 Causal LM 目标,PEFT 选 LoRA,学习率 2e-4-5e-4,轮次 5-10;③ 摘要:用 Encoder-Decoder 架构,PEFT 选 Adapter,学习率 1e-4-2e-4,轮次 8-15,重点优化 ROUGE 指标。
三、结尾:下一篇拆解 "RAG 专项",企业刚需!
微调是大模型落地的 "核心技能",这篇笔记的话术直接背,三面遇到微调问题就能稳拿分。
下一篇我会拆解RAG 检索增强生成------Milvus/Chroma 选型、混合检索、幻觉抑制、多轮对话上下文压缩,这些是企业知识库、智能客服的刚需技术,大厂面试几乎必问,比如 "如何用 RAG 减少模型幻觉""向量库怎么选",错过就亏了!