推荐算法工程师如何突破模型调研的瓶颈期?

Posted 深度传送门

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐算法工程师如何突破模型调研的瓶颈期?相关的知识,希望对你有一定的参考价值。

来源:https://zhuanlan.zhihu.com/

p/58817004

整理:深度传送门


导读


笔者在我司(某大厂推荐方向)一条核心业务中从事算法类工作,整个组分为召回和排序两个方向,从2016年9月排序方向刚开始成立时加入到团队中。截止到18年底,围绕着同一个核心业务指标,我们经历了从线性模型、基于统计性特征的树模型、基于大规模离散特征的FM模型再到深度学习模型总共四个大版本的模型升级迭代。每个模型版本我们都尽力发挥其最优效果,故避免不了的就是每个阶段调研到后期都是会进入到瓶颈期。


下面介绍下笔者在模型调研瓶颈期如何再一次突破模型效果的想法,偏方法论,不涉及技术细节。


观大局

我们整体的模型调研之路是稳扎稳打的,在每个大版本调研的末期都会从各个维度审视现有模型整体结构潜在的问题或者不足。这些问题中哪些问题在现有模型下修修补补能够解决?哪些问题在现有模型下很难解决?

这些判断也是区分低阶同学和高阶同学的一个重要标志后一类问题在瓶颈期阶段会显得更为突出。比如在基于树模型调研的后期,我们发现宏观意义上的统计特征基本利用充分了,而微观意义上的细粒度信息由于模型的限制无法考虑,于是我们转向支持海量特征的FM模型。

看文献

对于如何将论文里的模型应用到真实场景,我倾向于借鉴论文里可能有用的部分思路,相当于给已有模型做加法而不是把论文的模型整体搬过来,然后发现效果不行再去做减法。因为问题场景和数据特点存在差异,一般很难直接搬过来就有明显效果,这一点即使很多偏高阶的同学也容易犯错。

查case

很多算法岗位同学执着于探索如何使用更复杂的模型,而对看case经常不屑一顾。这是一个典型的误区,调研工作不仅要仰望星空,而且要脚踏实地。在公司里安身立命的根本是提高业务效果,并不拘泥于任何可行的解决方案

针对如何发挥看case的作用,具体来说,可将模型预测错误的case输出出来,仔细分析其错误原因,并分门别类,然后针对每类的问题分析其解决方法,到底是加特征还是修改模型结构?这种方式对效果提升可有一定预期的,比如一类预测错误的case大约占比0.1%,那么修复后准确率提升的天花板就是0.1%,当然也有引入新bad case的可能。

勤思考

很多同学喜欢快糙猛把所有想到的模型或者网络结构都尝试一番,效果不好就又再试其它新的方法,反反复复,最终无法获得明显的业务收益。个人建议在每个尝试点结束之后要多思考。

针对有效的尝试,要看是否已经将其效果发挥到了极致?其实没有效果的尝试也是有意义的,起码能说明一个潜在的方案并没有效果。

针对无效的尝试,要思考为什么没有效果,没有效果背后一般都是有一定原因的,如果搞不清楚,那尝试的意义就会大打折扣了。反之如果搞清楚了对后续的模型迭代工作有一定的指导意义。勤思考的结果就是对业务特点会越来越清楚,激发的idea也会越来越多,效果提升的可能也越大。

快迭代

迭代速度是制约模型调研的一个核心因素,足够的机器资源并充分利用可大大加快模型调研的节奏。这一点的重要性可比肩前面所有条加起来

一个人在业务指标上的贡献大致可看做正比于探索过的idea数目。在总时间一定的情况下,单个实验的成本越低,自然可做更多的实验。我司提供的GPU资源还是非常充足的,开始的时候我们探索过单机多卡训练,很可惜当时收敛效果并不理想就放弃了。



以上是关于推荐算法工程师如何突破模型调研的瓶颈期?的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统算法工程师培养计划

如何突破业务增长的瓶颈

奇点云三角肌「秀肌肉」,端化目标检测模型再获突破

奇点云三角肌「秀肌肉」,端化目标检测模型再获突破

推荐系统工程化落地技术点汇总

PHP程序员如何突破成长瓶颈