微调与模型平台高频问答
这页面向算法微调、LLM 应用工程、AI Infra / MaaS 平台岗位。目标是把 SFT、PEFT、LoRA、QLoRA、RLHF、DPO、模型网关、评测门禁这些高频词,整理成面试可直接复述的答案。基础概念见 微调范式、LoRA / QLoRA、RLHF / DPO、MaaS 平台。
怎么用这页
- 面试前 30 分钟:先背每节第一题和最后的速背清单。
- 算法微调岗:重点刷 SFT/LoRA/QLoRA/DPO 和评估。
- LLM 应用岗:重点刷“微调 vs RAG vs Prompt vs 长上下文”和项目讲法。
- AI 平台岗:重点刷模型网关、MaaS、评测门禁、成本治理。
回答结构建议固定为:问题定义 -> 工程链路 -> 关键取舍 -> 评估指标 -> 风险兜底。
SFT / PEFT / LoRA / QLoRA
Q:SFT 和 PEFT 是一回事吗? 不是。SFT 是训练目标,回答“用什么数据、让模型学什么行为”;PEFT 是训练方式,回答“动哪些参数、花多少资源训练”。SFT 可以全参做,也可以用 LoRA、QLoRA 这类 PEFT 做。面试里一句话可以说:SFT 是让模型学会按指令回答,PEFT 是用更低成本完成这个适配。
Q:SFT 数据怎么构造?为什么通常只对 assistant 回答算 loss? 数据一般来自人工标注、强模型蒸馏、真实日志清洗、Self-Instruct 和业务 bad case 回流。训练时 prompt/system/user 部分通常做 mask,只对 assistant 部分算 loss,因为目标是让模型学“如何回答”,不是拟合用户提问。否则模型容易学会复述问题或破坏对话模板。
Q:SFT 最容易踩哪些坑? 第一是 chat template 不一致,训练和推理的角色标记不同会让模型输出错乱。第二是低质蒸馏数据太多,模型学到废话、幻觉和错误格式。第三是训练轮数和学习率过大,导致过拟合和灾难性遗忘。第四是没有独立评估集,只看训练 loss,结果上线后才发现格式遵循、拒答、事实准确率下降。
Q:LoRA 的核心假设是什么?为什么低成本有效? LoRA 假设微调带来的权重变化量 ΔW 近似低秩,可以用两个小矩阵 B A 表示。冻结原权重,只训练低秩旁路,训练参数量从 d*d 降到 2*d*r。它有效的直觉是:业务微调大多是在少数方向上改变模型行为,如格式、风格、领域任务模式,而不是重学全部语言知识。
Q:LoRA 为什么通常没有额外推理延迟? 训练完成后可以把低秩旁路合并回原权重:W' = W + (alpha/r) * B A。合并后推理图和原模型一致,所以不增加额外前向层。Adapter 则是串行插入新模块,推理时必须多跑一段网络,因此会增加延迟。
Q:r、alpha、target_modules 怎么调?r 决定旁路容量,常从 8/16/32 起步,不是越大越好;过大可能过拟合、存储变大、训练不稳。alpha 控制旁路强度,常取 r 的 1 到 2 倍。target_modules 比盲目增大 r 更关键,常从 q_proj/v_proj 起步,复杂任务再扩到 k_proj/o_proj 和 FFN 的 gate/up/down。面试可以说:先扩大覆盖层,再小步调 r 和学习率。
Q:QLoRA 量化的是哪部分?三件套是什么? QLoRA 量化的是冻结的基座权重,不是 LoRA 旁路。基座以 4-bit NF4 存储,前向时反量化到 BF16 计算;LoRA 参数保持高精度并参与训练。三件套是:4-bit NF4、双重量化、分页优化器。它解决的是显存问题,让较大模型可以在较少 GPU 上做 LoRA 微调。
Q:LoRA 能不能注入新知识? 能注入少量稳定知识,但不是它最擅长的场景。LoRA 更适合改风格、格式、任务步骤、领域术语表达和结构化输出习惯。如果知识频繁更新、需要权限过滤、引用溯源,首选 RAG;如果要系统注入大量领域知识,考虑继续预训练或领域预训练,再用 SFT/LoRA 做指令适配。
RLHF / DPO / 偏好优化
Q:RLHF 完整流程怎么讲? 经典流程是 SFT -> Reward Model -> PPO。先用 SFT 得到会听指令的初始策略;再对同一 prompt 生成多个回答,让人类或强模型做偏好比较,训练奖励模型;最后用 PPO 根据奖励模型分数优化策略,同时加 KL 约束,避免模型偏离 SFT 太远。
Q:为什么 PPO 复杂? PPO 通常要同时维护策略模型、参考模型、奖励模型、价值模型,显存、采样、训练稳定性和超参成本都高。它的优势是在线探索能力强,适合有明确奖励、追求上限的场景;缺点是工程复杂、容易 reward hacking。
Q:DPO 为什么能简化 RLHF? DPO 利用 RLHF 最优策略与奖励函数之间的关系,把显式奖励模型和 RL 循环消掉,直接在 (prompt, chosen, rejected) 偏好对上优化策略。直觉是提高优答相对参考模型的概率,降低劣答相对参考模型的概率。它只需要策略模型和参考模型,训练像监督学习一样稳定,是开源对齐常用选择。
Q:DPO、KTO、ORPO、SimPO、GRPO 怎么选? 有成对偏好数据、资源有限,优先 DPO。只有单条好/坏反馈,考虑 KTO。想把 SFT 和对齐合并、少放一个参考模型,考虑 ORPO。担心长度偏置和参考模型成本,关注 SimPO。数学、代码、推理这类有可验证奖励且追求上限的任务,考虑 GRPO / RLVR。
Q:偏好数据怎么采? 来源包括人工 pairwise 标注、线上点赞点踩、专家审核、强模型裁判、拒绝采样、bad case 改写。关键是同一 prompt 下的回答要可比,标注 rubric 要清楚,覆盖“有用、诚实、无害、简洁、遵循格式、拒答边界”等维度。不要只收集漂亮样例,还要收集模型容易犯错的困难样例。
Q:reward hacking 和过度拒答怎么防? reward hacking 是模型钻奖励模型空子,比如回答更长、更讨好、看起来更安全但没有解决问题。过度拒答是安全训练过强导致正常请求也拒绝。防法是:偏好数据里同时放“该拒绝”和“不该拒绝”的样本;评估里拆有害拒答率、正常误拒率、帮助性、事实性;训练时控制 KL、步数和数据分布。
微调 vs RAG vs Prompt vs 长上下文
| 需求 | 首选 | 面试答法 |
|---|---|---|
| 改回答风格、固定格式、领域话术、分类/抽取模板 | SFT / LoRA | 改模型行为,评估格式遵循率、任务准确率 |
| 私有知识、频繁更新、权限隔离、引用溯源 | RAG | 不把动态知识塞进参数,评估召回、忠实度和引用 |
| 简单任务、快速验证、低成本试错 | Prompt | 先用 prompt 建 baseline,再决定是否工程化 |
| 一次性读取长文档、少量临时上下文 | 长上下文 | 适合临时材料,不替代检索索引和权限治理 |
| 安全偏好、拒答边界、帮助性排序 | DPO / RLHF | 用偏好数据调行为,评估正常拒答与误拒 |
Q:面试官问“为什么不用微调解决知识库问答”,怎么答? 知识库问答的核心是事实新鲜度、权限、引用和可删除性。微调把知识写进参数,更新慢、难溯源、难按用户权限隔离,也无法保证删除立即生效。更合理的是 RAG 提供事实证据,微调只提升领域表达、格式遵循和拒答风格。
Q:什么时候 RAG + 微调一起用? 企业知识库客服、金融投研、法务制度问答很常见。RAG 负责拿到最新、合规、可引用的事实材料;微调负责让模型稳定按业务话术回答、输出固定结构、遵守拒答和升级人工规则。评估时同时看检索命中、答案忠实、结构化字段正确、误拒率和人工转接率。
MaaS / 模型网关 / 评测门禁
Q:MaaS 和模型网关有什么区别? 模型网关是流量入口,解决统一接口、鉴权、限流、路由、重试、计费、审计。MaaS 是平台治理层,还包括模型目录、申请审批、租户配额、成本报表、评测门禁、模型生命周期、合规策略。可以说:网关管请求,MaaS 管模型能力如何被企业安全、可控、可计费地使用。
Q:模型平台上线一个新模型,要过哪些门禁? 至少五类:模型目录信息完整;离线评估集达标;成本和延迟不超过预算;安全合规策略通过;灰度和回滚方案就绪。上线不是“模型能调通”,而是“业务能证明质量不劣化、成本可控、出问题能回滚”。
Q:模型网关如何做成本治理? 每次请求记录 tenant_id/app_id/model/prompt_version/input_tokens/output_tokens/unit_price/cache_status/route_type/latency/status。再做预算、配额、告警和熔断:低风险任务走小模型,高风险任务走强模型;重复请求用缓存;超预算时降级、排队或拒绝。
Q:模型路由怎么设计? 先按业务显式选择模型,再逐步加能力路由、成本路由、可用性 failover 和租户合规路由。难度分层可以先用规则,后续用小模型打分或级联。降级链必须验证 prompt 兼容,因为不同模型的工具调用、JSON 稳定性、拒答风格可能不同。
Q:评测门禁怎么接到 CI/CD? 把 prompt、RAG 参数、模型版本、LoRA 版本都当成可发布资产。每次变更自动跑 golden set、bad case 回归、安全集、成本/延迟压测,低于阈值不能发布。灰度后继续看线上用户反馈、人工转接率、幻觉率、拒答率、token 成本和 P95 延迟。
项目讲法
领域 SFT / LoRA 项目
可以这样讲:
我们没有把微调用成“灌知识”,而是先用 RAG 解决事实和权限,再用 LoRA 做领域指令适配。训练数据来自客服日志、专家改写和 bad case 回流,统一成模型 chat template,只对 assistant 部分算 loss。参数上从 r=16、alpha=32、attention+FFN target 开始,设置独立验证集和通用能力回归集,避免过拟合和灾难遗忘。上线前比较格式遵循率、事实忠实度、误拒率和 token 成本,最后通过模型网关灰度。
DPO / 偏好优化项目
可以这样讲:
SFT 后模型能回答,但用户偏好的答案不一定稳定,比如有的回答太长、有的拒答过多。我们从线上 bad case 构造 chosen/rejected 偏好对,rubric 覆盖帮助性、事实性、简洁性和安全边界。先用 DPO 做离线偏好优化,再用 pairwise judge 和人工抽样校准,重点看正常问题误拒率、危险问题拒答率、格式遵循率和用户满意度。没有直接上 PPO,是因为资源和稳定性成本不划算。
MaaS / 模型平台项目
可以这样讲:
我们把模型调用做成企业统一 MaaS 平台。业务通过 Portal 申请模型和虚拟 Key,网关层统一 OpenAI-compatible API、RPM/TPM 限流、模型路由、fallback、token 计费和审计。模型上架必须经过评测门禁,覆盖 golden set、bad case、安全红队、成本和延迟。模型升级先离线回归,再按租户灰度,线上 trace 回流到评估集,支持一键回滚到旧模型和旧 prompt。
面试前 30 分钟速背
- SFT 是训练目标,PEFT 是训练方式;SFT 可以用 LoRA 做。
- LoRA 改的是低秩旁路,QLoRA 量化冻结基座,不量化 LoRA 旁路。
r不是越大越好,先扩大 target_modules,再调 r、alpha、lr。- 微调擅长行为和格式,RAG 擅长新知识、权限和引用。
- RLHF 是 SFT -> RM -> PPO,DPO 是用偏好对直接优化策略。
- DPO 简单稳定但离线探索弱;GRPO/RLVR 适合可验证奖励任务。
- 模型网关管请求治理,MaaS 管平台治理和生命周期。
- 评测门禁要同时看质量、成本、延迟、安全、回滚。