在深度学习浪潮中,如何做好一名算法工程师?
极客时间编辑部
讲述:初明明大小:4.78M时长:05:14
你好,欢迎收听极客视点。
互联网在带给人们看似平等自由的交流空间时,它的核心却越来越中心化、集约化。这使得资深算法工程师与初级算法工程师的差异越来越明显,10 个初级算法工程师与 1 个资深算法工程师共同带来的收益无限接近于 1 个资深算法工程师所带来的收益。因此,初级算法从业者总是处在被裁边缘,而资深算法工程师却是所有公司紧缺的。
1. 知识体系的重要性
众所周知,推荐模型的发展日新月异,只有把模型的发展串联起来,才能够在业界知识爆炸式增长的浪潮之中,让自己的这棵知识树也能开枝散叶。知识体系也是这样,只有把外界反馈给你的零散知识融合进你自己的知识体系上,才能对自己的技术选择,甚至职业生涯产生积极的影响。
正如《深度学习推荐系统》这本书中的模型演化图(如图 1),当把模型的知识压缩成这样的知识体系之后,零散的知识点才能够压缩成紧凑的知识面,而你对各个模型的理解,对它们应用的场景也会更加深刻。
这样的思路可以延续到所有知识点的梳理过程中,比如推荐系统的评估方法也应形成一个多层的筛选体系,从 Word2Vec 到 Item2Vec,再到各种 Graph Embedding 方法也遵循从经典到前沿的演化过程。在建立了这样一个深度学习技术框架之后,以此为基点,或者说起点,每个人都可以生发出属于自己职业生涯的知识体系。
2. “不谋全局者,不足谋一域”的工程能力
如果说理论知识体系是驱动一个人作出正确技术抉择的“内功”,那么工程能力就是决定他能否把技术抉择成功落地的“招式”。
资深工程师与普通工程师的差距不仅在于熟练使用工具的程度、写代码的速度,更多是在于技术的格局和知识体系化。俗话说“不谋万世者,不足谋一时;不谋全局者,不足谋一域。”而技术也是遵循事物发展的一般规律,你要作出最合理的技术改进,必须要有一个全局的技术框架在心中,只有这样,才能够提出全局最优的技术决策,和充分考虑各方利弊的技术权衡。
还以推荐系统为例,你应该建立一个深度学习推荐系统的业界主流的技术架构图,并熟悉自己公司当前采用的技术方案,在此基础上才能够作出更合理的、技术投资回报比最高的技术改进。不过,这些都需要建立在你自己的业界“知识体系”,以及对公司整体的技术框架有充分认知的基础上来实现的。
3. 深度学习的发展及算法人员的“技术护城河”
如今,推荐系统、广告搜索等行业在深度学习时代的发展也从最初“深度学习模型”快速迭代的单峰模式,发展到了“深度学习模型”+“深度学习工程架构”并举的双峰模式。甚至可以说,在深度学习模型已经成为显学的今天,各大公司在“深度学习工程架构”上的投入日益剧增,几乎成为了一线公司和二线公司拉开差距的主要领域。
在这样的行业大趋势下,身为算法工程师,也要深入思考什么才是安身立命的根本。模型相关的一切是算法工程师应该掌握的基本技能,但是在一线企业动辄上万 QPS、TB 级数据量、亿级用户量的前提下,建立高效、高可靠且高效果的模型及模型服务基础设施才是一位“工程师”坚不可摧的技术护城河。比如深度学习工程上的热点 model serving,数据实时性,模型压缩与数据蒸馏,对这些技术点的理解和实现是在实验室环境下很难进行的,也是你永远也无法替代的工程经验。
另一方面,拥有深刻的洞察能力也是一个算法工程师的“稀缺超能力”。没有任何一个模型结构是万能的,只有深入感知用户行为及其背后动机,并将这些动机融合进模型结构之中才是构建推荐模型的“银弹”。
资深算法工程师一定是拥有领域知识、算法基础逻辑、业务理解和深度学习工具掌控力等全面技能的业界专家,而不是在一个能力方向偏科,或是歧视产品思考、不愿去做更多业务理解的“学生思维”型工程师。
以上就是王喆的观点,你认为一名资深算法工程师应该是怎样的呢?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小斧1. 知识体系的重要性 2. “不谋全局者,不足谋一域”的工程能力 3. 深度学习的发展及算法人员的“技术护城河”
收起评论