算法岗位真的需要顶会才能入场吗?
来源:知乎
回答转载自知乎,著作权归属原作者,侵删
提问:最近刷知乎经常看到 算法劝退的讯息,都说要有顶会才能入场,我是一名新人研究生, 我们研究室之前毕业的学长都是 在毕业前发了一篇 sci1区 然后毕业 的 ,我觉得我撑死也这种程度吧,不可能 能发顶会吧,所以我是否应该早做打算 ,据说算法特别卷,本人是很喜欢ML,DL 的 但是感觉自己能力不行不知道能不能在这条路上走下去?
霍华德(机器学习优秀答主)回答:
这也算关于算法工程师的经典谣言之一了。
如果你问,各大公司xx lab不用做业务,做做研究发发论文美滋滋的研究型算法岗真的需要顶会才能入场吗?那我的答案是,真的。这种岗位不止要顶会,还需要博士学位。
但对于更多的业务向的算法岗,这就是谣言。
至少今年看来,感觉想转算法的很多,但真有点水平的并没有增加。有顶会的更是凤毛麟角被抢爆,根本不敢要求实习生有顶会,只要有能力有想法能干活就行。
前前后后大概面了几十个学生,一周能面十几个。我可以为大多数学生做一个画像:
一个研究课题,结合课题相关发表的一些论文。大多数CCF B或IEEE的普通杂志。CCF A会议的极少,有CCF A论文优势极大。
没有或者一段小公司实习。有独角兽级别的实习经历优势已经极大。
没有或者一段比赛,甚至有学生写天池或kaggle 教程型的比赛(是的,泰坦尼克号那个),这种真没用,只能说明你入门了。还是要找个正儿八经的顶会比赛或者天池较主流的比赛。
大多数学生基础不牢,过拟合说不清,sgd和adam分不清,基础不牢是极大的减分项。
大多数学生代码能力不足,我不爱考leetcode,你做检测的至少iou怎么算要知道吧,但写不出写不对的学生很多,能正确写出来的都算优秀的了。(还是说学生都去刷leetcode了,这个面试官怎么不按套路出牌啊)
最后鼓励你一下,真心热爱ML和DL的同学,不用害怕,勇敢往里冲。(定义一下什么真心热爱,可以是没日没夜废寝忘食的打比赛,可以是一天读十几篇paper不会累,可以是一天写12小时代码越写越兴奋)
对于只是看到高薪(其实也不高了,现在和开发岗也差不多,能多出3000块?)想来混饭吃的,我还是劝退的,这行聪明人太多,混是混不走的。
再从一个角度谈一下,就是这工作根本没那么高大上,对超级牛逼的学生并没有那么强的吸引力。
业务向的算法岗,50%的时间搞数据,30%搞评测。20%的时间做模型。本来就很多鸡毛蒜皮琐碎的事情。真一手顶会的学生愿意来?不也正说明了这行的门槛根本不可能那么高,顶会才能入场。
那可能在很多网上抱怨的人眼里这都不算工作吧,搞研究做非常neat科研工作的才配叫“算法岗位”。
业务向的岗位,是未来增长的主要方向。研究向的岗位,除了深度学习刚火那几年产生了一批,现在基本都属于冻结状态。
所以想入行的同学考虑清楚,以后大概率你的工作岗位是业务向的。
夕小谣(机器学习优秀答主)回答:
今年面了十几位候选人,有四五篇顶会被刷掉的,也有0顶会0比赛0实习放special offer的,有清北本科+PhD没拿到offer的,也有本硕双非大家抢着要的。过了简历关,至少我个人更希望把候选人放在同一起跑线上。
而且面的越多,越发觉得简历的漂亮程度跟最终offer与否以及offer等级似乎相关性也不是很显著。尤其简历上的顶会这种事情,与候选人实力的相关性我甚至觉得还不如一场热门比赛的头部名次来的有确定性。
举个例子
某名校实验室毕业手握几篇顶会的候选人,简历是真的漂亮,我抱着放SSP offer的期待去面他,结果发现每一篇顶会工作背后的领域发展的milestone、关键问题都搞不清楚,对主流数据集一份细致的case分析都没做过,再仔细一盘问,哦,简历上其中一篇NeurIPS原来是workshop。当然我也不否认workshop里有精彩的,继续仔细一盘问,main contribution就是在Transformer基础上把CNN、RNN一顿加,为啥加也不清楚,解决了啥问题也不清楚,唯一清楚的就是声称几个测试集都涨了零点几个点,觉得十分有效。
再比如,问两个基础问题(面向NLP岗):
为啥Transformer相比RNN更容易做深?更不容易出现梯度消失和爆炸?
把BERT的输入序列长度砍掉一半,模型参数量和计算量如何变化?
就能让相当多简历上挂顶会的候选人懵逼,这确实是我始料未及的。
我觉得很多后丹搞错了一点,顶会不应该是直接追逐的目标,而是深度思考和实践后往前更进一步的产物。你研究NLP,对手里的模型、任务、方法连个稍微深入点的思考都没有,水出来一篇顶会有啥用呢?最多不就拿着忽悠一下能力不行的面试官么,那种盲目崇拜顶会的水团队,你拿到了offer想去吗?
所以,算法岗需要顶会才能入场吗?
先练好内丹吧。对应届生来说,简历上的东西不用三页两页,半页简历都是够的,对应届来说,coding、机器学习、NLP(CV岗此处换CV)的基础做扎实了,然后在某个方向上稍微深入一下,就够了。别基础都没打好就各种抱大腿刷简历,刷到最后自己都不知道自己在干啥,就本末倒置了。
hzwer(北京大学,旷视科技,算法研究员)回答:
别天天忽悠学弟了 编程能写好 leetcode 中等题就不错了!
dl 基础,能说清 batchnorm 实现的都不多!
看到 a 会二作面试官眼睛能发光了!
Giant(浙大 计算机技术硕士)回答:
当然不是啦,咱们拿数据说话!
以NLP四大顶会ACL,NAACL,EMNLP,COLING为例,2019年平均接收率分别为25.7%(447篇),26.3%(281篇),25.5%(351篇),33%(331篇),每年合计人数不超过1500人[1],这里面还包括很多没有毕业继续深造、从事机器学习(非NLP)的同学。
同时,我身边拿到大厂sp以上算法offer的同学中,有一作顶会的比例不到20%。
下面我结合自身的科研经验,从4个方面聊一聊算法岗正确入场姿势。
为什么近些年算法劝退消息频发?
哪些岗位真的需要算法顶会?
0顶会如何入场大厂算法岗?
新人想要从事算法的7个误区
一、为什么近些年算法劝退消息频发?
从18年的逐渐饱和,19年诸神黄昏到20年灰飞烟灭,关于算法的劝退呼吁此起彼伏,不知道今年还会出现怎样的新词。
造成这样的原因我觉得主要有3个:
1)算法岗准入门槛降低,吸引了跨专业的同学一股脑往里“挤”;例如自从BERT的出现,NLP的入门门槛大幅下降,会跑BERT很多传统NLP任务基本上已解决的差不多;
2)算法需求增量开始低于人数增量,虽然很多大厂业务增长很快需要大量业务导向的算法工程师,但想从事算法工作的同学增量明显更快,算法市场逐渐从供过于求,趋于饱和向供不应求转变;
3)真正技术精湛的算法工程师很少;我相信真正的顶尖牛人或技术大佬根本不存在内卷这一说法,反而是各大厂高薪挖人的重点目标;所以这里的劝退主要面向半路出家、基础没打好就往里冲的同学。原因很简单:可替代性太强;例如公司有一个文本分类需求,基本任何一个接触过NLP的同学都能很快做出来。
所以大家如果把技术打磨的够好,或者积攒了项目经验,没有顶会也不用畏惧所谓“劝退”的传闻,因为你早已不在被劝退的范围中了。
二、哪些岗位真的需要算法顶会?
算法岗需要顶会才能入场是个伪命题,但加上一个定语就没问题:部分算法岗需要顶会才能入场。没有顶会的同学,找工作时最好避开这些“坑”。
这些岗位基本都是 research 科研岗位,普通公司通常养不起,一般只有大厂的 lab 实验室会有head count,例如阿里达摩院,腾讯AILab,字节AILab(主要是李航老师组)等等。另外 research 岗位大多只面向博士。
计算机专业的博士想要顺利毕业,大概率是有算法顶会的(我们导师的博士毕业要求是4篇CCF-A一作),所以我们普通硕士/本科同学和他们PK肯定会吃亏。
除此之外,大厂的顶级offer也需要顶会作为入场券,而且一般是3篇一作起步。这样的offer包括阿里星,华为天才少年,腾讯大咖,百度AIDU,美团北斗等等。当然,这些offer的薪水也绝对诱人,总包从60W+—200W+不等。
三、0顶会如何入场大厂算法岗?
上一部分没有提到的算法岗,包括纯业务的 development 或业务科研相结合的 development & research 岗,一般都不会拿顶会作为硬性门槛(腾讯微信Team这样异常火爆的部门除外)。
接下来聊聊大家感兴趣的话题,没有顶会如何入场大厂算法岗。
其实用一句话可以概括:不错的学历 + 扎实的理论基础 + 丰富的项目经验 + 正常的逻辑和表达沟通能力即可。
不错的学历一般指国内的211本科/硕士及以上,双非也不意味着没有机会,只是对其他几条的要求会更高。
扎实的基础包括传统机器学习算法,数据结构,coding,概率论基础和英语阅读能力。关于如何入门机器学习,之前我写过一篇5K长文可以帮到你:机器学习该怎么入门?,里面列举了详细的学习路线。
非 research 岗位,多少会和业务打交道,如果有实习或项目经历,入职就能上手干活,会大量减少企业的培训成本。在面对业务需求时,扎实的理论基础可以帮助我们从不同角度分析与定义问题,对数据与资源敏感,从而寻找最适合的解决方案。
在日常工作中,除了写代码经常需要跨部门沟通,彼此信息同步、明确需求和责任边界、确定优先级和deadline等等,沟通和逻辑能力必不可少。
除此之外,还能拥有顶会或者比赛Top5、名校背景,都是非必须但能锦上添花的加分项。
四、新人想要从事算法的7个误区
这一节主要结合自己过去3年的科研和实习经验,分享新生做算法的常见误区。
1)做算法就是要从0做到1。新人首先应该充分参考前人的工作和经验,形成对研究领域的整体认知;
2)做算法等于发论文。如果基础没打好就“all in”以发顶会为唯一目标,很容易方向跑偏,到最后可能同时错失paper和实习;
3)算法岗绝对高薪,读研就应该做算法。其实近几年算法和普通开发岗的差距越来越小,同等价位最多相差2-5K;
4)导师放养没人带,科研能力自然菜。手和脚长在我们自己身上,没人带尝试着去自学与自我驱动;
5)算法岗就是训模型,业务与我无关。其实业务导向的算法岗大部分时间都花在抽象业务问题与数据处理上,算法没有你想的那么高大上;
6)重复造轮子,凡事亲力亲为。遇到问题建议先Google或和组内同学/同事交流,同样的问题你思考3小时别人可能3分钟就解了;
7)算法岗需要顶会才能入场。当然不是,看完这个回答,答案应该非常清晰了哈。
综上所述,除了少数研究型岗位,大部分业务驱动的算法岗根本没有、也不需要顶会作为门槛。相比论文,对于大多数同学,打好基础积累项目经验反而是拿到优质算法offer的“必经之路”。
ABB2A电池(商汤 算法研究员)回答:
记得我去年面试的时候手上是三篇一作顶会/顶刊。
我面试下来最大的感触就是面试官根本不懂我做的是什么。我自己的文章里,不管你怎么问,是不可能问倒我的。但几乎所有面试官就是潦草听完我的介绍,然后啥问题都没有,或者问一些根本不搭噶的问题,一看就没有挺懂。
其实可以理解的是,即使都是ML,DL,不同细化的方向背景知识差太远了,特别像我这种做得比较深的文章,所以我要完整介绍完我的一篇文章,让在这个方向没有基础的人听懂,至少需要我介绍+问答一个小时,大多数面试官不会有这个时间和精力的,当然也有些水平不够,我讲了一个多小时也没听懂。
所以我拿到offer几乎都是面试官是phd+面试官对我的方向有基础/感兴趣,至少能问出五个关键问题的这种。这种能迅速get到我的水平,聊得很愉快,offer下得也很顺利。
所以说,其实有没有offer,不光和自己的水平有关,和面试官的水平也有很大关系…
——The End——