如果你浏览 AI 相关的新闻,不难发现「高薪」、「百万年薪」等极具诱惑力的词汇的出现频率非常高。同样,在知乎中搜索「如何转型 AI?」、「AI 领域需要怎样的人才?」、「普通程序员如何学习 AI 知识?」等问题,也总会发现各种各样的答案和衍生的话题。在人工智能浪潮的助推下,不少科技公司开高薪求良才,更有不少开发者前赴后继地投身进 AI 的风口中。
在刚刚结束的第二季百度 AI 开发者实战营深度学习公开课上,百度针对北京站、深圳站、杭州站、成都站四地参与公开课的学员做了课后调研。调研数据显示,参与百度深度学习公开的学员有 79% 已经参加工作,剩余 21% 的学员为在校生。另外,所有学员里有 2 年及以上深度学习开发经验的为 10%,2 年及以内的深度学习开发经验的占 61%,有 29% 的学员没有深度学习相关的开发经历。可以看出,报名参加百度深度学习公开课的学员以 AI 领域入门级选手为主;此外,学生也占到不小的比例,说明在校生群体对 AI 的热情很高,也正在通过各种渠道学习 AI 知识,而这在某种程度上也能看出高校在开设人工智能课程方面还不够完善,百度深度学习公开课恰好满足了上述两类群体学习 AI 的需求。
一份课后调研报告也许不能完整反映出国内深度学习开发者的整体现状,但是能在一定程度上体现深度学习开发者和渴望转型 AI 的开发者的趋势,大家都想在 AI 时代来临之际搭上这趟 AI 列车。不少企业花高薪聘请 AI 人才,然而大部分求职者的能力与雇主的期望相差甚远,尤其是在部分核心岗位,比如语音识别、图像识别工程师等,更是供不应求,整个市场面临有价无市的尴尬局面,尤其中小企业招聘更加困难。并且,培养 AI 人才所需要的成本和时间远高于一般的 IT 人才,所以 AI 人才的缺口很难在短时间内弥补。
AI 的确是一个门槛很高的领域。从学历上看,有超过一半的 AI 求职者学历在硕士及以上,高学历人士的录取率明显较高。而很多求职者要么学历较低,要么是初级程序员,只对基础编程略知一二,要么缺乏实际的 AI 技能。
除了学历,AI 行业也十分重视求职者的技能掌握情况。通过查看招聘网站相关职位的招聘启事可知,企业不仅希望 AI 工程师掌握深度学习技术,而且还需要求职者精通 Spark、Hadoop、机器人控制理论等技能。
那么,对于国内众多有志于 AI 的程序员来讲,如何弥补自己的短板成功转型 AI?或者说如何让自己的 AI 技能得到快速的成长呢?雷锋网 AI 研习社认为,选择合适的深度学习框架可能是第一步。
在专精某个框架的同时,也要了解其他平台
对于一个深度学习项目来说,选择一个合适的框架非常重要,所以说,AI 工程师首先应该了解各种主流深度学习框架的特点和应用场景。
一般来讲,AI 工程师应该根据公司或者团队的需求来选择合适的框架。但重要的是,工程师们应该把自己培养成「T 型人才」,在专精某个框架的同时,对其他平台也要有所了解,不能把自己绑定在某一个框架或者平台上,这样才能综合比较各个框架,并从中选择最适合的那一个。
不论是掌握各种编程语言或开发工具,还是深入了解业务场景,最终都是为了运用深度学习框架解决特定的问题。如今深度学习领域还处于百家争鸣的阶段,主流的深度学习框架有以下几个:
相对高阶的 TensorFlow。自推出以来,TensorFlow 在开发者社区享有盛誉,目前已经成为开发者最常用的深度学习框架,它的功能全,社区活跃,因此使用率也一直保持领先。但 TensorFlow 也因为文档和接口混乱,使用繁琐等缺点广受诟病。
适合中国国情的 PaddlePaddle。PaddlePaddle 前身是百度在 2013 年自主设计和研发的内部开发工具,目前已经100%开源。PaddlePaddle EDL 通过扩展类似 Kubernetes这样的集群管理系统可以实现计算资源的弹性调度,这使得 PaddlePaddle 能以更小的显存和更快的速度完成任务。PaddlePaddle提供的一手中文文档和中文社区,对于国内的 AI 开发者来说有天然的优势。
Facebook 的 PyTorch。Facebook 曾表示,「PyTorch 有望辅助、或在一定程度上替代现有的 Python 数学库(比如 NumPy)。」借助 Python 生态圈,PyTorch 可快速接入 Python 的库和软件,另外 PyTorch 不需要从头重新构建整个网络,它为改进现有的神经网络提供了更快速的方法 —— 采用动态计算图(dynamic computational graph)结构。
「无心插柳」的 MXNet。MXNet 作者李沐表示,MXNet 最早就是几个人抱着纯粹对技术和开发的热情做起来的兴趣项目,既没有指望靠它毕业,也没想着用它赚钱。MXNet 主要有以下优势:高效,计算资源利用率高;快速,可以随着机器和 GPU 的扩展呈线性增长;易用,支持命令式编程(imperative programming)和声明式编程。
极简的 Keras。Keras 是一个崇尚极简、高度模块化的神经网络库,于 2015 年 3 月发布。Keras 能够让用户快速实验原型,将开发者的想法变成现实。近期,MXNet 还宣布支持 Keras 2,可更加方便快捷地实现 CNN 及 RNN 分布式训练。
极易上手的 Caffe。Caffe 也是一个被广泛使用的深度学习框架,优势包括:容易上手,用配置文件形式定义网络,而不用代码设计网络;训练速度快,能够训练先进模型和大规模数据;组件容易模块化,方便扩展。
如何选择合适的深度框架?
面对各具特色的深度学习框架,AI 工程师该如何选择?具体来讲,AI 工程师可以从以下角度来选择深度学习框架:
1.与现有平台和技能整合的难易程度。
在开始使用深度学习框架时,AI 工程师最好选择一个支持你已经掌握的编程语言的框架,比如你使用 Python,就可以选择 PyTorch,如果你熟悉 C++,则可以考虑使用 Caffe。如果你选择的框架需要你重新学习一门语言或者要修改数据的储存形式,那使用该框架的学习成本就太大。
从整体上看,Python 已经成为深度学习的基本语言,能够和大多数平台无缝对接。
2.相关机器学习工具链完整度。
深度学习项目需要做各种数据处理、可视化、统计推断等,所以在选择框架之前工程师要考虑好该框架是否有相应的预处理工具或者辅助软件。
比如,百度发布了深度学习可视化平台 Visual DL,该平台通过可视化的方法将模型训练过程中的各个参数以及计算数据流图实时地展示出来,帮助开发者更好地理解、调试、优化模型。另外,百度还推出了 EasyDL、ECharts GL、ZRender、WebGL 框架 ClayGL 等工具来帮助开发者快速开发原型。
3.对数据量和硬件的支持。
深度学习在不同应用场景的数据量是不一样的,工程师需要考虑如何使系统计算得更快,这就涉及分布式计算、多 GPU 计算等。开发者需要极高的工程素养才能很好地平衡性能、成本、效率、稳定性等问题。
4.深度学习平台的成熟度。
一个成熟的深度学习平台,文档、教程、社区等生态因素必不可少,而且在很大程度上决定了该平台是否易用,是否能为开发者提供实际的帮助。就目前的发展情况来看,TensorFlow、MXNet 等框架有很详尽的文档和活跃的社区,新手可以通过这些资源快速上手开发原型。
值得一提的是,百度在近期正式开放运营了 PaddlePaddle 中文社区,旨在打造国内最高效、最方便的深度学习社区,方便开发者交流技术问题,结识更多的工程师。AI 开发者遇到无法解决的问题时,在论坛上发帖 24 小时之内会有响应,迅速获得资深工程师的讲解和指点。
除了掌握深度学习框架,AI 工程师还需要哪些技能?
AI 工程师必须要有极强的编程能力,那除此之外,一名合格的 AI 工程师还需要哪些技能?
首先,毫无疑问的是,AI 工程师要有过硬的数学基础和技术能力。线性代数、概率与统计、微积分、信息论等数理知识是 AI 的基础,要得心应手地处理这些数学概念需要花费大量的时间去学习。另外,熟练地使用 Python、R 等语言,知道特定的算法工具包,明白如何在线上部署机器学习模型也是必不可少的能力。
对于在校学生来说,找准方向进入科研领域、继续深造或者去 AI 公司实习了解主流框架的特点和用法,都是很好的学习机会。对于已经工作的开发者,回学校重新镀金是个不错的选择,如果无法重新回校读书,那么应该结合公司业务学习相应的基础知识,查漏补缺,这样会更有目的性且耗时更低。
第二,很多公司要求机器学习工程师不仅要有高超的技术能力,了解各个模型和算法的优缺点,同时还要有一定的业务能力。具体来讲,AI 工程师应该明白用机器学习的方法看待商业问题,理解问题的痛点,能够从数据中获取必要的信息,然后通过模型产生商业价值,使 AI 技术真正为用户服务。
总结起来,AI 工程师不仅要有技术,而且会被赋予更多产品、市场甚至是运营的职能,这样的转型是挑战开发者价值观的。天下没有免费的午餐,要做出更好的产品和软件, AI 工程师要付出更多的努力和更多的代价,重新审视自身与技术的关系,技术和产品的关系。
实际上,国内很多科技公司为开发者提供了大量的技术、资金、市场等资源的支持,帮助他们提升技术水平,磨练 AI 产品。
比如,百度举办多场深度学习公开课活动,邀请业内大咖现场讲解深度学习和 PaddlePaddle,手把手教学并答疑解惑。同时,百度也在线上开放了一套完整的深度学习教育课程。
另外,百度跟行业内的合作伙伴发起了各项 AI 赛事,在深度学习领域有一定经验的开发者可以通过这些赛事将自身的技术与实际应用结合,帮助企业解决行业难题。
百度正在建立这样一种机制,让开发者用一种最适合中国国情的方式更快更好转型 AI。
保持独立思考,按照自己的节奏学习
知乎大 V,普华永道数据科学家阿萨姆在接受雷锋网 AI 研习社采访时曾表示:「不要迷信机器学习,不要急于全盘接受,也不要因为不对胃口而全盘否定,慢下来,制定适合自己的计划。」
如今市面上各种各样的机器学习资料层出不穷,人工智能各类算法也在不断更新迭代,政府和企业也为 AI 开发者和创业者发放了大量的福利,比如国家颁布各项利好政策,企业也相继开放技术和课程支持,甚至发布 AI 人才培养计划,帮扶开发者入门或转型 AI。
不过,对于想转型进入 AI 领域的开发者来说,除了学会把握机会,借助外力。还需要保持独立思考的能力,从海量的资料里去芜存菁,结合自身的行业优势找到与 AI 技术的交叉点。或许,这才是有志于 AI 行业的开发者应有的态度。
责任编辑:韩希宇
免责声明:
中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。