关于新老模型替换的思考?
这是技术思考的第一篇文章,来谈谈对生产上的旧模型优化时的技术路线选择问题。
前段时间在工作中遇到了这样一个问题,某项目现在线上有一个老模型,为了提升准确率,我们要开发一个新模型,于是一个问题出现了,我们是从头开始开发一个新模型,但同时维持老模型的日常优化,还是将新模型拼接在老模型上,组成一个混合模型来调试其效果呢?
当时我们团队的负责人倾向于基于老模型去开发新模型,这样可以充分利用之前老模型留下的基础,有利于快速上线;而我则倾向于从头开始开发一个新模型,同时为了解决新模型因从头开发而无法快速上线的问题,继续保持对老模型的日常优化(之前已经有一套对老模型的持续优化方法,只是人工成分较多,相对比较耗时间,想换成新模型也有减少优化工作量的考虑)。
我之所以考虑将新模型和老模型的开发和优化分开,是因为觉得如果将两者放在一起,虽然当前可以快速上线,但之后免不了还是要面对如果将老模型下线而完全使用新模型的问题,而到那时如果新模型和老模型已经产生了比较深入的交互,那如果将这种交互去掉,以便老模型的下线不影响新模型的效果,又是一个麻烦的事情,因此不如一开始就将两者的开发完全分离,从而避免出现先想办法将两者融合之后又想办法将两者分离这种显得优点多余的操作。另一方面,因为我们团队现在有四个人,如果采取模型融合的方案,四个人的工作很难完全分开,而如果选择分别开发的方案,则可以很明确的让两个人去开发新模型,而另外两个人继续优化老模型。
而团队负责人可能是因为面临着指标的压力,更愿意选择能够利用老模型现有的基础,快速提升业务指标的方式。新模型在技术上比老模型更先进,因此至少在某些场景下可以取得比老模型更优越的表现,同时老模型经过长期的优化,也有一些沉淀了业务经验的规则是新模型无法立刻超越的,因此将两者融合可以更快地达到业务目标,这是团队负责人支持模型融合的原因。
在这样的背景下,如果你是更高级别的负责人,你会怎么选择呢?