算法工程师的危机 (2)

算法岗比工程岗更容易被取代。 在现有技术下,由于业务需求的复杂性, 自动生成一套软件App或服务几乎不可能的(否则就已经进入强人工智能时代了),但模型太容易被形式化地定义了。根据数据性质,自动生成各个领域的端到端(end2end)的模型也逐渐在工业上可用了:图像语音和广告推荐的飞速发展,,直接套用即可。理论和经验越来越完善,人变得越来越可替代。

以前需要大力气搭建的数据回流和预测的链路,已经成了公司的基础组件,数据工程师没事干了; 特征可以自动生成和优选,特征工程师失业了; 深度网络采用经典结构即能满足一般业务需求,参数搜索在AutoML下变得越来越方便,调参工程师的饭碗也丢了 。 此处引用老板经常说的一句话:机器都能干了,要你干吗?

从目前AI热门论文的情况看,广告推荐领域已经逐渐成熟,很多技巧沉淀为一整套方法论,已进入平台期;下一个即将被攻陷的领域应该是图像;而文本由于其内在的抽象性和模糊性,应该是算法工程师最后的一块净土,但这个门槛,五年内就会有爆发式的突破(本文发布两周后,谷歌BERT横扫11项NLP任务记录,麻蛋)。

如何最优化职业发展?

人工智能已经火了至少五年,它在未来五年是否火爆我们不能确定,但一定会更加两极化:偏基础的功能一般程序员就能搞定,像白开水一样普通。而针对更复杂模型甚至强人工智能的研究会成为少数人的专利。

在一般的技术公司,传统意义的软件开发和产品设计,远比AI算法的需求来的多。算法永远是锦上添花,而非雪中送炭,再好的算法也拯救不了落后的业务和商业模式。一旦经济下行,企业首要干掉的就是锦上添花且人力成本较高的部分。

如果你是顶级的算法专家,这样的问题根本不需担心。但是,对大部分人来说,如何找到自己的梯度上升方向,实现最优的人生优化器呢?

//此处该插播广告,报价最少1万吧
//但沙漠之鹰就是有节操,不插,不插,就是不插。

笔者给出一些不成熟的小建议,供读者抛砖引玉:

首先是深入原理和底层,类似TensorFlow的核心代码至少要读一遍吧?就算没有严格的理论基础,最起码也不能瞎搞啊。 切莫不能被工具带来的易用性迷惑双眼。要熟悉工具箱里每种函数的品性,对流动在模型里的数据有足够的嗅觉,在调参初期就能对不靠谱的参数快速剪枝。

其次,工程能力不能丢,笔者见过太多做算法眼高手低的例子了(比如自己):一个文件写所有,毫无架构和封装;遍地是临时方案和trick,前人挖坑后人栽;稳定性考虑不足,导致线上服务经常挂掉。 没有工程和架构的积累,在团队作战时可能还不是太大问题,单兵打天下则处处碰壁。

按个人理解,做算法带来的最大收获是科学精神和实验思维,这是做工程很难培养出来的。以前看论文看了introduction和模型设计,草草地读一下实验结果就完事儿了。殊不知AB实验设计很可能才是论文的核心:实验样本是否无偏,实验设计是否严谨,核心效果是否合理,是否能证明论文结论。也许一行代码和一个参数的修改,背后是艰辛的思考和实验,做算法太需要严谨和缜密的思维了。即使未来不做算法,这些经验都会是非常宝贵的财富。

再者是尽早面向领域,面向人和业务。AI本身只是工具,它的抽象性并不能让其成为各个领域的灵丹妙药。 如果不能和AI专家在深度上竞争,就在业务领域专精深挖,拥有比业务人员更好的数据敏感度,成为跨界专家。现在已经有大量AI+金融, AI+医疗,AI+体育的成功案例。 人能熟悉领域背后的数据,背后的人性,这是机器短时间内无法代替的,跨界带来的组合爆炸,也许暗含着危机中的机会吧。

笔者同样处在迷茫期,有想法和见解的朋友欢迎留言。最后感慨一下,同样是80后,年龄相差无几,有人已是副总裁,有人带了几个人的小团队,有人还在基层苦苦挣扎,轨迹在毕业时分叉,几年后早已沧海桑田。

(欢迎关注笔者微信公众号:沙漠之鹰)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyxyj.html