你简历里那次微调,效果提升怎么量化的?和 few-shot 基线比过吗?
谁在问:简历深挖环节;二三面;只要简历上出现"微调"两个字,这道题几乎必然到来
口语化问法
- 你简历上写微调让准确率提升了 12 个点,这 12 个点是怎么测出来的?
- 微调之前你们的基线是什么?和直接写好 prompt 比过吗?
- 如果不做微调,用 few-shot 能到多少?
考察意图
这是本章的收口题,也是简历深挖环节杀伤力最大的一道。它同时验证前面四篇教程的全部判断力,而且几乎无法准备——因为答案必须来自你真实做过的事。
面试官在看三件事:
- 有没有基线。 这是唯一的硬门槛。没有 few-shot 基线的"提升 12 个点",在面试里等于没有提升——因为无法排除"新基座本来就能做到"。
- 评测怎么做的。 评测集从哪来、和训练集是不是同源、有没有测通用能力回归。
- 今天还会不会这么做。 这是最能拉开差距的一问,考的是候选人有没有随着 2026 的变化更新自己的判断。
面试官的七步拷打路径(本题骨架,B5 的 P3 模板直接复用)
① 动机 → 为什么不是 RAG?为什么不是 prompt? ← 先卡这一刀 ② 基线 → few-shot 基线分是多少? ← 没有基线 = 没有结论 ③ 数据 → 多少条、从哪来、怎么去重、评测集是否同源 ④ 超参 → rank / lr / epoch,几卡几小时,花了多少钱 ⑤ 评测 → 任务指标 + 通用能力回归,有没有测遗忘 ⑥ 上线 → 基座升级后重训过吗?现在还在用吗? ⑦ 压力 → 基座升一版收益还剩多少?让你今天重做还选微调吗?
这七步是逐级下沉的:任何一步答不上来,后面的都不用问了。 第 ② 步是最常见的断点。
参考答案
60 分答案(及格线)
我们做的是工单分类,微调前用的是 prompt + few-shot,准确率大概 82%,微调之后到了 94%,提升 12 个点。
评测集是从标注好的数据里切出来的,大概 400 条,用准确率和各类别的 F1 来看。训练用的是 7B 开源模型 + LoRA,跑了几个小时。
有基线、有数字、有方法,是及格的。但评测集"从标注数据里切出来"会在追问里翻车,而且完全没有通用能力回归和上线后的复查,第 ⑤⑥⑦ 步都会断。
90 分答案(有生产经验的回答)
先说结论:任务准确率从 few-shot 基线的 82% 到 94%,但这 12 个点里我能明确归因给微调的大概是 9 个点,另外 3 个点是我们同期把类别定义重写了带来的。
按七步说清楚:
① 动机:需求是工单自动分类,14 个类别。我们先拆过一遍——类别的判定规则里有一部分能写清楚(涉及金额、有没有提到退款),这部分直接进 prompt;但另一部分是行业默契(同样一句抱怨,在我们这个业务里算"服务态度"不算"产品质量"),写不出规则,只能给例子。这一块才是微调的理由。不是"让模型懂我们业务"这种笼统说法。
② 基线:先做的是 few-shot 基线,8 个例子,effort 提了一档,跑评测集拿到 82%。这个数字在微调开始之前就冻结在文档里了,后面所有讨论都以它为参照。
③ 数据:1500 条,来自线上真实工单 + 人工复核。做了三件事——用 embedding 做近重复剔除(剔掉约 8%);打了长度和类别占比的分布,发现两个小类严重不足,专门补到每类 100 条以上;每个类别补了"差点就是另一类"的边界样例。
评测集是单独建的,不是从训练集切的:取的是训练数据之后一个月的真实工单,由另一位同事标注,400 条。这一条是我们上一次踩坑换来的——之前有个项目从训练集随机切 10% 做验证,分数漂亮但上线翻车。
④ 超参与成本:LoRA,target_modules="all-linear",r=16,lr 2e-4,2 个 epoch,单卡跑了三个多小时,算力成本几百块。真正的成本是标注——两个人两周。这笔账我一直是这么算的:微调的钱不花在 GPU 上,花在判准和标注上。
⑤ 评测:除了任务指标,我们另跑一份任务外的通用能力评测(一批完全不属于分类任务的请求 + 一个公开常识基准),确认模型没有变成"只会分类"。这是因为我们见过一个反例——同类项目全参微调 3 个 epoch,任务准确率很好看,上线后模型把所有输入都当工单分类,用户让它润色文案它回一个类别名。
⑥ 上线后:跑了七个月还在用。期间基座出了新版本,我们做过一次三条线对照:老微调模型 / 新基座 + prompt / 新基座 + 重新微调。结果是新基座 + prompt 到了 88%,也就是说我们当初 12 个点的收益,被新基座免费拿走了 6 个。剩下的差距还够撑住继续用,但我们把复查设成了季度例行。
⑦ 如果今天重做:我还会做,但会做得更小。先确认那三块规则里有多少能靠结构化输出和 effort 档位解决,只把真正写不出规则的那一小块留给微调。另外我不会再在闭源 API 上做——2026 年闭源侧的微调入口在收缩(OpenAI 2027 年 1 月起存量客户也不能建新任务、Gemini 3.x 至今没开 SFT),在闭源上微调是一个有路线风险的选择。
追问链
为什么是微调?为什么不是 RAG、不是把 prompt 写好?
期望把需求拆成「不知道 / 不会做 / 太贵太慢」三类,指出只有其中一块落在微调上;微调那块的判据必须是「规则写不出来,只能给例子」;整个需求笼统说成「让模型更懂业务」就是没拆过信号第一句是「我们有很多领域数据」→ 拿数据量当理由,没拆过需求;说「写得出规则的进 prompt,写不出的才微调」→ 最快的加分点评测集怎么来的?和训练集什么关系?
期望必须与训练集异源:时间晚于训练集、由不同的人标注、另加一份任务外通用能力集 —— 三条至少占两条;而且评测集要冻结,分数难看也不许改信号答「从标注数据里随机切了 10%」→ 七步里最常见的断点,没做过严肃评测;主动讲「时间靠后 + 换人标」→ 可信度上一个台阶超参怎么定的?总共花了多少钱?
期望target_modules是不是all-linear(答q_proj/v_proj就是老配置)、学习率比全参高一个数量级、epoch控制在 1–3;成本要把算力与标注拆开,并知道标注才是大头信号报不出具体超参 → 不是本人做的,或只在平台上点了个按钮;说「算力几百块、标注两个人两周」→ 真自己组织过项目微调之后模型在别的事情上有没有变差?怎么确认的?
期望必须有任务外的评测:训练过程中跟踪保留的通用基准,上线前拿一批任务外请求抽测。这一层临场编不出来,七步里杀伤力最强的一刀就在这儿信号答「应该没影响吧」→ 比承认没测更糟;说得出测了什么、掉了几个点 → 非常强的信号基座已升两版,今天重做还选微调吗?新基座 + prompt 就到你微调后的水平,怎么跟批预算的人解释?
期望第一问要更新过的判断不是防守:「还会做,但做得更小」—— 先看多少能被结构化输出、effort 档位、long context 吃掉,只留写不出规则的那块。第二问不辩解,按资产寿命算账:① 当时有 few-shot 基线,决策没错 → ② 资产是 400 条评测集(100% 保值)+ 1500 条标注数据 → ③ 归零的只有权重,成本才几百块算力信号硬撑「微调不可替代」→ 没随行业更新判断;说清「评测集和数据保值、权重才是归零那部分」→ 本题最强信号
评分要点
- 有 few-shot 基线,且基线数字在微调前就冻结了(硬门槛)
- 能说清微调的动机是"规则写不出、只能给例子",而非笼统的"懂业务"
- 评测集与训练集异源,且能说出具体怎么异源
- 能报出具体超参(target_modules / lr / epoch / r)
- 成本能拆成算力与标注,且知道标注是大头
- 做过通用能力回归,能说出测了什么
- 知道上线后要随基座升级做复查
- (加分)能把提升拆解归因(哪几个点来自微调、哪几个点来自别的改动)
- (加分)对"今天还会不会做"有更新过的判断
- (加分)能用资产寿命解释投入价值