把车间的注塑工艺参数喂进大模型:一次小样本微调的落地记录
车间里沉淀了十几年的工艺卡,绝大多数是纸面或者 Excel 里的一行行参数:料温、模温、射出压力、保压时间、冷却时间。老师傅凭经验调机,经验在脑子里,人一走就断档。这次尝试用两百多条历史记录做一次轻量微调,看看模型能不能学出一点可用的规律。
一、先想清楚要模型回答什么
最开始的设想是"输入产品图纸,输出全套工艺参数",试了两天就放弃了:参数之间强耦合,产品结构又千差万别,样本根本不够。改成更窄的问题后才有意义:给定机台吨位、材料牌号、模具穴数、产品重量,给出料温区间和保压时间的建议值,并说明依据。
问题一旦收窄,样本质量立刻变得可控:同一种材料在同一台机器上的历史记录可以直接比对,异常值也能看出来。
二、数据清洗比训练本身花的时间多
两百多条记录,清洗掉了将近三成。主要三类问题:
- 单位不统一:有的表里料温写 230,有的写 230℃;保压时间有的按秒、有的按 0.1 秒。
- 缺失与占位:空值被填成 0 或者 "-",直接进训练就是把"0 度料温"当成真实工况。
- 结果未标注:早期记录只有参数没有良率,这类样本只能用于语言建模,不能用于效果评估。
清洗后留下 148 条带良率标注的记录,统一成 JSON 结构,一条样本长这样:
{
"machine": "HTF-160",
"material": "PP-T30",
"cavity": 4,
"weight_g": 38.5,
"params": {"melt_temp": 225, "mold_temp": 45, "hold_pressure": 62, "hold_time": 3.2},
"yield_rate": 0.97
}
三、LoRA 微调:参数量小到可以在一张卡上跑完
基座选的是开源的中文小参数模型,用 LoRA 只训练低秩旁路,可训练参数不到全量的 1%。这样做的直接好处是:显存需求从"需要 A100"降到"单卡 24G 就够",训练二十分钟出结果,改一版数据重训的成本可以接受。
关键超参就三个:r=8、lora_alpha=16、学习率 2e-4。样本量这么小的情况下,r 再大只会更快过拟合。
四、评估不能只看 loss
训练 loss 降到 0.4 的时候,模型给出的参数已经很"像"历史记录了,但那是记忆不是泛化。真正的评估要拿没进训练集的 20 条记录做留出验证,看三件事:
- 料温建议值是否落在该材料的合理窗口内(PP 通常 200–240℃);
- 保压时间与产品壁厚的比例是否符合经验公式的量级;
- 模型能不能说清"为什么建议这个值",而不是只吐数字。
第一版模型的料温建议有 6 条超出窗口,追查发现是训练集里混进了两台机器单位标错的数据。修完再训,超窗口降到 1 条。
五、上线判断:先当助手,不要当决策者
现在这套东西的定位很明确:调机的时候给一个参考区间,师傅可以采纳也可以推翻,采纳与否都记一笔。跑了三周,采纳率大概六成,被推翻的多是薄壁件——这类样本本来就少。
如果一开始就让它自动下发参数,第一次超窗口就会失去现场信任。小样本微调能做的是把老师傅的经验固化成可检索、可对比的知识,而不是替代判断。这条路走通之后,再谈扩展到别的机台和材料,才有依据。
- 点赞
- 收藏
- 关注作者
评论(0)