读研以来,一直在工业界辗转,到现在快三年了。这些年做的项目,都是和自然语言处理相关,所以之后的方向,也是和这条路联系紧密。
我的职位是算法工程师,在工业界,算法的工作划分十分精细。首先,从大的方向来说,就可以划分为图像视觉、自然语言处理和推荐系统。而我所从事的自然语言处理行业,又存在很多细分。例如,有做语音识别的,有研究对话系统的,有做文本搜索召回排序的,还有做一些基础任务研发的,例如文本分词、情感分析。
除了研究方向,算法工程师在企业里,也有职能划分,可以分为研究型和业务型。
对于研究型,很多互联网公司都成立了人工智能实验室,对基础的深度学习技术进行研究,每年也有不少的成果发表在国际顶级会议上。腾讯的AI Lab、阿里的达摩院、华为2012实验室都是属于这样的机构,据我观察,一线互联网企业都有这样的部门,在算法方面进行资金投入,布局业务场景。
对于业务型,做的事情就和线上业务更加相关一些。刚刚提到的人工智能实验室,通常也是学术研究和业务两条线发展,学术研究的成果衡量一般是通过学术论文的发表,重要比赛成绩的刷榜。业务的成果通常是通过各公司的特定指标来衡量。
一直以来,研究投入就是非常烧钱的事情,而且现在投入的研究,通常不能在短期时间内获得非常好的回报,这里面涉及的因素就很多了。研究的时候,容忍度比较高,在有限的测试数据上去优化模型,不用太考虑真实负责的数据来源,不用考虑模型的大小,预测时间的快慢。
很多时候,模型弄好了,测试结果非常惊艳,好不容易优化了预测速度和储存空间,放到线上一看,badcase 层出不穷,尤其是现在深度学习模型的引入,badcase 的定位和调优变成了比较困难的一件事。为了应付上线,又免不了引入一些特定的规则。这些规则是非常 ugly,也容易影响其他数据的预测。
可见,即使是实验效果不错的模型,想要在业务中取得不错的效果,还要经过不短时间的磨合,积累出可持续优化迭代的解决方案。
在企业中,尤其是互联网企业,业务营收是非常重要的。刚刚提到的 AI Lab,是很多算法工程师在企业的去向,但这种特殊的机构,往往地位稍显尴尬。因为 AI Lab 和一线业务部门相比,是相对独立一些的,它既有研究,也有业务。但是重要的业务都是肥肉,肯定是被一线的业务部门紧紧抓在手里的,AI Lab 想要获得好业务,还是比较艰难的,容易出现狼多肉少的情况。
所以,如果想要做研究,AI Lab 是个好去处,但如果想要将算法应用的实际业务中,最好去一线的业务部门的算法组。
去一家公司之前,先调研下部门是否对公司很重要,是否能够为公司带来重要流量和现金流。举个栗子,阿里妈妈是阿里巴巴集团负责广告业务的事业部,互联网企业的广告是最挣钱的,无论是谷歌还是facebook,广告都是收入的大头。所以,如果能够去阿里妈妈做广告推荐算法,努力工作,前途、钱途都是会有的。
其实,现在算法的产业落地,成熟的模式还是没有太多改变,视觉方向是人脸识别,自然语言方向,拥有大规模流量的还是搜索。此外,推荐系统和广告的紧密联系也是不言而喻的。
工作时,作为技术人员,需要找到自己感兴趣、能够持续发力的技术点,例如人脸识别,搜索排序,人机对话,知识图谱等等。找定了技术点,在这个细分板块不断更新技术认知,积累经验,然后开展相应的业务,形成一个完整的故事链。就像一颗参天大树,技术点是主干,具体的业务是枝叶。这样的结构才合理,才完整,否则,仅仅局限于零碎无章法的业务,或者无法落地的技术,都是难以长期持续发展的。
我是 NLP 算法工程师,之前做的工作和人机对话多一些,现在是从事文本搜索这个方向。这也是我秋招找工作时候的决定,想在搜索领域深耕三年五载,成为细分领域的小小专家。我给自己提出的目标是:在不断积累与搜索相关技术的同时,关注业务层面的落地,在实践中学习、沉淀可快速复制的场景解决方案,构建自身核心竞争力的护城河。
一句题外话,为了获得去离业务更近部门工作的机会,秋招时,我离开了一个非常好的平台(实习了半年多),去一家小巨头的新兴部门工作。这是对我个人而言非常重要的选择,放弃相对的稳定发展,去追求拥有一定可能性的更佳收益。希望未来能够应了那句话,想要什么,追求什么,得到什么。
还可以看