制造质检多模态模型小样本微调落地

日期:2026-09-19

一、项目背景

某零部件工厂想用视觉模型查表面缺陷,良品多、缺陷少,能标注的坏样本就几十张。直接上通用大模型零样本一测,漏检严重,产线根本不认,老师傅说你这还不如我眼睛。这个项目让我重新理解了一句话:工业场景里,模型不是越通用越好,是越贴产线越好。工厂那边对误检的容忍度极低,模型乱报停一次线,老师傅就再也不信系统了,所以我们的第一优先级不是指标多漂亮,是别惹人烦。我们进场时,厂里刚被一套通用方案坑过,上线两周因为误检停了三次线,产线主任把系统关了,对 AI 有点抵触,我们得先重建信任。

我们进场时厂里刚被一套通用方案坑过,上线两周误检停了三次线,主任直接把系统关了,所以这次我们的第一目标不是指标多好看,是先让主任敢把系统重新开起来。

我们进场时厂里刚被一套通用方案坑过,误检停了三次线,主任直接关了系统,对 AI 有点抵触,所以这次第一优先级不是指标多漂亮,是先让主任敢把系统重新开起来,信任比精度值钱。

二、落地场景

我们走小样本路线:先对几十张缺陷图做增广(翻转、加噪、局部遮挡模拟),再用 LoRA 做轻量微调,不动底座全量参数;缺陷按严重程度分级(划痕、凹点、裂纹),输出不只是有没有缺陷还有严不严重;误检的样本回灌给人工复核,复核结果再进训练集。整条链路接在产线摄像头后面,实时出结果,判废的件自动打标分流,判良的件直接过,只有低置信度的才转人工。车间大屏能看到实时检出率和误检数,主任一眼就知道系统今天靠不靠谱,信任是这么一点点建立起来的。

车间大屏能看到实时检出率和误检数之后,主任一眼就知道系统今天靠不靠谱,信任是这么一点点建立起来的,比任何演示都管用,演示会演戏,大屏不会。

产线主任后来跟我们说,系统能不能用,他第一眼看的是大屏上的误检数,这个数稳了他才放心,说明信任建设比指标报告更管用,大屏是最直接的语言。

三、关键技术挑战与解决思路

小样本过拟合是第一个坑,样本少模型容易记答案,我们用增广加 dropout 压住,训练集和验证集严格分开,不拿增广图当验证,否则验证分虚高上线就露馅。缺陷长尾分布是第二个,某类缺陷只有两三张,单独分反而更不稳,我们先归到大类再细分,分级模型先判大类再判等级,长尾类靠大类兜底不硬分。第三个是误检兜底,产线宁可漏检也受不了乱报停线,我们给误检留了人工复核通道,模型置信度低于阈值的直接转人工,不自动判废,宁可多一个人看也不乱停线。第四个是实时性,产线节拍快,推理必须压到几十毫秒,我们用了轻量底座而不是大模型。第五个是闭环,复核结果必须回流,否则模型不会越用越准,我们接了自动回流。

验证集不能拿增广图当这一点,我们一开始犯过,验证分虚高上线就露馅,后来严格分开,训练集增广、验证集用真实未增广图,分数才可信。

四、效果数据

小样本微调后漏检率从通用模型的三成多降到 5% 以内,老师傅开始愿意信系统,不再手动全检;误检率控制在可接受范围,靠人工复核兜底没出现停线,这点对工厂接受度最关键,主任说宁可多配一个复核也不想再停线;标注成本因为只有几十张,比全量微调省了九成,工厂舍得持续补样本,形成正循环;单张检出时效满足产线节拍,没拖慢线速。产线侧反馈是,最满意的是不乱报,敢把判定接进流程了,漏检的件由复核兜住,整体比纯人工稳。

标注成本省九成这件事,对工厂意义比模型指标还大,因为舍得持续补样本,系统进入正循环,越用越准,而不是一次性交付后慢慢退化。

五、可复用经验总结

缺陷识别别迷信大模型零样本,样本少的时候 LoRA 加增广比全量微调稳得多,也快得多。我们最早想上全量微调,光标注就劝退了工厂,换成小样本才推得动。但误检必须有人的位置,产线对假警报的容忍度极低,模型说废就废,回灌复核这步省不得,而且复核结果要回流,模型才会越用越准。置信度阈值定太低漏检、定太高误检,我们也是压了几轮产线数据才定下来,这个阈值没有通用答案,得贴自己的产线。实时性别忽视,推理慢了产线宁可不用,轻量底座比大模型在车间更实用。信任是屏上实时指标一点点攒出来的,别指望一次演示就让人服。

实时性别忽视,推理慢了产线宁可不用,我们选轻量底座而不是追大模型,在车间这种环境里实用比先进重要,老师傅只关心别停线别漏检。

案例片段(已脱敏): LoRA 微调与缺陷分级配置片段:yaml lora:  r: 16  alpha: 32  target_modules: [q_proj, v_proj]  train_samples: 47 defect_grade: [scratch, dent, crack] human_review:  trigger: confidence < 0.6  action: route_to_qa误检回灌日志:[QA] 误检 id=IMG-0419 实际良品, 回灌 train_set +1 [EVAL] 漏检率 0.34 -> 0.05 after LoRA+aug