首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NLP算法工程师的日常以及核心竞争力

NLP算法工程师的日常以及核心竞争力

作者头像
lyhue1991
发布2021-04-07 15:20:28
6370
发布2021-04-07 15:20:28
举报

谈一下关于自己对算法工程师核心竞争力的理解

先简单自我介绍一下,我是DASOU,任职在一家社交公司,做NLP算法工程师,主要做文本分类,序列标注,问答匹配方向的工作,也做过搜索/推荐方向的需求。

工作快有一年半的时间了,在这一年半的时间里,我在工作的同时,一直都在思索,究竟什么才是算法工程师的核心竞争力,怎样才能避免刚入行就不停被灌输的那个35岁中年危机。

我看过很多别人的经验总结,结合我自己的工作经历,慢慢有了一点自己的感悟,想要分享出来,希望对大家能有帮助。

我用一句大白话说一下我自己对核心竞争力的总结就是:不同的场景,挑选合适的方法,获得最大的效果。

这句话很浅显,但是想要做到绝非没那么简单!!这需要我们长年累月的经验积累和总结。

接下来,我会模拟一个工作场景,讲讲究竟核心竞争力体现在哪些方面,以及怎么才能不断提升自己!!

0. 背景

假如现在接到了一个新的业务方的需求,你第一步要做什么?

打开冰箱,把大象...啊,不对

1. 需求定性

首先第一步,我们需要对这个需求定性,定方向,它是属于文本分类任务?命名体识别?还是机器翻译?不同的方向我们使用的方法和侧重点就会不一样。当然,很多时候一个需求不仅仅是一个任务,多数情况下是多个任务的结合,这个暂且不论。

2. 调研

好的,现在定好了方向,比如是关于一个文本分类的任务,接下来是要做调研。

调研主要是分为两个部分:数据和模型。

调研数据:对于一个算法工程师,处理数据绝对是占据一天绝大部分时间,很多人调侃自己是 SQL BOY 。但是我想要说的,数据决定模型的上限,这句话绝对是真理。只有真正的了解我们的数据,才能在接下里的任务中作出好的结果。

你需要知道你的数据量级大概是多少;不规范的数据多不多;需不需要做数据增强,针对当前这份数据哪种数据增强技术可能效果会不错;有哪些特征可能组合起来会有用等等,这些都需要在调研数据的时候值得我们仔细思考。

这里插一句,如果数据很不规范,在这个时候你就要思考是从模型下手还是从数据本身下手,各自有什么合适的方法。比如你可以看看这些不规范的数据究竟有什么特点可以利用。比如是不是可以不分词,而只是使用基于字的模型,等等吧。

在数据处理这个过程中,因为现在很多公司数据都存在 Hive 中,所以会用到 MapReduce,Hive,Spark 等等大数据开发工具,掌握这些工具绝对可以让你轻松搞定数据处理。

调研模型:宗旨就是根据不同的要求,使用合适的模型。你需要综合各方面的条件作出决策。如果业务方需要高准确度,选择什么模型能满足要求。如果业务方需要高响应速度,选择哪种模型合适。针对当前这种数据,哪种模型可能效果会不错。

还是以我们这个文本分类这个需求为例,如果看中速度,FastText会不会更好一点,或者TextCNN怎么样?如果要求精度,那么Bert可以吗?或者宽松一点 Albert怎么样,FastBert怎么样?

在这个过程中,你需要去读大量的论文和博客,看看别人的经验和总结,帮助自己作出最终的决定。

3. 训练/优化模型

模型的训练和优化,一般来说不会占据的太多的时间。有句话忘了在哪里看到的了,说是处理数据花了两周的时间,训练模型花了两个小时。听起来可能有点夸张,但是是这么个意思。在这个过程中,你的主要工作就是需要使用代码实现模型,去思考怎么样才能更高效的运行这个模型,需要去思考怎样才能获取更好结果?

比如说,使用 GPU 进行训练模型,你需要熟悉模型/数据并行化的知识。比如说,针对特定任务,修改损失函数,修改优化函数,等等吧。

4. 部署上线

我们需要为开发人员提供接口,从而可以处理数据返回结果。这个时候,你就要思考你的接口响应速度怎么样?做多可以多少并发?针对这种情况,自己做一个简单的压测就可以。一般来说,你需要掌握 grpc,kafka,flask,nginx 等常用工具。当然,这些你不需要精通,如果需求方对接口要求很高的话,你可以使用一些成熟的开源框架就可以,所以,不用太慌。

好了,大概就是这样,整个流程我们有着极强的耐心,而且要不停的从过程中积累经验。

5. 总结

总结来说,要想提高自己的核心竞争力,做到两个方面:算法+工程 。

对于算法,要深入底层,把手弄脏。算法模型重点在质量,而不是数量。既然要搞一个模型,就要彻底把它搞清楚,要把它掰开了揉碎了琢磨,不要似是而非。

对于工程,你需要有大数据开发能力和模型训练部署能力。

两个都要抓,两手都要硬,才能无往不利。其实,在这方面,我做的也很不好,人都是有惰性的,大道理说起来一套套的,做起来就是个行动的矮子...

然后我痛定思痛,想逼自己一把,于是几天前就建了两个NLP仓库。

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

本文分享自 算法美食屋 微信公众号,前往查看

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

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

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