知乎热议:未来3到5年内,哪个方向机器学习人才最稀缺?人工智能的定义可以分为两部分,即“ 人工”和“ 智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。
未来3到5年内,哪个方向的机器学习人才最紧缺?今天我们就来梳理一下。全栈式工程师在初创公司受欢迎,领域专精的算法人才在大公司很吃香,应用型人才能够快速提升业务,而工程化是落地的重要一环。
未来3到5年内,哪个方向的机器学习人才最紧缺?今天我们就来梳理一下。全栈式工程师在初创公司受欢迎,领域专精的算法人才在大公司很吃香,应用型人才能够快速提升业务,而工程化是落地的重要一环。
AI专业毕业后好找工作吗?
此前,知乎上一位CV专业的985高校研究生曾坦言,当初选择该方向时,深度学习正处于大热阶段,无人驾驶,人脸识别听起来就很高大上,似乎人人都想往这方向转。
然而,到了找工作的时候,这哥们发现就业形式和他想的相差太大:
最近陆陆续续有公司开始秋招的提前批了,计算机视觉岗位招的清一色算法工程师,没有论文,或者大赛获奖的找到算法岗的简直不要太难,周围的同学都开始纷纷转java开发,自己也开始慌了。
想到学了两年的CV,最后工作找不到,一时间十分失落,感觉如果去做Java开发,还不如本科一毕业就出去工作,完全没有读研的必要。
那么,机器学习大规模发展是不是只是个幻觉?未来3到5年内,哪个方向的机器学习人才最紧缺?
这可能是每个正在学习这个专业的人,最为关心的。
华为云开发者社区表示,目前机器学习人才还是稀缺。
每人每天至少产生1G以上的数据,还有大量的数据尚未加以利用。每一个垂直细分的应用场景,都可以通过机器学习产生应用价值。这也就意味着相关领域的人才大量的稀缺。
总结起来,主要有以下几个方面的人才最为稀缺。
灵活解决问题的全栈工程师
全栈工程师是指掌握多种技能,胜任前端与后端,能利用多种技能独立完成产品的人。
中科院大学,计算机应用技术博士王晋东表示,全栈式的人才最为稀缺,现在很多搞模型的,或者偏重某一方面的,距离解决实际问题是远远不够的。
而人工智能全栈工程师比通常意义的全栈工程师更复杂一些,难度也更大,主要是算法实现跟传统的全栈区别很大,从应用层级来讲,分计算机视觉、自然语言处理、语音识别三个大方向。
细分的话就更多了,计算机视觉方向来说又可细分为目标检测、姿态估计、人脸识别等,所以要做人工智能全栈需要投入更多的精力,也需要对各个方向的算法有深刻理解。
人工智能全栈通常是基于大厂的云平台进行开发,人工智能领域很多基础的组件已经封装好,对业务和整个项目的架构有了全面了解,就可以上手开发了,需要结合业务快速变现的场景,对「全栈」的需求会多一些,在普遍繁荣时期是可以大有作为的。
但人工智能全栈工程师发展如何,还要看整个行业大形势,如果各个方向都开始优胜略汰,「全栈」是缺乏核心竞争力的,因为算法是别人的。
专精一个领域的算法人才
有知友提到,专精一个领域的算法人才会比较吃香。
这里算法人才包括算法研究员和算法工程师。
算法研究员致力于解决更通用,更抽象的问题,如何解决GAN训练时的稳定性等,而算法工程师更多关注如何解决问题,比如某个场景下出现了badcase,我就想办法解决问题,是数据预处理,还是参数需要调整。
此外能快速复现论文结果的算法研究员也是各大公司争抢的香饽饽。因为学术界很多新成果只有一个描述,并没有给出源代码,想应用它的研究成果,需要自己实现,所以能快速复现论文的算法研究员对公司来说也是很有价值。
我们去招聘网站搜算法岗,可以大体看出资深算法专家薪资上限很高,但是岗位需求并没有算法工程师多,毕竟企业还是要赚钱的,所以算法工程师(尤其是推荐方向)也很有市场。
研究员觉得工程师的活没技术含量,工程师可能会觉得你天天整些虚的又解决不了问题,纸上谈兵。算法作为一个公司的核心资源,两者其实都有发挥的空间,跟公司的业务需求关系很大。
做算法研究也好,工程也好,选对方向很重要,单从行业饱和度来说,图像也就是视觉方向确实人满为患了,语音又特别难,而且缺乏大量的可用数据,自然语言处理方向倒是可以考虑一下。
一来各种SOTA模型大多针对英语的,到中文有个迁移问题,二来中文跟英文在文法、语义方面存在差异,有很多空白研究领域。
知乎答主紫杉举了一个例子,什么是精通一个领域。
他的一个名叫伊森的同学,从伊利诺伊香槟毕业(计算机专业名校),读了两年计算机研究生,是一位非常优秀,有自学能力的学生。
结果面试时伊森没能应聘成功。伊森的背景和很多进入人工智能领域的人很相似。答主分享了下面一段对话:
最后伊森还问他,如何在一周内精通自然语言处理,然后答主只能告诉他不知道。
这个例子表明,有些同学擅长快速学习,却很容易陷入每一个领域都想学的陷阱,到头来觉得学了很多,实际遇到问题就无从着手,或者浪费很长时间寻找问题根源。
如何才算精通一个领域?说自己精通某一领域,在人工智能领域往往是不太恰当的。现在无论是硬件还是算法都在快速的迭代,今天的SOTA明天可能就成兜底了,只有不断迭代自己的知识,才能跟上业务和场景的发展,让自己不落下风。
熟悉业务又懂算法的应用型选手
另外,既懂算法,又有某一行业的丰富经验也很重要。机器学习虽然是通用技术,工程师也基本是计算机出身,但落地需要具体到行业应用,如何结合行业实操,解决实际问题。
中国科学院大学研究员表示,短期内最缺的肯定是应用型人才。
很多行业想转型为数据驱动或者AI赋能的,借助于外包或者咨询公司通常很难成功,因为缺乏行业经验,这时从传统行业转型到人工智能的应用型人才就至关重要了,他们对机器学习的研究本身就植根于业务需求,所以更接地气,落地也更快。
中科大研究员举了一个很生动的例子。
很多高校的财务人员,每天大量重复性劳动,处理发票、报销单,将纸质单号手动输入电子系统里,过程非常的麻烦。但其实高校及科研单位研究计算机视觉、文字识别、目标检测的团队枚不胜数,为什么不能用机器学习的方法来节省时间呢?
这个例子就暴露了一个问题,大多数机器学习研究关注的是模型本身,是否是业界最先进的(SOTA),却忽视了算法的适用对象以及实际的应用场景。因此,最稀缺的是既懂算法又能将算法进行落地转化的人。
答主微调抛出金句「对于绝大部分人而言,努力成为交叉领域的熟手,比成为计算机科学家要现实且有意义。」
学术模型工程化人才
算法要落地为产品,还需要模型的工程化,如果这块能够深入,那么必然是不可多得的人才。
像抖音的推荐系统,如何解决海量数据拥堵,移动端优化等工程上有非常多的挑战。
结合上文答主紫杉举的例子。
Nihil (尼希尔)是另一个他认识的研究生,也是从伊利诺伊香槟大学毕业。他之前在LinkedIn(领英)做大规模搜索(Scaled Search),专门负责把理论算法扩大到工业场景中,擅长搭建后台,有很强的工程背景。两年的斯坦福计算机硕士后,现在被Snapchat找去做大规模视频搜索算法。
相比于上文的伊森,他是公司更想要的人才。为什么呢?
因为他在领英和Snapchat这样的大公司做大规模搜索的算法,这其中的工程难度和实验室是不可同日而语的。
任何人都可以跑一个LSTM,但是当训练数据极具扩张时,LSTM需要跑3天才能见完所有的数据,在这个情况下,就需要更工程化的实现,做分布式计算或者优化算法本身的效率,使用更快的数据结构等。
这样的场景就需要有研究背景的人才,能够结合学术前沿切实的解决工业上的难题,深度学习50%是学术,50%是工程。现特斯拉AI主管Andrej Karpathy主要就是干这活的。
此外,很多人提到调参工程师。
一位中国科学院大学计算机应用技术博士表示,AutoML越来越受重视,技术含量不高的调参工程师未来很可能被取代。
最后值得一提的是像Bengio、 Hinton这些深度学习领域的神级人物,当然是很需要,但是这类人才真的是可望而不可及。
人工智能亦称智械、机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序来呈现人类智能的技术。通过医学、神经科学、机器人学及统计学等的进步,有些预测则认为人类的无数职业也逐渐被人工智能取代。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何进入 Java 命令提示符?(java命令提示符怎么进入)
- 如何处理 Java List.get 方法的越界异常?(Java List.get方法如何处理越界异常)
- 在财务计算中,Java 的 divide 方法是如何应用的?(Java divide在财务计算中的应用)
- Java 中定义 List 时常常会遇到哪些陷阱?(Java定义List时常见的陷阱有哪些)
- 在 Java 中如何正确使用 response.addHeader 方法?(java中response.addheader怎么使用)
- 如何调用 Java 的 main 函数?(java main函数怎么调用)
- 如何在 Java 中有效地使用 EventHandler?(如何在Java中使用EventHandler)
- Java 中抽象类的性能考量究竟是怎样的?(抽象类在Java中的性能考量)
- 在多线程环境中怎样高效使用 try-catch-finally?(在多线程环境中如何使用try-catch-finally)
- 如何利用静态局部变量来达成单例模式?(怎样通过静态局部变量实现单例模式)