乐趣区

关于深度学习:CVer想知道的都在这里了一起分析下中国计算机视觉人才调研报告吧

最近闲来无事,老潘以一名一般算法工程师的角度,联合本身以及四周人的状况,感性也理性地 剖析一下极市平台前些天公布的2020 年度中国计算机视觉人才调研报告

以下的“计算机视觉人才”简称“人才”,感觉说 人才 有点怪怪的感觉?本人也算人才么?老潘只不过是一个普普通通的算法工程师罢了(逃)。

这个报告一共分为几个方面,用大白话讲一下就是:

  • 计算机人才哪个城市最多,哪个业余最多、都喜爱发些什么论文、喜爱什么编程语言、深度学习框架、工作地点等等
  • 作为计算机人才,咱们应该学习什么能力不被社会所淘汰,如何晋升本人
  • 计算机人才也会有懊恼,不论是在学校还是在公司 …

.. 都是你想晓得的。

再次申明,该报告是由 极市平台、中国图像图形学学会以及 Deloitte联结公布。以下图片内容来源于报告,未做任何批改。一共 34 页的报告 PDF,感兴趣的,公众号回复“000”即可。

哎呀,废话不多说,开始剖析 (吐槽) 吧。

第一节 人才现状?

先看下人才散布?

调研人才散布中硕士和本科占比 80% 挺失常,硕士做算法 工程 的更多,博士做算法 钻研 的更多。个别在互联网公司中,大部分都是硕士做算法工程师,来的实习生也都是硕士研究生,当然也有少许的本科生,特地优良 的本科生应该也是能够做算法工程师这个岗位的。

研究生相比本科生的劣势可能是:

  • 学位,以及多学了几年常识?
  • 但最重要的是在研究生阶段你有实验室,实验室如果 老师资源够好经费足够,是能够做一些其他人没有条件去做的事件。

回想起当年本科生的时候,大家都是凑钱加入较量,所有设施都是队员们惨兮兮地从生活费中一点一点扣,买个 主控板 都要精打细算。拿不到好奖项 (奖金) 的时候也经常 入不敷出

不过那会大家都很开心,毕竟是真正的酷爱,当年熬夜通宵的日子当初也一去不复返了。

本科生与研究生做我的项目的区别还有一个:本科生没有束缚,作较量更多的是凭着趣味,是 被动 ;研究生有导师管着,大部分学生做我的项目是导师要求,是 被动。态度决定所有,趣味才是一直学习的能源。

哦对了,报告中一句话值得斟酌:”在具备相干教训的群体中,其算法教训略多于工程教训“。

好好打工程根底吧!

看一下地区散布

来自北京的人才无需质疑数量必定是第一,起因很简略,北京相应的人工智能企业最多,互联网气氛 最好,大家当然都来北京了。接下来是深圳,深圳是守业之都,机具守业激情,硬件公司也多一些,机器人和 AI 联合的企业一抓一大把。最闻名的算是大疆了。

好的企业都被一线二线城市瓜分了,那其余中央呢..

老潘也面临着残暴的事实:我这个业余这个技术方向,回老家切实找不到工作啊。

业余散布

再看一下业余散布。

学计算机专业的就是好呀,计算机 相干业余 在找工作上是有肯定的劣势,毕竟人家底子好一些。然而大家不要灰心,当初是自学的时代,网上好资源一搜一大把,只有你肯下功夫学习,不肯定比业余搞计算机的差。

业余 (相差太大的业余,例如田园设计等,这个难度可能会大些) 和你在上学阶段 学什么 关系并不是很大,要害还是看本人。

趁着在学校,多找些组织,找些材料,连忙学习吧!

钻研畛域

果然指标检测的人最多。

指标检测最好入门,材料最多,变种最多,代码最多 … 特地适宜充当毕业生的毕设我的项目选题。不过如果是找算法开发相干的工作,只会指标检测是 远远不够的

老潘在前年找工作的时候主打的也是 指标检测 ,过后在实习时候曾经聊好了一个公司 leader,许可说秋招的时候会再面试一下(就过)。然而秋招的时候那位 leader 不好意思地跟我说,他们公司 指标检测相干工作开发 这一块的人曾经比拟多了,他们更想要招有 3D 生成或者 GAN 我的项目教训的求职者。总而言之就是一句话:

你很优良,然而不适宜咱们。

不过不同公司的需要是不一样的,指标检测这个方向对于大部分公司来说,依然是需求量比拟大的。

时代在倒退,AI 也在不停提高,你要问我当初 CV 畛域哪儿还不卷?

我也不晓得啊~

发表论文散布

发论文最好发的是什么话题?当然也是 指标检测 了。

不得不吐槽一下,不论是 anchor-base 还是 anchor-free 的检测框架,改一下脑袋 (head) 改一下颈部 (neck) 改一下身材 (backbone) 就能够水一篇论文了。什么?不会改?那就改一下数据集吧~ 同样的框架,换个场景,又是一条好汉。

喜爱的编程语言

还是老潘之前说过的,AI 行业最风行的语言就是Python 和 C ++

不论是最火的深度学习框架Pytorch 和 Tensorflow,还是比拟风行的模型减速推理框架TensorRT 和 TVM。都会提供 Python 接口来实现与用户的交互,提供 API 供用户应用,但理论内核代码都是应用 C ++ 编写的。起因很简略,为了保障性能以及不便地应用各种减速库(MKL、cuDNN)。另外,C++ 中的各种个性也比拟适宜团队合作开发大型项目,感兴趣的能够浏览相干源码,亲自感触下其牛逼之处。

对 Pytorch 源码感兴趣的能够看:

  • 一个 Tensor 的生命历程(Pytorch 版)- 上篇
  • 一个 Tensor 的生命历程(Pytorch 版)- 下篇

还有很多这里临时不介绍了,有趣味能够关注老潘,时不时会剖析一哈框架。

喜爱的深度学习框架

以下内容很实在.. 国产的深度学习框架使用率 7% 不到(往年应该超过 7% 了,paddlepaddle 很好用),还是 Pytorch 和 Tensorflow 的天下。

PS:感觉 Darknet 应该是靠 yolov3 火起来的,而且后继有人不断更新 … 纯 C 语言开箱即用对工业界几乎不要太好。Caffe2 挺惋惜。MXNet 小而美。

老潘理性分析一哈。对于学生来说,框架的 易用性 社区欠缺度 很重要 (说白了就是遇到不会的问题,百度的时候材料多不多)。还有刚开始入门的小白,会听他人说什么什么好什么好,跟风应用;但对于公司来说,根本就是 依据理论需要抉择应用框架,例如这个模型只有 Tensorflow 的开源版本,有咩有 Pytorch 的,灭有?复现太耗时间,间接上手 Tensorflow 吧~ 毕竟是以业务来驱动的,产出就是第一指标,反之亦然。

目前状况来看,Pytorch不管在学生还是公司占有率劣势很大。老潘 3 年前开始应用 Pytorch 进行深度学习钻研,那会还是 0.2 版本,比照过后的 TensorFlow,几乎就像蚂蚁和大象。但短短 2、3 年工夫,蚂蚁曾经长大了。

公司更偏向于 Pytorch 的起因也很简略:

  • 多种模型 Pytorch 实现最多(例如 CenterNet、FCOS)
  • 多种整合好的训练框架基于 Pytorch(mmdet、detectron2)
  • Pytorch 训练好的模型部署起来也比拟不便(各类推理框架对于 Pytorch 的反对更多一些,例如 TensorRT)
  • 更少数不清的理由(例如 debug 不便、对老手敌对等等)

当然 TensorFlow 也是有长处的,TensorFlow-server很多公司在应用,尽管也有一部分是历史起因,然而其稳定性和可靠性依然比大部分的 server 要强。

PS:举荐一个能够媲美 TensorFlow-Server 的服务器推理框架——triton-inference-server,前身是 TensorRT-server,现已开源,能够部署各种框架模型进去(TensorRT、Pytorch、TensorFlow、Onnxruntime 等),老潘钻研过一段时间,苦于没有工夫分享,感兴趣的能够交换一波~

什么?上述框架满足不了你?你要手撸一个框架本人搞(重大狐疑你是来炫技的)?在学生时代是能够花点工夫,模拟其余大型框架写一个小的框架练练手,这里举荐几个我的项目来瞧一瞧学一学:

  • tinyflow
  • tinygrad
  • C++ 模板元编程实战 - 一个深度学习框架的初步实现

一般来说,框架同时具备训练和推理性能。但训练局部写起来挺难,如果是只写推理性能的话,又简略一些。很多框架只有推理性能,感兴趣的能够参考一哈,简略列了一些(并不全):

  • NCNN
  • MNN
  • TVM

如果是硬件公司 (很多这样的硬件守业公司) 应用本人的芯片,也会有相应的 AI 底层算法工程师去搭建相似于 TensorRT 这样的产品,写 op,操控内存接口,最终产出相似于 TensorRT 这样的动态链接库,暴露出 API 供下层调用。

总之,框架这货色还是用的难受比拟好,我嘛,就喜爱用Pytorch

薪资状况

大部分互联网公司搞算法的薪资比搞开发的可能会高一些,但其实也相差不了多少(真的相差不了多少)。

大部分算法工程师也会干开发的活,只是附带算法这个属性罢了。只有真正的算法研究员才是真正钻研算法实践退出新算法的。

对于硬件公司来说(vivo、oppo 这类),算法工程师和开发工程师薪资并无区别(硕士校招)。都是有好几档,看各自程度定级。然而会有些钻研性质的岗位只要求博士参加,这也就是博士与硕士的差距。

对于硕士研究生来说,算法和开发相差并没有设想中那么大,也不存在所谓的鄙视链。

行业散布

行业散布还是比拟中肯的,人工智能畛域与深度学习密切相关。大部分互联网公司也有很多深度学习的业务线存在,例如快手、抖音等各种AI 玩法,都是与深度学习关系很深的我的项目。

还有电商的 以图搜图、虚构试妆;教育领域的视频教学中的课程互动、拍照搜题、智能阅卷等等。都是当初很平时融入生存中的 AI 场景,也能够说,AI 无处不在了。

借一下报告中的内容:

自 2018 年起,寰球计算机视觉技术一直成熟,开源生态、技术社区、人工智能开放平台的建设也使得算法的开发与利用门槛显著降落。德勤在《寰球人工智能倒退白皮书》中指出,由深度学习驱动的计算机视觉在某些畛域曾经超过人类,特地是在 人脸识别、图像分类 等工作中。同时,在我国,计算机视觉技术的利用领有宏大的市场空间与丰盛的场景数据,因此当技术成熟度达到产业要求时,不少垂直行业,尤其是行业中的头部企业,抉择了在组织外部搭建计算机视觉团队,打造行业专属的计算视视觉算法产品或相干性能。

第二节 人才的集体冀望与布局

人才能有什么布局?无非就是想一直晋升本人的 技术水平 薪资程度 罢了。

城市志愿

还是北上广深,老潘作为一名算法工程师,因为北京的互联网机会多,就毫不犹豫去了北京。其实对于 任何打工者 来说,哪的工作机会多当然就去哪儿了,在老家空有一身本事,但找不到适合的工作是最无奈的。

当然也与城市倒退以及公司薪资多少有关系,大城市发的钱比拟多,然而房租贵,小城市发的钱比拟少,然而房租便宜。到底去哪儿好,还是 看本人

晋升本人

不得不说,程序员这个职业为何 适宜年轻人,有一点起因就是新技术来的很快,咱们须要不停地依据业务需要学习新的常识,最好是可能疾速上手。年轻人嘛,不会的货色学学就会了。

上图曾经表白的很分明了,大部分的程序员都是靠 自学。自学是个被动的过程,本人寻找材料本人决定下一步该学什么。尽管有点累然而学习效率很惊人。

集体认为网上的付费视频能够看,但 不是必要的 ,视频只是辅助作用。而且被动学习有时候会让本人产生感觉 学习了不少 的幻觉,老潘揭示一哈,如果只是光看视频不进行实战(实现一些课后作业啥的),学了不多久就会忘得。

遇到问题就 百度或者 google一下就好了,大部分的技术文章出自以下这些平台,这些平台是很好交换技术的中央:

  • 知乎
  • CSDN
  • 掘金
  • 博客园
  • 开源中国
  • 腾讯云社区
  • 等等

当然也有很多优良的集体博客,这里就不一一列举了。不要脸地宣传一下本人的博客(逃):

  • oldpan 博客

工作岗位抉择?

算法工程师还是最香的,适宜算法与工程兼备的童鞋。

高校老师和高效研究生适宜喜爱搞钻研、喜爱 摸索新方向 的童鞋。

AI 产品经理和 AI 项目经理据老潘所知 门槛较高,大厂个别都会要求有实习教训的童鞋。

钻研趣味变动

报告指出:

在计算机视觉技术倒退过程中,随着前沿实践的一直冲破、产业利用的趋势变动,计算机视觉畛域的人才 钻研方向也在相应作出调整。本次报告对在职人员心愿将来钻研的畛域进行了调研,后果发现: 指标检测、图像宰割、文本了解、指标跟踪仍为计算机视觉人才将来钻研的重点方向,同时医学影像解决辨认的钻研趣味排名由第 7 位回升到第 5 位,这可能与新冠疫情后医疗畛域计算机视觉相干需要骤增无关。

指标检测目前还是很热门的钻研方向,毕竟 刚需 在那里摆着。老潘倡议,学生阶段,最好还是多方向、多尝试尝试不同方向的算法,不要把苹果放一个篮子里。

第三节 社会对人才的述求

硕士级别是算法工程师的敲门砖,那是因为之前本科的时候很少有 深度学习的我的项目,大部分只是 ACM 或者大学生电子设计大赛这样子的。和人工智能关系不是很大。

当初条件好了,深度学习也遍及了,大部分高校也开设了相干的课程。我的表弟他们在本科阶段曾经参加一些老师的我的项目,开始训练 yolov3 模型部署在 TX2 下来加入一些较量,和研究生做的并没有实质上区别,这都是 5 年前想都不敢想的。

当初是全民遍及 AI 的时代,AI 曾经无处不在了。

技术要求

很实在,企业对人才的要求理论只有 一个

  • 能帮我解决问题!

然而解决问题也没有理论那么简略,须要很扎实的根底和较强的学习能力才行。

在企业不同于在学校,企业要求的不可能是 demo 级别的玩具,更多的是稳固牢靠、精度达到要求且能够上线,缺一不可,看似简略,但理论困难重重。与高校场景齐全不同,所以倡议大家在高校中尽量多加入一些理论的我的项目, 要有反馈,千万不要自嗨

PS:作为算法工程师,往往都是有压力的!拖大家的福,老潘的头发还是很浓密 …

其余需要岗位

只有一点要揭示的,不是只有岗位名称蕴含 CV、图像、AI 等的才与深度学习有关系。随着深度学习的一直遍及,上到算法层,中到软件层,下到硬件层,每个层都有与 AI、与计算机视觉相干的岗位。

岗位名称形形色色,这里只说一句,名称是一方面,点进去看 岗位介绍 最靠谱!

对于算法岗位散布与特点老潘之后抽空会汇总一波。

第四节 人才的造就与倒退

尽管说咱们大部分人是靠自学,感觉有台电脑就能够。然而对于 深度学习 这个烧钱的方向来说,有设施有机器 是最好的,这里列一下咱们学习可能须要的设施:

  • 显卡(深度学习训练必备),对于显卡的抉择,能够看下我之前的一篇文章给你一份配置清单: 机器学习、深度学习电脑显卡配置指南,尽管是之前的,然而仍有参考意义。
  • 推理卡(如果你不搞训练只搞部署),相似于英伟达的 TX2、Xavier 系列、jetson nano 系列,或者树莓派系列。这类板卡适宜搞一些工程项目,相似于部署落地

对于部署落地,老潘有话想说:

  • CV 算法内卷重大,然而咱们能够看看视觉算法工业部署及落地方面的技术常识

实验室没有资源的然而又想参加的,能够本人掏钱买显卡 (这里简略提一下,能够买 2 月 26 日公布的3060-12G 显卡,官网建议价 2499,性能和之前的 1080ti 差不多,如果有条件能够抢到,这款卡很适宜做深度学习),也能够白嫖一些 GPU 资源(例如 kaggle):

  • 随身 GPU 服务器:Kaggle 中 kernels 的疾速入门指南
  • 还有一些白嫖的 GPU 资源老潘还没有整顿,之后会公布相干文章(关注老潘不错过)。

释怀吧,只有你真心想入坑深度学习,GPU 资源什么的不是大问题,能够通过各种形式解决,要害还是要有 激情和趣味。毕竟深度学习这条路,注定不会一帆风顺。

在学校与在公司的懊恼

在学校的懊恼能有啥哦?老潘认为在学校还是很难受的 … 想学什么学什么,想做什么做什么。

不过必定会有一些 不满足于现状 的学弟学妹们,想要冲破一下本人,找点事件做。这个时候如果导师不给力,还是要靠本人的,被动找点事件做吧~

有疑难也能够与我交换。

对于研究生导师和人工智能公司的倒退瓶颈(懊恼),就不是咱们所思考的了,看看就行啦!

对于课程

根本高校的课程如下,课程根本是起到疏导入门的作用。渴望学习的咱们,更多的是心愿本人找本人感兴趣喜爱的课程去学习。

课程资源限于篇幅,能够看看这篇:

  • 2021 年了,咱们还能够入门深度学习吗(含资源)

正如报告中所说:

短期内在高校开设细分畛域的课程仍有不小的挑战:

  • 一方面,计算机视觉细分 畛域宽泛,学生趣味较为扩散,细分畛域课程可能无奈满足全副学生须要;
  • 另一方面,因为本畛域技术 迭代速度 极快,且局部畛域的学习须要多样化产业理论案例的反对,课程开设难度较大。

所以大部分的高校课程都是以打基础为主,非常适合刚入门的童鞋,老潘只想说一句:好好珍惜在学校的美好时光,认真学习吧,不要浪费时间~

最初

工夫总是过的很快,还记得那会刚入门深度学习的时候,看吴恩达和李宏毅的课看的津津乐道,尽管啥也不懂。转眼间 3 年过来,当初曾经全民 AI 了,尽管偶然会迷茫,但曾经踏入深度学习的老潘仍然会保持走上来,不论是以何种模式。

心愿大家可能和我一起坚持下去吧~

文中提到的一些分享资源在这里。

撩我

  • 如果你与我气味相投于此,老潘很违心与你交换;
  • 如果你喜爱老潘的内容,欢送关注和反对。

想晓得老潘是如何学习踩坑的 (PS: 想与我交换问题) 来公众号「oldpan 博客」找我~
老潘也会整顿一些本人的珍藏,心愿能帮忙到大家,来神秘传送门看看吧~

撩我吧

  • 如果你与我气味相投于此,老潘很违心与你交换;
  • 如果你喜爱老潘的内容,欢送关注和反对。
  • 如果你喜爱我的文章,心愿点赞???? 珍藏 ???? 评论 ???? 三连一下~

想晓得老潘是如何学习踩坑的,想与我交换问题~ 请关注公众号「oldpan 博客」。
老潘也会整顿一些本人的私藏,心愿能帮忙到大家,点击神秘传送门获取。

退出移动版