如何成为一名优秀的推荐工程师?
极客时间编辑部
讲述:丁婵大小:7.86M时长:05:44
你好,欢迎收听极客视点。
一名优秀的推荐工程师应该是怎样的?具备什么样的能力呢?在《深度学习推荐系统》这本书中,作者王喆认为,作为一名推荐工程师,所擅长的不应仅仅是机器学习相关知识,更应该从业务实践的角度出发,提升自己各方面的能力。他在书中列举了推荐工程师的 4 项能力,供你参考。
推荐工程师的 4 项能力
抛开具体的岗位需求,从稍高的角度看待这个问题,一名推荐工程师的技术能力基本可以拆解成以下 4 个方面:
知识:主要指推荐系统相关知识和理论的储备;
工具:指运用工具将推荐系统的知识应用于实际业务的能力;
逻辑:指举一反三的能力、解决问题的条理性、发散思维的能力、聪明程度、通用算法的掌握程度;
业务:理解推荐系统的应用场景、商业模式,从业务中发现用户动机,制定相应的优化目标并改进模型算法的能力。
简单来说,任何推荐系统相关的工程师都应该满足这 4 项技能的最小要求,因为在成为一名“优秀”的推荐工程师之前,首先应该是一名合格的工程师。不仅应具有领域相关的知识,还应具有把知识转换成实际系统的能力。
在最小要求的基础上,不同岗位对能力的要求也有所不同:
算法工程师:算法工程师的能力要求是相对全面的。作为算法模型的实现者和应用者,要求算法工程师有扎实的机器学习基础、改进和实现算法的能力、对工具的运用能力及对业务的洞察。
大数据工程师:更注重大数据工具和平台的改进,需要维护推荐系统相关的整个数据链路,因此对运用工具的能力要求最高。
算法研究员:担负着提出新算法、新模型结构等研究任务,因此对其知识储备和逻辑能力的要求最高。
能力“偏科”的工程师:有的人平时不注重对工具使用、业务理解方面的知识积累,找工作临时抱佛脚恶补知识、刷算法题,在一些面试场合下也许是奏效的,但要想成为一名优秀的推荐工程师,还需要补齐自己的能力短板。
你可以根据自己的具体岗位、具体项目有针对性地学习相关技能。
能力的深度和广度
在一项具体的工作面前,优秀的推荐工程师所具备的能力应该是综合的——能够从“深度”和“广度”两个方面提供解决方案。例如,公司希望改进目前的推荐模型,于是你提出了以 DIN 为主要结构的模型改进方案。这就要求你在深度和广度两个方面对 DIN 的原理和实现方案有全面的了解。
深度方面,需要了解从模型动机到实现细节的一系列问题,一条从概括到具体的学习路径的例子如下:
DIN 模型提出的动机是什么?是否适合自己公司当前的场景和数据特点。(业务理解能力)
DIN 模型的模型结构是什么?具体实现起来有哪些工程上的难点。(知识学习能力、工具运用能力)
DIN 模型强调的注意力机制是什么?为什么在推荐系统中使用注意力机制能够有效果上的提升?(业务理解能力、知识学习能力)
DIN 模型将用户和商品进行了 Embedding,在实际使用中,应该如何实现 Embedding 过程?(知识学习能力、逻辑思维能力)
是通过改进现有模型实现 DIN 模型,还是使用全新的离线训练方式训练 DIN 模型?(工具运用能力、逻辑思维能力)
线上部署和服务 DIN 模型有哪些潜在问题,有哪些解决方案?(工具运用能力)
从这个例子中读者可以看到,一套完备的模型改进方案的形成需要推荐工程师深入了解新模型的细节。缺少了深度的钻研,改进方案就会在实现过程中遇到方向性的错误,增加纠错成本。
推荐工程师除了要深入了解所采用技术方案的细节,还需要在广度上了解各种可能的备选方案的优劣,做到通过综合权衡得出当前客观环境下的最优解。接着上文模型改进的例子,推荐工程师应该从以下方面在广度上进行知识储备:
与 DIN 类似的模型有哪些,是否适合当前的使用场景?
DIN 模型使用的 Embedding 方法有哪些,不同 Embedding 方法的优劣是什么?
训练和上线 DIN 的技术方案有哪些?如何与自己公司的技术栈融合?
在深度了解了一个技术方案的前提下,对其他方向的了解可以是概要式的,但也要清楚每种技术方案的要点和特点,必要时可通过 A/B 测试、业界交流咨询、原型系统试验等方式排除候选方案,确定目标方案。
除此之外,工程和理论之间的权衡能力也是推荐工程师不可或缺的技能点之一。只有具备了这一点,才能在现实和理想之间进行合理的妥协,完成成熟的技术方案。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论