模型如何改进,又如何发布。
每次发布都经过同一套流程。未通过任一质量关卡的模型会被记录为驳回,并注明原因。
- 01
采集
从生产批次中抽样提取帧画面与检测结果。
- 02
审核
两个教师模型为每一帧做标注。二者结论不一致之处,每一帧都由人工逐一查看。
- 03
数据集
经核实的误检成为难负样本,经核实的漏检成为正样本。按录制切分数据集,并附来源哈希。
- 04
再训练
训练从与生产环境完全一致的检查点开始,并以其哈希值为证。质量关卡在训练开始前写定。
- 05
质量关卡
留出数据上的误检必须下降,车牌检出不得退步,完整数据集逐一排查,其他数据域同样检查。
- 06
审批
任何内容发布之前,都由人工审批模型。
- 07
发布
附校验和的权重与模型卡,与此前每个版本一同保存。
- 08
部署
更换模型并重建引擎约需两分半钟。回滚只需一个文件。
修正一个数据域,是这样进行的。
问题
在来自一个新地区的素材上,在用模型仅在一段录像中就检出了 1,072 张并不存在的人脸:沙地、格栅、标志牌和车轮。
数据
来自该地区的 26,695 帧,由教师模型标注,每张人脸都经人工复核。
第一次训练
未通过质量关卡:车牌检出丢失了 61%。
修正
由在用模型重新标注车牌,误检以四倍数量作为难负样本加入。
−94%新素材上的误检。
+0.4%车牌检出。
无欧洲素材上的漂移。模型已获批准。
训练在哪里进行。
与生产环境隔离
训练在欧盟区域拥有独立资源。生产环境只读取已发布的模型,任何内容都不会被直接推送进去。
在欧盟境内
客户素材从不经过 GitHub。所有数据都留在欧盟境内。
每个版本都有记录
当前运行的模型、此前运行的模型,以及每次被驳回的训练及其原因。
以校验和锁定
使用模型的产品通过校验和锁定所用版本。
