如何在技术面试中自信应对“大模型微调”话题?
从事测试开发同学这两年跳槽,会越来越频繁遇到“大模型微调”类问题。很多人第一反应是:我平时写 UI 自动化、搞接口压测,怎么突然和模型训练扯上关系了?
现实就是,AI 已经渗透进测试领域:质量评估、数据生成、智能测试、甚至大模型测试本身,都需要对微调机制、预训练逻辑、指令数据构造有基本理解。
下面整理了一份涵盖 35 个经典微调面试问题的技术解读帮助你在面试里不被问懵。
1. 全参数微调到底要多少显存?
取决于模型大小和训练配置。简单记一条经验:显存 ≈ 参数量 × 2~3 倍(训练时会有梯度、优化器状态等额外开销)。 比如 70B 模型,基本不考虑本地,只能上集群。
测试开发常问:为什么显存这么夸张? 因为训练时不是“推理那么轻松”,而是要反向传播、保存梯度、优化器状态,天然三倍体积。
2. 为什么很多人做完 SFT 感觉模型“变傻”?
SFT(有监督微调)容易让模型“过度跟随数据”,如果数据质量不均、指令风格太窄,模型会失去原有的探索能力,生成模式单一。 类似你做接口自动化时,只给脚本喂固定场景,脚本当然学不会异常情况。
3. SFT 的指令数据怎么构建?
关键不在量,而在指令覆盖度和风格一致性。 一个常见模式是:
指令:给出任务
输入:补充信息(可空)
输出:模型应该生成的内容
对测试开发来说,可以构建一些更贴近业务的:缺陷分析、性能瓶颈定位解释、日志推理等任务。
4. Continue Pretrain(继续预训练)的领域数据如何选?
越“接近真实业务越好”。 比如电商行业模型,就喂商品描述、客服对话、订单结构化数据。 测试行业模型,就喂用例、日志、缺陷描述、排查步骤、指标规范等。
5. 领域训练后通用能力下降怎么解决?
这叫“遗忘”。常用方法:
-
混入部分通用数据 -
使用低学习率 -
训练后做一次轻量 SFT 拉回能力
就像你把接口压测工具完全调成只适应某一服务,换个微服务就废了,模型也是同理。
6. Continue Pretrain 如何让模型学到更多知识?
不仅仅靠“喂更多数据”。 重点在于:
-
数据要干净 -
覆盖要均匀 -
格式要稳定 -
通过分阶段训练逐步学习
7. SFT 时选 Base 还是 Chat 模型?
SFT 本质是再训练模型的行为模式。 如果你是做指令对齐,通常选 Base; 如果是轻量领域增强,直接在 Chat 上继续训更高效。
8. 领域微调的数据格式要求?
保持结构清晰、风格稳定、一致性强。 模型比你想得“更敏感”,格式乱一点,训练效果立刻下降。
9. 领域模型的评测集怎么构建?
评测集是给模型的“期末考试卷子”。 必须来自真实任务,例如:
-
性能指标分析 -
测试设计推理 -
日志异常定位 -
API 失败原因判断 -
测试方案对比
覆盖“模型未来要承担的能力”。
10. 是否需要扩词表?
中文场景有必要,比如:
-
行业专有名词 -
编程语言 token -
测试领域术语
扩词表能减少“拆字”,提升模型理解能力。
11. 如何训练自己的大模型?
如果不是机构级别,建议从 LoRA / QLoRA + SFT 入手,而不是从零训练。 从零训练 = 数据贵、算力贵、效果不稳定。
12. 中文大模型训练经验有哪些?
中文要注意:
-
切词方式 -
标点风格 -
多样体裁(口语/书面) -
行业术语覆盖
否则训出来的模型像“语文课代表”。
13. 指令微调有什么好处?
让模型学会“怎么回答人”,而不是“知道什么”。 类似测试开发里给脚本写公共框架,行为更一致、更稳定。
14. 知识是在预训练还是微调阶段注入的?
预训练注入“知识”; 微调注入“行为”。 一个是大脑,一个是习惯。
15. 想让模型学某行业知识,用预训练还是微调?
依赖知识密度。大量领域知识 → continue pretrain。 任务形态(怎么回答) → SFT。
16. 多轮对话任务怎么微调?
适配「上下文关联」,数据一般是:
用户:...
助手:...
用户:...
助手:...
训练时保持对话链条连续。
17. 灾难性遗忘是什么?
模型为了学新知识,把旧知识“挤掉”。 类似你把接口压测脚本改成只跑压测,功能验证相关逻辑会自动退化。
18. 微调模型需要多大显存?
LoRA(8~24GB)、QLoRA(12GB 也能练)、全参数(64GB 起步甚至更高)。
19. SFT 时模型到底在学什么?
学“任务模式”。 比如回答风格、格式、逻辑结构,而不是百科知识。
20. 预训练与 SFT 有什么不同?
预训练:摄入全世界的文本 SFT:学会怎么当一个有用的助手
21. 样本量增大导致 OOM?
通常是因为:
-
batch size 设置过大 -
序列长度拉满 -
优化器状态占用爆炸
22. SFT 如何优化样本?
主要是:
-
去掉重复 -
去掉风格冲突 -
去掉噪声 -
删除无意义的回答冗余
数据越干净,模型越聪明。
23. 模型参数的迭代实验怎么做?
常见方式:
-
切不同学习率 -
调 LoRA rank -
不同指令模板 -
混域 vs 纯域训练
记录每次实验的评测指标非常关键。
24. 微调的一些经验建议
简单说,别“一把梭”。 模型训练就像性能调优:反复试、慢慢调、逐步验证。
25. batch size 太小的影响?
梯度不稳定,收敛慢,模型易随机发散。
26. batch size 太大的影响?
显存容易爆,模型容易“平均化”,变得呆板。
27. batch size 如何设置?
通常根据显存、序列长度反推。不够就使用梯度累积。
28. 优化器怎么选择?
常见的是 AdamW、Lion。 小模型 AdamW 大多够用。
29. 哪些因素影响显存使用?
模型大小、batch size、序列长度、LoRA 或全参、优化器状态。
30. 领域预训练用哪些数据集?
根据行业选择:技术文档、API 文档、日志样例、缺陷描述、测试用例等。
31. 微调数据集如何构建?
围绕真实任务构建,覆盖高频业务场景,让模型“能用”。
32. 大模型训练 loss 出现突刺怎么办?
32.1 什么是 loss 突刺?
训练 loss 突然跳高但又下降。
32.2 为什么出现?
数据脏、极端样本、学习率太大、batch 太小。
32.3 如何解决?
降学习率、清洗数据、调 batch、缩序列长度。
大模型微调特别注意点
作为测试开发,你需要更关注以下方向:
-
怎么评估大模型的功能正确性(可控性、稳定性) -
怎么构建大模型的质量评测集 -
领域数据采样、清洗、分类 -
模型的日志分析、训练监控 -
性能指标:吞吐、显存、迭代速度 -
如何发现训练中的“模式坍缩”和“模式漂移”
这些能力正在成为“AI时代的测试开发核心竞争力”。
大模型不是玄学,它越来越像微服务一样,可以拆解、监控、测试、优化。
- 点赞
- 收藏
- 关注作者
评论(0)