全球只有3000人获得Google认证的TensorFlow D

2022-01-18  本文已影响0人  笑傲NLP江湖

原创:晏茜

资料来源:张春阳

1. TensorFlow Developer是什么?

TensorFlow Developer是Google给全世界人工智能开发者提供的一种评定机器学习和深度学习能力的认证证书。简单来说就是Google认证的TensorFlow开发者。

1.1 深度学习框架市场占有率

目前来看,在整个工业界或学术界,有TensorFlow、Keras、PyTorch、Theano、MXNET、CNTK,FastAI这几种框架。其中MXNET、CNTK,FastAI相对比较小众,使用率较高的是前面几种,尤其是TensorFlow、Keras、PyTorch这三个框架。后TensorFlow团队选择吞并Keras,TensorFlow和Keras成为一家公司。所以,目前市场占有率比较高的是TensorFlow和PyTorch这两个框架。

1.2 深度学习框架市场招聘

国外市场

在Indeed,Monster,Simply_Hired,和LinkedIn,这4个国外比较知名的招聘网站上,筛选出TensorFlow和PyTorch的招聘岗位,结果显示,TensorFlow的招聘数量大致是PyTorch招聘数量的2倍。

国内市场

笔者调查了10个分别来自于不同行业龙头公司的AI从业者,结果显示,在10家公司中,6家公司使用TensorFlow作为主要深度学框架,3家公司使用PyTorch作为主要深度学框架,而只有1家公司规定必须使用PaddlePaddle作为深度学框架。

笔者继而调查了选择TensorFlow作为主要的深度学习开发平台的原因,主要有以下几点。

①TensorFlow工程部署方面的实现更完善

目前,许多互联网公司都面临着多平台同时发展的局面,包括APP端,和Web端。比如,美团外卖有一些端侧的部署,外卖员身上也有一些端侧的设备,他们能够在不同的平台或不同的端侧上,完成同一个工程的部署。目前来看,TensorFlow在多元化的工程部署方面,有比较好的实战情况和丰富的经验,它对于多平台的兼容和不同端侧的支持都是比较完善的。

②TensorFlow可定制能力更强

对于算法工程师而言,其主要工作为定制化方向的开发工作。每个公司都有自己的特定需求,比如美团,针对它的整个配送环节和它的外卖业务,是有许多的个性化需求的。算法工程师要在已有框架的基础上,再去完成一些个性化的开发工作。TensorFlow从自定义的角度来讲更优于PyTorch,并且在自定义化方面的实战经验也比较丰富,相对来说它要付出的风险更小。

③具有规模的开源项目更多

基于以上两点原因,更多的开源项目更愿意选择一个比较具有工程实践部署能力,并且可定制化能力较强的一些项目的底层框架来作为它的底层框架。因此,使用TensorFlow作为底层框架的开源项目更多。

④训练可视化方面更完善

虽然PyTorch也提供了一些可视化方向的解决方案,但是它发力较晚,而TensorFlow在很早的时候就推出了自己的TensorBoard来做可视化的工作。

⑤历史工程都是TensorFlow开发的

很多历史工程都是使用都用TensorFlow1来作为开发的,并且使用了TensorFlow1之后,后续再去迭代的过程中很难再去改变自己的平台。如果想要转到其他的框架上,势必花费更多的精力,并且要承受更多的风险。

选择了PyTorch作为主要的深度学习开发平台的原因,主要有以下几点。

①研究新论文的代码

在过去的两年间,各大公司都成立了自己AI Lab,也就是研究院,这些研究院成立的主要目的是在科技领域,去研究一些前沿的或具有突破性的内容,以此来提高公司的科研水平。这些研究内容不一定能够在工业的实战场景中得到充分的应用,并且他们的主要诉求也并不是用其开发出来的新模型去进行实战业务。因此,对于已入职或有意入职AI Lab的人才来说,他们更愿意使用PyTorch来作为主要使用语言。

②之前在学校用 Pytorch

学生在学校做项目的时候,他们的主要诉求是写论文,而不是去解决工业上的某一个问题。对于学生而言,他们更愿意使用PyTorch去研究创新点,然后发一篇论文,对于新的researchers而言,他们更愿使用PyTorch来作为他们的开发语言。

③觉得 TensorFlow 1 用起来费劲

正如刚开始学习编程语言的时候,可能会对选择学习Python,C++ ,或是Java上存在着困惑,在选择深度学习框架的时候,也依然会存在这样的疑惑,是选择PyTorch还是TensorFlow呢?在过去,很多人选择放弃TensorFlow1,原因是TensorFlow1确实存在一定程度的局限性。然而TensorFlow2.0的语法已经很大程度上改善了它的问题,从语法角度来讲,实现的难度很低,并且继承了之前的优点。无论是在工程部署,自定义化实现,甚至在可视化方面,TensorFlow2.0都有出色的表现。

PaddlePaddle只有一家公司在使用,这里不做更多的分析。

对TensorFlow和PyTorch的使用情况进行一个总结,就是工业上的公司大部分都在使用前者来作为自己的主要的研发框架,而出于科研目的的大部分公司都在使用后者来作为研发框架。

1.3 谁在使用TensorFlow?

使用TensorFlow来作为主要研发框架的公司如下图。

2. 成为TensorFlow Developer有什么用?

TensorFlow Developer认证的用处,以及Google能够帮助拿到证书的人实现什么,接下来会逐一介绍。

2.1 向你的雇主展示你的技能

TensorFlow Developer认证能够向雇主,展示你的人工智能技能,或者说是你的开发能力。目前,各公司都会通过面试去考察受试者的水平,但这种方式主要考察其理论知识,不能完全验证其开发能力。人工智能行业技术人员的评定,正逐渐从原来的了解受试者理论知识的掌握情况,向了解其开发能力,并确认其能否很好的去胜任这份工作的方向转变。

许多公司都在探讨人才数字化的方法,将人才进行建模,以便更好的选用,而通过TensorFlow Developer认证的人才,可以将证书放在简历上,或放在领英或脉脉里面,这样的数字化简历,能够更好地向雇主展示你的技能。

在领英上搜索TensorFlow Developer认证这一关键词,你会发现有很多人已经通过了这个考试,其中不乏行业大牛,包括微软的高级开发工程师,Facebook的高级开发工程师等,他们都通过了这样的认证,这也代表了大家对于该行业发展趋势的判断,都认为TensorFlow Developer认证能够帮助自身进行增值。

2.2 加深TensorFlow开发能力

通过这样的考试,你可以锻炼自己的深度学习的开发能力,和利用人工智能解决现实生活中问题的能力。TensorFlow Developer认证考试并是一个理论性的考试,它是在测试中给出真实的题目,比如说,给出一个数据集和一些限制的条件,要求在限制条件下,把这个模型达到什么样的程度。这样的考试形式非常类似于我们在工作中去解决问题的场景。在工作中,你的雇主可能会给你提出需求,他会提供给你一些数据和指标,并且给你一些限定的条件,你需要去帮他解决这个问题。所以,TensorFlow Developer考试的测试规则非常符合人工智能这一行业对于人才的需求。

TensorFlow Developer认证考试覆盖了人工智能行业的三个方向,包括计算机视觉,自然语言处理,和数据分析方向的能力。它更强调把人工智能技术作为一种工具,你需要掌握这三个方向的技术,之后你能够驾轻就熟的去解决现实中的问题,当然,这也与雇主们的期待不谋而合。

2.3 加入TensorFlow Developer社交网络

如果你能通过考试,你就能够进入到TensorFlow Developer的社交网络中。这个社交网络会经常举办各种各样的线上和线下活动,包括知识分享,相关从业者的社交活动,还有可能会分享一些从业者在不同实践中的经验等。因此,当我们通过TensorFlow Developer认证考试,加入其社交网络时,也可以拓展自己的在人工智能方向的人脉,通过跟不同领域的人去交流和沟通,更易于碰撞出火花,可以帮助我们更快的去了解在做某个项目的时候,可能会遇到的一些问题或可能会收获的经验。

总的来说,TensorFlow Developer认证正处于其红利期,因为该考试是从2020年开始的,目前全球仅有3000多个人通过了考试和认证,亚洲区域只有1000人左右,而目前中国也仅有数百人通过了认证,就现阶段来看,TensorFlow Developer证书的含金量还是比较高的。

3. 如何通过Google TensorFlow Developer认证?

为了通过 TensorFlow Developer认证考试,首先要做目标管理。针对学习目标的管理,笔者建议将整个目标管理的过程可视化。这是因为当我们学习新知识,尤其是较困难的知识的时候,很可能会遇到一些难以解决的问题,导致特别容易放弃。笔者发现,如果将学习过程可视化,能够让我们及时得到更具体的反馈,我们知道,虽然可能遇到一些问题,导致某些知识没有掌握,但是,在那之前我已经学会了很多新的知识。学习过程的可视化可以激励我们继续朝着目标进一步向前。

在准备TensorFlow认证考试之前,笔者将大目标拆解成6个小目标。这6个小目标包括了,第一,浏览考试大纲,也就是它的handbook,第二,完成TensorFlow课程,第三,阅读Hands-on Machine Learning这本书,第四,阅读MIT Introduction这本书,第五,部署TensorFlow考试的环境,最后一步,拿到这个证书。同时,笔者列举了6个目标所需要的资源,也就是说为了完成目标,需要的所有资料。为了完成这6个小目标,笔者使用了Notion里面的To-Do List功能,将每个小目标拆分成更细的时间规划,这样就可以将目标转换成一个一个的项目,通过选择的方式,去管理所有的项目,这些To-Do List里面的所有项目都完成了,就代表着这6个小的目标也都完成了。

学完所有知识点之后,也并不能代表一定能够通过考试,这是因为学和会是两件事,你可能花了很多时间,觉得自己很努力,但是其实可能收效甚微。那么,如何能验证学习效果呢?针对这个问题,笔者做了一个Checklist,用来检测之前所有的学习行为是否有效。Checklist就是针对于考试大纲,将知识点进行拆分和细化,拆成很多小的知识点。在考试之前,笔者会去再检查这些小的知识点是否是每一个都掌握了,全部掌握之后,会更有信心参加考试。

以上是关于TensorFlow认证考试的一些方法和思考,欢迎交流和指正。

上一篇下一篇

猜你喜欢

热点阅读