AI | AI找工作必看,AI 行业发展趋势和人才需求预测

AI | AI找工作必看,AI 行业发展趋势和人才需求预测

编者按

近几年AI行业的火热程度大家有目共睹,越来越多的人想要加入这一行业。但在开始之前,我们要有理性的分析,要了解AI行业需要什么样的人才,也要知道如何在AI行业中如何长久的发展立足,相信大家和小编一样会在这篇文章中找到自己的答案。

文章作者:Aquapolis
责任编辑:晋杰
文章发表于微信公众号【运筹OR帷幄】:AI | AI找工作必看,AI 行业发展趋势和人才需求预测
欢迎原链接转发,转载请私信@运筹OR帷幄获取信息,盗版必究。
敬请关注和扩散本专栏及同名公众号,会邀请全球知名学者发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:『运筹OR帷幄』大数据人工智能时代的运筹学

本文经授权转载自作者 @Aquapolis 知乎专栏

本文观点仅代表作者本人观点,不认同可轻拍不必当真。

按照国际惯例,进入正题前先简单介绍下作者本人,以免被人质疑是圈外人。


高中物理数学两门竞赛出道,本科五道口那啥技术学院计算机本科,辅修了数学双学位,美国某不知名高校机器学习博士。算是很能折腾不甘寂寞的人了。不过AI的火热朝天的几年我基本是在实验室里静静的看着,算是作为一个行内人和旁观者吧。18年年初回国,正式加入企业界,在某一线互联网公司做NLP和Model Acceleration相关的研究。因知识面还算广,能和各种不同专业背景的面试人聊得来,开发研究之余也就顺便负责公司AI算法方向岗位的面试,陆陆续续替公司也面试了小几十人了,见过了型型色色的来应聘算法工程师、算法研究员、软件工程师等等AI相关职位的候选人。从与这些同位行业见证者的形形色色的面试人的交谈和互相学习过程中,也渐渐有了自己对AI行业的认知,和将来发展的预测。

为什么写这篇文章呢?

一、是想为视角偏局限或者刚入局的年轻人提供一个参考,助其冷静,不悲观也不上头,因为最近很多网友都觉得AI劲头可能会过了,也有很多网友觉得AI热潮还早。盲目跟着风向走很容易迷路。

二、分析AI发展背后的driven force,预测下将来的市场导向和对人才的需求,给朋友们对自我的技术选型提供参考。

三、结合面试的经验,给想转AI,或者已经在这行了但担心没有竞争力的朋友们,提供一个自我竞争力培养的方向供参考。

四、最近很火一个话题,科班和培训派之争。我个人认为要理智区分两者差距,但培训派一样有做的比科班好的潜力,所以一切看人。我会剖析科班出身到底优势在哪儿?

五、不光局限于AI范畴,整个计算机领域的人才需求我也会综合分析,其实一切的都是相关的。不能脱离context谈一个东西。


一横向分析:行业驱动和技术的风口

首先,我们横向的来看下整个计算机行业。即ABCD:

人工智能(Artificial Intelligence)、区块链(Block Chain)、云计算(Cloud)、大数据(Big Data)

可以说这是计算机行业发展到18年为止清晰出现的几大风口。到底这几大风口在整个计算机领域占了多大的份额我不确定,因为手头也缺乏数据。但是从增量的角度来看整个行业的增量怕是超过70%都是从ABCD这边引起的。

所以首先要明确一点就是,如果这几大风口趋向饱和,进入停滞期或者进入行业拐点(数学中拐点不是极值点,具体请查)。那么很大程度上会在整体计算机行业形成冲击和影响。所以需要整体去了解ABCD,才能同时明白计算机行业整体,以及ABCD中细分的某个领域将来的趋势。


二纵向分析:以史为鉴,可知兴替

其实前一段只是希望给大家构筑一个概念,计算机行业,and它的子集(A,B,C,D)四大风口,不能分开去单独分析,需要作为一个整体来研究,才能摒除掉特殊干扰信号找到共性。这个过程类似于multi task training过程中用sharing weights来学习共有的特性,如果入了AI这行的朋友应该有这个feel。

那么具体来做分析,我以我所熟悉的AI行业举例。这里的以史为鉴先看过去几年AI领域的发展。从标志性的几大时间发生之后:CNN刷版CV各项记录,深度学习崛起,各大框架纷纷开源等等。AI进入爆炸发展阶段。但于我个人而言,我更喜欢将这个阶段叫做应用平台期。

何为应用平台期,当基础研究程度有一定的余裕,但工业上,或者商业上尚未全部把成果落地的这个阶段,普遍会有一批疯狂的资本涌入,推动应用加速与落地。在这几年中就会涌现大批的创业公司,造就大量的人才缺口,抬高行业的薪资水平,刺激大量的人才涌入。那么此情此景,和我们今天的全民转行做AI何其相似?(这里全民只是说很多计算机但非AI专业,或者非计算机专业的人因为行业红火都转了AI,这本身不可褒贬,纯粹是客观规律)

然而,AI门槛高吗?高,说的是深入难,要会数学,计算机,工程,啥都不能只懂一点点。但也可以说门槛很低,因为轮子都给你造好了,大家只需要在此之上应用,所以不论什么行业,可以不会python,但一样可以用tensorflow造个model出来。所以才有那么多初创公司出现,才会转行的人一样做的不错。但随着时间推移,一定会饱和。

关于这个推断我有两大依据:

依据一: 纵观深度学习的发展趋势,如果有关注几大顶会的朋友一定会有感觉。最开始两年CV方向的论文数量远大于NLP方向,更别说其他更小众的方向了。因为那两年正好是CV领域的应用平台期。随着CV方向应用的越来越成熟,其实这块平台期早就快饱和了。大家现在去看。其实发现大公司早就没那么关注CV这边了,而是几炮打红之后转战其他方面,只有后知后觉的或者实力受限的小公司还在一个细分市场上死磕。再然后的两年,看看NIPS,ICLR这些会,RL,和RNN系列独占两大山头,CV方面的网络基本探索到了大后期,数量仍然不少,但都是添枝加叶类型的研究。这段时间我认为是第二个平台期,就是CV应用的短期红利吃的差不多了,大家开始都来抢NLP和RL这块。那么平台期还有多远呢?NLP/RL这些吃完,下一步呢?迁移学习?贝叶斯网络?还是什么别的?难道大家都只去追逐风口做一个应用者吗?

值得一提的是今年的顶会。虽然是互联网寒冬的一年,但我觉得也是回归理性审视未来的一年。为什么?平台期福利吃的差不多了,不理智的资本退场了,但更可喜的是,学术界不浮躁了。今年的两大顶会,基础性的研究远远高于过去,譬如:

● google的On the convergence of ADAM and beyond, 在一阶优化称霸DL领域的年代,回归理性,让大家不再是沾沾自喜的同时,审视目前看着最好用的一阶梯度更新模式本质上有啥可改进。此外很多80、90年代盛行但近代几乎灭绝的AI技术,譬如进化算法做网络优化等,二阶quasi-newton族算法,非梯度更新模式的MC采样训练。都重新浮出水面。大家开始期待底层技术的革新

● 自nvidia和baidu的APEX 混合精度训练在年初提出开始,facebook一篇关于kulisch累加器和新的FP标准的文章,想用变长的FP来节省计算内存和时间开销,变相达到低精度计算的速度和高精度计算的准确度。这个研究也是超级惊艳,挑战的是IEEE754标准,which is older than我爸妈。。。然而在浮躁的前两年,何来公司敢于去挑战计算机底层基础呢?

●再譬如今年NIPs几篇highlight,reversible RNN, invertible network,ODE。都是彻底颠覆了以往非线性激活函数,和梯度训练的经典神经网络模型。具体的最近公众号写的太多,大家感兴趣自己去翻翻公众号就知道这几个研究干了什么。

所以呢,其实AI发展阶段随着互联网寒冬和平台期的结束已经悄悄变了。在这样一个现状下,人才缺口也不再是过去的偏应用和简单的算法研究。真正缺的是AI工程向和深入科研向的人才。这个结论先抛出来我后面细说。

依据二: 从目前一线企业的角度看,其实应用型人才已经饱和了。由于其他司不熟悉,拿我司举例。目前人才缺口是AI算法工程向比上AI算法应用向的比例是2:1。然而来应聘的却是1:2。 听说别的司甚至有1比3,1比5的应聘比。可见一斑。这里不先不多说,后面会有贴合这一块的分析。

所以这一段内容结束,总结来说就是,AI发展翻篇了,永远不变的是尖端、深层次人才,浅尝辄止很难持久吃到福利。无独有偶的不就是BCD另外几大吗?除了D代表的big data、这块一直坚挺主要是金融等几个领域市场太大,而金融背景的人编程能力又和他们的分析、数学能力不匹配。在市场驱动下,短期内会相对畸形的吃进大批AI应用型人才。但试想,等金融资深的人入了tensorflow这些东西的门,AI应用做进去的人空间会大大缩减。再看看block chain今年的大崩盘。其实吧,因为几大技术目前的瓶颈都在基础研究,都在底层,因为平台期结束了


三未来的预测:科技基础将成为重中之重

正如上一部分用AI领域举得例子,说到了热点的转移渐渐到了偏科技基础方向的一个研究中。这个部分主要细说下为什么会有这样一个趋势转移。

众所周知,近几年计算机领域的发展有一个趋势,那就是搞科研,搞技术出身的“科学家”们出来创业的比例非常的大。不特指,但总能见到一些大学教授出来带团队创业。可能有很多人不太明白为什么会有这种现象。其实这样的现象在国外出现的比例更高于国内。俗话说的“技术驱动”所对应的现象就是这样的现象,而国内更多的是“市场、产品的驱动”。所以大家会觉得这个现象很突兀。其实不然。从投资者、技术、产品的角度分析,这样一个现象的必然出现有几点原因:

现状-模式创新到技术创新的转换:其实互联网时代,至少在上一个decade,国内模式创新的比例远远高于技术创新。譬如电商、譬如共享单车、等等。现在互联网寒冬的出现一定程度上其实也代表了模式创新的红利即将饱和,更多的视野投在了技术创新上。然而技术创新尚未到火候,因此出现了类似于区块链近乎崩盘这类事件,众多创业公司资金链断裂。这里其实揭露了一个残酷的事实。那就是过去都过于重产品,重市场,轻技术根基了。

国内技术根基空虚:模式创新说白了也是构建在真正的技术基础上得以实现的,然而为啥那么多创业公司呢?为啥门槛很低呢?因为轮子太多了,别人的东西直接拿来用就好了呗。所以大家都在做模式忙着赚钱。然而我国的科技大厦就这样建在了别人的地基上了。所以到了不得不强调科技基础发展的时候了。其实这里引用一位身边朋友的话:国内市场太大了模式创新轻松赚钱,国外市场很小只好搞技术革新。所以模式创新对于基础科技发展来说只是味道绝美的毒药而已。如何“以毒攻毒”,用市场大这一特点刺激技术根基的发展也是很重要的。

● 资本有前瞻性但短视:造成目前资本寒冬的主要原因我认为在我前面分析的基础上,需要同时考虑资本的短视特点。当一个有着技术的创业公司迟迟出不来产品的时候(stuck 在了技术基础,或者落地难度上)。资本就会有一定的止损操作出来。或者干脆在投资的时候就趋向于青睐行业领头羊。譬如芯片行业,投资者可能就都在等待着真正头雁的出现。所以在目前这个科技转行的节骨眼上,就出现了资本寒冬这样一个现象。个人觉得其实这才是一种回归理性,一种破而后立。才是真的使的全民科技普及,才是击碎互联网泡沫的重要一步。Anyway, 区块链差点成为牺牲品。

对于前面提到的搞科研的出来创业,其实还需要考虑另一个技术门槛之外的门槛,可以称之为“产品落地门槛”。简而言之,一个成熟的高科技产品会存在(科技研发门槛 à 产品落地门槛 à 市场和客户的推广)这几方面难点。其中每一个环节出现问题都可能引起融资方失去信心。况且融资也不是越多越好,如果产品有信心,很多自信的创业者会压着不让融资,在运营合理范围内尽快提升估值。跑偏了,总之针对非技术门槛之外的两个难点,这一块直接的需求可能就是更多的懂技术的产品经理,application engineer这类工作岗位需求的上升。所以之前提到的过多的AI应用型人才去向如何呢?这里做个个人的小预测,可能大量的淤积住的AI应用型人才会被迫转向这个从业方向。

这段的分析偏短,作者在地铁上用手机写的,请谅解!不过并不影响这段的论证。那就是将来ABCD乃至计算机领域,更critical的挑战在于技术基础的突破。因为国内模式创新惯了。技术基础并不如国外扎实。要是连AI都用别人的GPU,别人的轮子,迟早要被时代淘汰。这是站在整个做AI的群体的角度来看的问题,然而对于个人也是同样的道理。下一部分主要讨论下从个体的角度,职业规划到底怎么做才好。也会顺便聊聊我对科班、培训班之争的拙见。


四正题

文字功底不够,发现前面的分析有些拖的长,盘子铺的太大,这里直接进入正题吧。开篇提到的几个问题,作者会尽量在这一部分讲到。

既然要讨论AI算法的职业方向和技术选型,那必不可少的就是先分析下这个岗位招聘的时候考察的是什么。这里的话,作者结合自己和圈子里负责过这一块面试的朋友们的经验简单说下,只能代表有限的样本(朋友们主要来自大约7-8个一二线的互联网企业,内容有做CV, NLP,RL的,业务有做机器人、芯片的,也有在电商,金融,风控,文娱公司做AI的。各位读者将就一下,作者在圈子里做的时间不长,圈子基本只有大学同学或者校友师兄之类的,再加上其中负责过算法岗面试的比例不算高。)

由于大家伙所在公司的措辞和说法各异,但挑人打分的基本思路大相径庭,在这里我给一个自己总结之后的版本供大家看。这里需要额外提一嘴的是其实Job description上面写的并不完全等于面试的标准。JD更偏重于限定一些硬性标准用来做前期筛选和资格确认。然而,候选人的skill set并不完全cover JD上面的要求其实也并没有太大关系。这里也是提醒一下投简历的朋友们,不要因为某想去的企业JD描述超过自己的现实能力和条件就不去做尝试。因为只要过了简历关。面试的时候通常是一个不一样的标准。

那么是什么样的标准呢?总结了一下五个方面:

1. 专业匹配度:现有的skill set cover了那些方向?分别到了什么熟练度?和岗位JD的需求是否匹配

2. 编程能力:说的是编程能力,编程语言掌握度等

3. 性格:你没有看错,其实性格(沟通能力,表达能力,态度,学习积极性,逻辑思维)对于面试来说是一个非常非常重要的factor。很多公司并不会因为你技术牛就不考虑你的性格和现有团队、风格、文化的合适程度。

4. 潜力:数学、算法的知识基础, 科研的能力和嗅觉等

5. 经验:过去的项目经验、以及掌握程度。

详细说:

1.专业匹配度这个很好理解,如果对方公司希望直接招的是NLP方向的,而你是CV方向的经验和知识,那么对你的专业匹配度评分就会稍打折扣。这里可以先说一个概念。面试的时候,对一个候选人专业熟悉度通常能根据面试问题大致评估一个分数。举个例子,如果我们(按照大致学习成本)把:

● 80分当成能在这个领域里得心应手地做科研,能创新;

● 70分是能够改造这项技术对应的一些轮子,譬如能自己手撸LSTM, 能改TF底层代码,这类相对偏底层的工程类技能;

● 60分是能把一些模型踏踏实实地做到产品中,对落地过程中一些调模型的细节也有一定的经验

● 50分就是跑demo,对接数据的程度

而不同的公司其实具体需求并不一样。例如有的公司需要大批量找CV方向>55分的人才,或者某创业公司想高薪找几个NLP方向70分左右的人才。如果你的专业方向不一致,并不会直接给你抹零而是会稍打折扣(譬如CV70分可能会被认为是NLP60分的程度),因为技术背后的理论基础都是一致的。

这段说了这么多假设的东西其实还是希望和大家介绍下算法岗招人判断匹配度的一个逻辑。除此之外,按照我上面说的评分其实也很容易直观的理解到目前人才市场的分布情况,基本就是一个金字塔结构。从特别精通一个领域能够得心应手的搞创新和科研,到能够自己改轮子用轮子,到主要靠应用经验来竞争,再到最为泛滥的跑跑demo的入门水平。

2. 编程能力:也很好理解。不过对于这项的考察我自己的经验是,不同定位的人才在这项考察上的重视程度不同。

● 通常,如果只希望找某项业务50-60分熟练度的人才,通常也只会要求某一项具体的语言使用经验即可。譬如金融公司招搞RNN来预测金融数据的话,基本只会要求你能写python即可。编程面试题也多半随便问几个python语言基础知识,再来个相对简单的算法题让你用python做即可。

● 如果希望找的是大于60甚至大于75分的人才。这时候很可能强制要求你还能写一门更系统级的、更高效的语言。譬如C++,这类语言因为封装程度远小于python,也更容易看出一个人的编程基础能力。这个分段的人才需求很多时候是因为公司不光需要用别人的轮子,还得造自己的轮子。而同时能够驾驭诸如C/C++,也代表着你具有快速学会不同语言的能力(这一块据我目前所知大部分公司给的要求就是C++和java,偶尔有对Rust有加分的公司)

● 如果是明确只招科研向的人才,这个不说大家也知道是那几家。。。那我就不bb了。其实纯科研向的面试就不搞这么多幺蛾子了。简历够格很多时候基本就确定要找了。面试只是确认一下这个人的靠谱程度,顺便权衡下薪资空间的问题。总体来说,能走到这一步的大牛们,很多都是有相当扎实的计算机基础的,算法题啥的也能随便刷,毕竟很多都是NOI, ACM出身的嘛, emmmm。

3. 性格其实是相当重要的一个考察方向。我曾经亲眼看到我们TL因为候选人沟通能力太差,很难团队合作而拒掉了明显过了标准线的候选人。毕竟连王者荣耀都不是一个人的游戏,搞算法就更不是了。。。

4. 项目经验这个说下,在我面试过的这几十号人里,其实可以很鲜明的分成两拨人。一波做过的东西连细节都记得很清楚,每个细节背后的原因,机理,和设计的思路都记得丝丝入扣。另一拨人就是做过的所有东西都聊不到细节上,侃侃而谈的都是很虚的东西。我个人觉得这样的区分有两个可能性:

● 一部分人简历并没有实事求是,吹了很多,所以一面试就说不出细节

● 另外一个可能性就是有些人做过的东西会慢慢咀嚼,有些人做完就忘。就和学生时代,有些同学应试能力很强,但一考就忘。

其实不论是那种可能,能牢牢记住项目细节的朋友们事实证明都是更靠谱的,很多时候这个差异也和性格以及前司息息相关。如果总是随随便便敷衍一下了事,或者前司技术太虚,没有代码规范,没有质量把控,很多东西都是来了需求做需求,做完就算,也会很容易忘记。

5. 最后就是潜力,也是我想说的大头。为什么呢?因为这是很多朋友们最苦恼的问题,特别是转专业的朋友,在面试之后很容易被人贴上没有潜力的标签然后默拒了。。。然而对于目前的AI公司来说,考虑到大批量的AI人才其实经验都还没有积累起来。所以相比别的岗位,算法岗(AI)肯定会更为重视候选人的潜力(当然如果你明确是要很快跳槽那种就算了)。这里感觉大家差异太大,我就只说下现司的面试方法,很简单,就是考察三点:数学,计算机体系知识,工程知识 and算法基础:

● 数学很明显,就是数理统计,概率论,线性代数,图论,微积分相关的知识。这些都是基础中的基础。加分项包括但不限于,复变,信息论,测度论,泛函等。不过大部分公司其实不care这些加分项,除去研究员岗位,或者明确要做生成式模型的公司。

● 计算机体系知识:这里怎么说呢,懂FP的标准和不同浮点数精度的差别,知道卷积复杂度等概念,会写算子优化,知道不同计算的CPU开销,GPU开销。知道内存管理机制和基础算法,懂pipeline,懂并行计算防止数据瓶颈的tricks等等。这里随便懂一些和公司需求有关的就很棒棒哒。当然特限定在智能制造行业,譬如AI物流,AI机器人,AI芯片等等。做CV的应该没人care这些

● 算法基础:这就是大头中的大头了。很多同学觉得我搞AI的并不需要懂基础算法。那么这就是21世纪你听到的最大的谎言了。为什么?很简单,敲门砖!潜力!算法要不要优化?优化思路哪里来?怎么证明你能做会做算法?怎么放心让你写核心代码不用担心效率?需要懂的东西,包括但不限于:

● 大O复杂度分析法,这个是内功中的内功,不会还是别搞算法了。。很容易被人pk下去分治法相关的总要会的,二分,大部分的排序。写轮子的时候O(N), O(lgN), O(1)之间存在着巨大的区别。

● 分治法本质表示的一种算法优化的大思路

● 动归要会吧,结合记忆式搜索,cache常用的元素,这就是DP背后的算法优化的另一个大思路图算法要会啊,什么遍历,最短路,网络流,匹配,这些至少要知道概念吧。具体的算法啥匈牙利,prime,这些可以记不住没问题。但基本的遍历和最短路dijkstra总得会数据结构都得懂,hash表要会吧,STL库里面的一些常用的container各个操作的性能比较要知道吧(如果需要C++的话),python dict啥实现的总得知道吧。红黑树不会写,知道性质,知道哪些库函数用的红黑树总得知道吧。这里涉及到了空间换时间的大思路,也涉及到了根据需求挑选某种操作高效的数据结构的思想。汇编语言里面也有很多优化,涉及到了空间换时间吧卷积算子优化里也涉及到用cost小的计算替换cost大的计算的优化思路吧。

总之。算法这块上面说的总得会其实你不会也行的(这里只涉及潜力的考察)。但是我之前提过的AI应用岗并不需求这类知识很强。但AI工程岗和研究岗其实是必须的。

如果你有刷算法题的习惯,我相信上述要求其实很简单。这就和魔术师一样,成天玩儿个小球小扑克啥的,看看他的手法6不6就能判断他搞大魔术的时候够不够水平了。

OK,上面说了这么多面试的心得,这里就可以很容易总结出我预测的将来AI的岗位发展方向。AI算法应用岗,AI算法工程岗,AI算法研究岗:这里特意clarify一下名称的问题,因为我发现目前很多公司AI工程师更偏support AI应用岗的位置。薪资更低,对AI知识要求也很低。我认为这些公司里所谓的AI 工程岗纯粹是AI support岗。。。。这里我引用下外企常用的命名方式说下。Research Scientist这个指的是算法研究员。 Research Engineer这个指的是AI 工程岗。

而所谓的AI应用岗位这玩意儿真的纯属是国内特有的,三个方面原因:

  1. 国内AI一热,都来转AI方向,很多转专业的,甚至培训班的选手。有毅力的有耐心的是少数,大部分都是浮躁的半桶水,只能写写demo,做做应用。
  2. 其实培训班也是因为即使这样大家一样能找到高薪工作,因为其实AI应用门槛非常非常低。可能是有史以来门槛最低的高科技行业了。因为事实上国内对这类人才的需求相当大,公司太多,市场太大。又不愿意花大钱招更厉害的人来说相对简单的写demo工作。
  3. 其实国外一样有很多后来才转专业的都进了大公司。实在是国外的AI人才基数太低了。甚至诸如google这些公司,都会招聘大量的没怎么接触过AI 的但编程基础不错的人去做Research Engineer

Anyway,如果按照上一部分给专业打100分制的方式来给这几个职业发展方向打分的话:

  1. AI应用岗:只在国内有,大约50-65分之间
  2. AI 工程岗: 国内的话,门槛较高,大约65-80分; 国外门槛下限低,但平均值可能差不多。大约50-75
  3. AI 研究岗:其他部分,但关键要表现出科研能力。数学一定要好,最好是regional二等奖、一等奖级别的。事实上不符合这个标准的人在大公司中其实挺多的。但那是几年前兄dei。现在AI人才泡沫渐渐起来,其实现在这个要求已经很basic了。


说到这儿,其实关于一个热点问题就能很好解释了:转专业、乃至培训班的兄dei和科班比到底吃亏在哪儿?

First things first,我个人的立场是只看能力不看出身。但这几个群体出来的朋友们确实是明显的E(科班) > E(CS相关转专业) > E(非CS相关转专业) > E(培训班)。这是期望值,然而不代表方差,更不代表个体样本。我见过非CS相关专业能力大于美国某知名高校硕士的案例(恰逢俩人正好一天来面试,二人做的方向也相近,遂特意问了同样画风的面试问题)。另外特说明下,CS相关专业指的是,EE, 自动化,软工,工业工程,数学,物理等。非相关就是化学,机械,核工业,经济等(并不是歧视经济系,而是真实的发现见过的几位经济系的学生几乎本科没有编程能力)

科班优势到底在哪儿?请结合前面关于面试标准的部分阅读,简单说在于四个方面:

· 知识体系:计算机整个体系相关的知识,科班花了四年时间来雕琢。当然了,很多同学本科玩游戏翘课没好好学。但是就算是身边朋友耳濡目染(不知道这个词是否可以这样用。。。。),也会比非科班的朋友多很多见识。虽然很多都是虚的,但是正是这些常识,在密集的学习过程中,很容易体现巨大的用处。譬如进入公司培训C++的时候,很多概念,特别是涉及到compiler,硬件效率的概念,非科班朋友们会需要花很大的精力去逐个逐个查。科班的同学就算没吃过猪肉,还能没见过猪跑吗?

· 算法基础:CS方向本科的神课其实是图论,线性代数,概率论,数据结构,编译原理,操作系统几门课。而别的专业吃亏就吃亏在没有系统学习这几门课。而这几门课反反复复的把计算机的基础算法思想不停的往你脑子里灌。最近总能看到很多学历无用论。说本科上了那么多课,到了工作岗位和培训班只入门几个人的同学一起工作。可对于AI算法工作来说,性能、优化这些都是命根子。算法基础更是能否发展很好的重中之重。

· 编码能力:很多时候,科班出身的同学,工作之前花了很多时间,反反复复的做些造轮子的工作,或者和AI无关的编码学习。虽然看起来花了大量的时间在无关于AI的方面,但是如果竞争的不是只做做demo,做做应用的项目的话。那优势就体现出来了。

· 数学知识体系、规范的科研能力:这一项特指AI科研的科班出身,起码是AI方向的博士毕业。这个没什么好说的,至少3年时间才能在自己的知识体系中完整的构建出一颗数学知识体系、and ML相关技术的知识图谱。同时还得花大量的时间培养练习科研能力。为什么给AI研究岗打了最高的要求分呢?因为AI入门易深入难,中的深入难指的就是背后的数学体系知识的深奥广博程度和搞科研需要的全面能力。能顺利走完这一步,甚至做到很优秀的(提前毕业,大批论文,各种github高星)AI科班博士们,其实造轮子,写算法啥的真的很easy。手撸各种模型也是常事。我身边不乏有很强的AI方向的博士们,因为兴趣的原因,去了公司之后去做AI工程岗的工作,去refine框架,去优化算子。因为这些工作对他们来说其实很easy但很有趣。


其实科班出身也有很多劣势,主要就是特定领域的专业知识。譬如机器人,需要控制理论,优化理论,力学知识等。这种时候CS相关专业的朋友们可能就有很大优势了。或者金融公司用AI做预测,做风控,经济专业的兄dei们就有优势了。不过这里举得几个例子都是相对特定的情况。真实情况是,很多转专业的朋友会被去面试的公司质疑不够专业的问题。特别是,短时间的速成班转AI的朋友们,其实上面提到的每一点差异,都是致命的伤。

建议一:As mentioned above,科班真正让公司们青睐的是这几个特质。所以不论你什么出身,需要在这几个方向证明自己能力。对于转专业,或者培训班出身的朋友,其实并不是没有相对速成的方法。

  1. 对于知识体系,可以整理大量的term,用速查资料,快速浏览,图像式记忆和联想式记忆的方式快速构建自己对于计算机体系的一个理解。 (反正面试前也是要突击的,这东西不看看什么呢?多找点面试题库多背一些,抽空把不知道原理的点去知乎或者大神博客查查)
  2. 算法基础和编码能力,刷算法题呗,反正面试准备也得刷题。如果你本身不是科班出身,还不把leetcode啥的刷个几百题那还是算了。肯定一直都会被定位成“AI外行型人才”,然后面临过几年后人才饱和的泡沫破裂。对于编程能力,刷算法题已经是最速成的方法了。此外,关于刷算法题的方法,我有两个小tips:


    ● 不要用自己最熟的主语言去刷,如果你之前应用总用的python,那请你用C++,反之就用python。这里原因自己想
    ● 不要每道题只刷一遍。可以少刷点题,但尽量多cover各种题型的基础上,每道题隔些天多刷几遍。既然刷了DP就把DP刷滚瓜烂熟,刷union set就把union set到闭眼也能写。对于基础不那么扎实的朋友来说。面试的时候总会出现看着熟悉写不出的尴尬。


    ● 数学知识体系、科研能力就举手投降吧。一般面试见到简历很喜欢说自己爱follow科研前沿论文的非科班朋友,面试都很容易翻车。因为你写了,所以我们面试就会去问。有些东西稍微一follow up就很容易露馅。或者只是看论文,没有自己搞过科研的话,看论文也抓不到核心。以上,总之我觉得算法研究岗可以熟悉工程岗之后转,但如果本身基础不扎实,很可能连本来能搞定的offer都拿不到。

建议二:大致了解统计了一下面试的情况,应用岗真的越来越饱和了。来投简历的10个人,一般只有两三个人能满足AI工程岗的要求,剩下全部是偏应用的。当然了,有些偏应用的朋友其实有很多数据分析的经验。But,大数据和AI是不同的方向,请明白其中差异。这里综合前面提到的两个趋势:

  1. 大量的人才涌入AI方向,因为时间短,只能达到做做demo的程度
  2. AI应用平台期已经快结束了,基础性研究需求大增,且国内对核心科技的渴望程度也大大增加。所以AI算法(工程、研究)方向将来会更火,而应用方向则会饱和。

对于没机会那到研究岗(需要很强的科研背景和基本学历要求,一般是CS博士,二线公司的话CS硕士也可以)建议考虑转AI工程方向,C++最好练会,java/Rust加分项。

以上~其他BCD方向类推,其实大局势都是相似的,以后对CS基础方向人才也会有大量需求,譬如compiler,并行计算等。都是旨在突破基础技术积累的关键方向。这些方向出来的研究生,即使没有AI背景,也能获得AI工程岗的机会。

此外稍微diss下各个高校新建的人工智能专业。希望能更注重一点基础的培养,这种专门的人工智能专业,总给人职业技工的即视感。。虽然针对市场设置专业也是学校的战略。但。。。看看过去类似专业,具体我就不说了。。经久不衰的只有数学物理这些基础科学。搞技术嘛,最后拼的还是底蕴。


相关文章推荐

俞刚,作为旷视研究院Detection组负责人,他讲述了作为过来人的经验,也给出了对新人的建议;大佬的话语不一定是真理,但他们的故事绝对是会让我们受益的。

AI | 俞刚:我在旷视研究院做检测


温馨提示

可以在 本公众号后台 回复关键词:“AI”获取大量由我平台编辑精心整理的AI资料,如果觉得有用, 请勿吝啬你的留言和赞哦!~


扫二维码关注『运筹OR帷幄』公众号:

点击查看『运筹OR帷幄』志愿者招募介绍及加入方式

编辑于 2019-05-04

文章被以下专栏收录