前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(推荐,我的深度总结)聊聊为什么技术要先广后精,对技术新人的几点建议

(推荐,我的深度总结)聊聊为什么技术要先广后精,对技术新人的几点建议

作者头像
黄鸿波
发布2020-04-26 11:55:01
7260
发布2020-04-26 11:55:01
举报
文章被收录于专栏:AI的那些事儿AI的那些事儿

在我30岁生日那天的文章中,我在文末给技术新人的几点建议中,第一点就提出来了“技术要先广后精”这个想法,今天我想针对这一点来谈谈我的看法。

企业喜欢什么样的人

我认为,IT行业实际上是一个两极化非常严重的行业,有的人工资非常高,有的人却找不到工作,这是为什么呢?要回答这个问题,我们首先要了解工资高的这一波人中,都有什么共同点。我从拉勾网上找了2个AI技术总监和技术专家的招聘要求:

我们可以着重来看一下上面用红色圈起来的部分,我们先来看下第一个招聘JD,在职位描述中,这个JD很明确的指出了,需要做业务需求的理解和解决,问题的公关,创新探索和推动研发上线,而在下面的任职要求中,我们也可以看到,他所要求的不仅仅是你对CV这一个专业领域的积累,更重要的是你对深度学习的其他技术,如对抗生成、强化学习等技术的熟练程度,以及对Hadoop、分布式、实时流计算等有着扎实的基础。

我们再来看下第二份JD,在第二份JD中职位描述的第一条很明确的说明了需要参与AI算法系统的建设,以及平台的搭建,而在任职要求中,除了要求对深度学习和机器学习相关技术的掌握之外,还要对数据处理、web前后端以及自动化运维有着比较强的开发能力,甚至对平台开发的能力也有一定的要求。

这两份JD都是总监和技术专家级别的JD,我们不难发现,在这两份JD中有一个非常明显的技术点,那就是它们都不是要求你在某一个领域的技术非常牛,而是要你除了对CV或NLP比较熟悉之外,还需要对分布式计算、AI周边领域甚至前后端及自动运维都比较熟,也就是说现在企业招人的时候,更注重的是一个人才的复合型。

这个时候有人可能会说,那如果我就是找NLP开发工程师,或者NLP高级工程师,那会不会就只会NLP技术就可以了呢?我们再来看另外一份JD。

在这份JD中,我们可以看到,工作经验只要1~3年,但是却仍然需要对分布式计算、数据挖掘等相关内容比较熟悉,那么这个时候,我们似乎就有些疑问了,为什么现在都是在这么要求,我只在我自己的专业领域中做的好不可以吗?

AI产品从无到有的过程

实际上,掌握多种技术,不仅是对企业负责,也是对自己负责。我们先来说说在AI领域中,一个实际的产品从无到有的过程。

说到产品从无到有的过程,我不想按照一个正常的套路来讲,我们现在假设这些都是1个人来完成,呃......假如我们就做一个简单的文本审核平台吧。

老板突然布置下来一个任务,做一个文本审核平台,目标只有1个,那就是,如果有黄色内容和涉政内容进来,就统统给过滤掉。

这个需求看起来不难,那么我们来看看怎么实现以及都会用到什么技术吧。

用什么模型?

遇到这个问题,有经验的同学首先就会想到2种解决思路,一种是用规则过滤,一种是做一个多分类的模型,假设我们就做一个多分类的模型吧,这个模型是3分类,涉黄、涉政和正常。我们现在假设选用textcnn模型作为我们目标的训练模型。(这里就会用到了深度学习技术和机器学习技术)

爬取数据

那么我们要想训练这个模型,第一步就是要弄到数据,一般来讲,公司很难有这种大批量的涉黄和涉政数据,所以这里就需要我们掌握爬虫相关的技术

数据处理

假设我们的数据以及爬取到了,下一步该干嘛呢?没错,我们应该把这些数据给处理成我们模型可以接受的格式,然后喂到模型里进行训练,那么这里,我们可能就会需要使用到数据处理、正则表达式、分词技术以及其他的文本处理技术

数据训练

现在数据也有了,也处理成了我们想要的输入形式了,那么接下来要做的就是把这些数据喂到模型里进行训练,那么在这里就需要对深度学习的框架有一定的了解,可以是TensorFlow、pytorch和keras中的一种,那么这也是我们要学的知识点。

模型调参

现在模型训练好了,但是我们在验证的过程中发现总是有一类数据模型训练的有问题,或者loss不收敛,那么这个时候我们就要做模型调参工作,不错,这个时候你又化身成了一个调参工程师

模型部署

现在模型终于调好了,准备给领导看效果了,可是你发现领导可能不懂AI,也不愿意看一片黑漆漆的控制台,老板此时说了:“能不能让我属于一句话,就告诉我它是涉黄、还是涉政还是正常,最好是弄个接口之类的吧,我对http调用还是比较熟悉的”,好吧,这个时候你又需要把你训练好的模型部署发布成一个接口,这时候,你会发现又有新的知识了,因为你只对python熟悉,所以你通过查找资料,发现可以使用flask框架来做相关的http接口,当你把接口搭建好了之后,发现你还没有让接口和模型联系在一起,这个时候,你又需要去了解TensorFlow模型如何打包成Pb格式的数据,如何进行模型的调用,如何加载,ok,这个时候,你又不得不去学习python中的消息队列,管道以及与TensorFlow相关的模型部署和搭建相关的知识

模型上线

现在模型部署好了,老板也能够通过接口快速的得到响应了,老板表示非常满意。那么接下来就要把这个模型上线给到用户去用了。这还不简单,直接把http接口暴露给公网不就好了。

模型终于上线了,用户终于可以用了,第一天访问量30个人,没问题,效果很好。这个口碑一传十、十传百的传开了,终于有一天,并发量到了100了,然后你会发现,邮箱里收到了各种time out的报错日志。好吧,这个时候又要学新的知识了,如何进行分布式部署,如何进行负载均衡,Nginx,uwsgi,这几个新的知识又要开始学了,最终模型顺利稳定的上线了。

经过了这一番折腾,你会发现你不知不觉的学会了如下内容:

1、模型的选型

2、爬虫

3、数据处理和基础NLP内容

4、深度学习框架

5、模型调参

6、http接口

7、Flask

8、TensorFlow工程化

9、Python管道和队列

10、负载均衡

11、Nginx

12、Uwsgi

13、Linux操作系统 等等

如果这个时候老板让你再做的好看点,说不定你还要去学习前台界面开发相关的内容。

所以,我们再回到最初的问题上,为什么在各个企业的招聘JD上会有这么多的要求,实际上不是企业要求高,而是这些我们真的需要掌握。

技术要先广后精

上面啰嗦了那么多,其实,我只是想跟大家说明一个道理,那就是,对于一个IT新人或者说是AI新人来讲,我们一定要抱着技术要先广后精这个心态去做事。

实际上,技术的积累是一个长期的过程,我们应该时时刻刻的注重技术的积累。而我认为,技术的积累应该从本科就开始,甚至说工程化的积累,我们就应该从本科开始。

在上大学的时候,我们实际上就已经可以做很多的项目了,大学的课程包含着Java、C#、jsp、asp.net等,一般来讲,每门课程老师也都会布置一个大作业让大家去完成,一个注重积累的人,会认真的对待老师的每一次大作业,并对大作业进行持续的改进,而这个过程实际上就是一个积累的过程。当你完成了对一个项目从0到1 的部署,你会发现你所掌握的知识点变得非常多,你就可以把所有的知识体系联系到一起,形成一套自己完整的知识体系。

当你在走上工作岗位时、或者是面试的时候,你就会发现,你可以通过一个点来谈及一个面,然后考虑问题就会从宏观的角度去考虑,到这个时候,你就会发现,整个人的眼界都变了,看问题的角度也变了,很多事情你会想的非常的全面,老板也会越来越重视你。

所以,话又说回来,为什么我认为技术要先广后精,因为只有站在全局来看待问题,你才能够知道应该从那个点突破,来去深入的研究,只有这样,我们才能使自己的职业道路走得越来越宽。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI的那些事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档