NLP算法岗一年半的工作总结--聊聊什么才是NLP算法工程师的核心竞争力

首发公众号:【 NLP从入门到放弃】--日常更新技术分享

先简单自我介绍一下,我任职在一家社交公司,做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各种面试题的仓库(这个我自己的笔记还挺多的,慢慢上传吧,我自己也再复习一遍):

github.com/DA-southampt

一个仓库是关于各种模型是如何在各大公司实战落地的。地址在这里:

github.com/DA-southampt

对于这个仓库,我也没想到,这两天star数目对于我来说还挺多的。

我自己思考,可能大家都有这么一个痛点,只知道模型是啥没什么用,还得知道模型真正怎么用才是王道。

所以感兴趣的朋友可以去看看,如果能给大家带来一点帮助,就很开心了,我会持续更新,争取每篇文章都带有新的思考,而不是新瓶装旧酒。

打完收工,点个赞,这样我在天堂超市可以开心的多喝几瓶!鞠躬感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 349. 两个数组的交集(哈希)

1. 题目 给定两个数组,编写一个函数来计算它们的交集。 示例 1:输入: nums1 [1,2,2,1], nums2 [2,2] 输出: [2] 示例 2:输入: nums1 [4,9,5], nums2 [9,4,9,8,4] 输出: [9,4] 说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。来源&am…

Android官方开发文档Training系列课程中文版:创建自定义View之View的创建

原文地址:http://android.xsoftlab.net/training/custom-views/index.html 引言 Android框架含有大量的View类,这些类用来显示各式各样的数据,并可以直接与用户交互。但是某些时候,APP有一项很特殊的需求,但是框架中…

论文浅尝 | Iterative Cross-Lingual Entity Alignment Based on TransC

论文笔记整理:谭亦鸣,东南大学博士。来源:IEICE TRANSACTIONS on Information and Systems, 2020, 103(5): 1002-1005.链接:https://www.jstage.jst.go.jp/article/transinf/E103.D/5/E103.D_2019DAL0001/_pdf介绍这篇论文关注的任…

ARKit:增强现实技术在美团到餐业务的实践

前言 增强现实(Augmented Reality)是一种在视觉上呈现虚拟物体与现实场景结合的技术。Apple 公司在 2017 年 6 月正式推出了 ARKit,iOS 开发者可以在这个平台上使用简单便捷的 API 来开发 AR 应用程序。 本文将结合美团到餐业务场景&#xff…

腾讯天衍实验室新算法入选国际万维网大会 新冠疫苗AI问答上线

新冠疫苗的效用和安全性如何?怎么预约接种新冠疫苗?哪些人可以接种新冠疫苗?接种新冠疫苗是否收费?进入年底,随着全国新冠疫苗接种工作规范有序开展,各地接种人数在不断增加,但在逐步面向全民推…

百度一口气亮出NLP十年积累:完整技术布局全面披露,面向业界砸下11项七夕大礼

百度一口气亮出NLP十年积累:完整技术布局全面披露,面向业界砸下11项七夕大礼:https://zhuanlan.zhihu.com/p/197625888

Android官方开发文档Training系列课程中文版:创建自定义View之View的绘制

原文地址:http://android.xsoftlab.net/training/custom-views/custom-drawing.html#draw 自定义View最重要的部分就是它的样子了。自定义View的绘制根据应用的需要或者简单亦或者复杂。这节课的内容涵盖了大多数通用的知识点。 重写onDraw()方法 绘制自定义View…

LeetCode 965. 单值二叉树

文章目录1. 题目2. 解题2.1 递归2.2 循环1. 题目 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。 2. 解题 2.1 递归 class Solution { public:bool isUnivalT…

论文浅尝 - SIAM ICDM 2020 | 基于图时空网络的知识引导的诊断预测

论文笔记整理:吴锐,东南大学硕士。来源:SIAM ICDM 2020论文下载地址:https://epubs.siam.org/doi/abs/10.1137/1.9781611976236.3 动机基于电子病历(EHR,Electronic Health Records)对患者未来的…

Oceanus:美团HTTP流量定制化路由的实践

背景 Oceanus是美团基础架构部研发的统一HTTP服务治理框架,基于Nginx和ngx_lua扩展,主要提供服务注册与发现、动态负载均衡、可视化管理、定制化路由、安全反扒、session ID复用、熔断降级、一键截流和性能统计等功能。本文主要讲述Oceanus如何通过策略抽…

对商品的评论进行数据挖掘得到评论标签(商品属性+评论观点),以及用户的分组信息

对商品的评论进行数据挖掘得到评论标签(商品属性评论观点),以及用户的分组信息: 第一步:对文本进行预处理,分词并进行语义角色标注 # -*- coding:utf-8 -*- import os from pyltp import Segmentor, Post…

文本对抗攻击入坑宝典

文 | 阿毅编 | 小轶如果是咱家公众号的忠实粉丝就一定还记得之前咱家一篇关于NLP Privacy的文章,不出意外的话,你们是不是现在依然还担心自己的隐私被输入法窃取而瑟瑟发抖。所以,我们又来了!今天给大家讨论的是NLP Privacy中一个…

Android官方开发文档Training系列课程中文版:创建自定义View之View的交互

写在前面的话:这一章很有价值,想要提升安卓知识的一定要读一读。不做安卓的也可以得到其它方面的提升。 原文地址:http://android.xsoftlab.net/training/custom-views/making-interactive.html UI的绘制只是自定义View的一部分。你还需要使View可以以…

LeetCode 350. 两个数组的交集 II(哈希)

文章目录1. 题目2. 解题2.1 hash2.2 数组已排序1. 题目 给定两个数组,编写一个函数来计算它们的交集。 示例 1:输入: nums1 [1,2,2,1], nums2 [2,2] 输出: [2,2] 示例 2:输入: nums1 [4,9,5], nums2 [9,4,9,8,4] 输出: [4,9] 说明:输出结果中每个元…

会议交流 | CCKS2020 第十四届全国知识图谱与语义计算大会

CCKS2020第十四届全国知识图谱与语义计算大会China Conference on Knowledge Graph and Semantic Computing, 2020南昌.江西,11月12日-15日主办: 中国中文信息学会语言与知识计算专业委员会承办: 江西师范大学会议网站:www.sigkg.cn/ccks2020大会主题&a…

用微前端的方式搭建类单页应用

前言 微前端由ThoughtWorks 2016年提出,将后端微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。 美团已经是一家拥有几万人规模的大型互联网公司,提升整体效率至关重要,这需要很…

Android官方开发文档Training系列课程中文版:创建自定义View之View的优化

原文地址:http://android.xsoftlab.net/training/custom-views/optimizing-view.html 现在已经完成了一个拥有良好设计的View,它即可以响应手势,又可以在状态之间过渡。为了避免View有卡顿的感觉,需要确保动画始终是按照每秒60帧…

12种NumpyPandas高效技巧

文 | Kunal Dhariwal本文分享给大家 12 种 Numpy 和 Pandas 函数,这些高效的函数会令数据分析更为容易、便捷。最后,读者也可以在 GitHub 项目中找到本文所用代码的 Jupyter Notebook。项目地址:https://github.com/kunaldhariwal/12-Amazing…

LeetCode 1002. 查找常用字符(哈希)

1. 题目 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符…

抖音算法推荐机制详解

抖音算法推荐机制详解!(科普向) 众所周知抖音的流量分配是去中心化的,这种去中心化算法,让每个人都有机会爆红,可为什么别人几个粉玩抖音,就能轻松获得10w点赞?而你怒拍几十条也枉然? 抖音的…