NLP 算法工程师转向底层实现可行吗?有没有大神有经验或者建议呢

2019-12-18 13:49:01 +08:00
 x5942110

初来乍到,用语不对请包涵

背景

浑浑噩噩选了 NLP 方向,庸庸碌碌硕士毕业。进了公司根据需要做 文本摘要 方向,至今已 2 年半矣。 工作从入职到 1 年半时还算顺利,之后陷入瓶颈。 有两个点让我比较困惑: ( 1 )自认为代码能力在团队中上,但科研能力怕是最低一档——没有写论文经验,没有科研经验。然而在算法团队,代码能力不是核心能力,而科研短板却比较突出;且没有很好的机会(比如有人带,有充裕时间搞研究)来有效提升科研能力 ( 2 )对 DL 在文本生成的前景有些迷茫:BERT 之后的效果是让人吃惊的,但是依然不太可控,基于统计的本质没有改变(个人观点);而学术界忙于刷分,对于真实存在的问题熟视无睹或者无能为力。个人觉得跟着这个领域还是在前沿探索的阶段,而我有些怀疑自己是否有这个能力站在该领域的浪潮之上?

近年来,DL 强化了对底层架构(如 NN 框架)、芯片的需求,而我国在这方面似乎还有些欠缺。这似乎是一个机会?但国内的环境是否成熟呢?似乎不是。

想法

程序员挺好的,我挺想长期做下去的。这就要求我得有积累,而不是重复。 个人意愿上,我有比较强地把东西做好的意愿。所以我希望可以在某个领域深耕。 目前做的工作,我觉得积累有限:没有在前沿,做得多的是系统实现、跟踪最新模型效果(这块都因为时间关系没有做好!)。我感觉再这么下去,自己可以被轻易开除。

所以萌生了转方向的想法。

主要有 2 个思路:

  1. 转向更可落地的 NLP 方向: 如情感分析、信息抽取等
  2. 往底层走,先尝试做框架,再尝试做芯片

思路 1 的话代价、难度应该小一点,毕竟现在 SOTA 模型比较通用,更多地是去熟悉任务和历史方法。问题就是自己还是在 NLP 领域内,可能最后还是没有积累啥核心竞争力

思路 2 转行难度太大了,但是自己目前内心比较想尝试。总觉得这个领域积累更加多,被替代的可能性更小。

问题

( 1 )做 NLP,有没有什么能力可以持续积累而不是随时间贬值?

( 2 )转行做框架类代码的开发,要求是什么,好不好转行? 这种东西有壁垒吗?

( 3 )芯片,几乎 0 基础可以转过去吗?可以一步步做到非常好吗?

附加问题

如果你是我,你会怎么选择未来?

2353 次点击
所在节点    程序员
13 条回复
Raymon111111
2019-12-18 14:22:25 +08:00
对绝大多数人来说, 技术的唯一出路是管理线.
wangkai0351
2019-12-18 14:48:56 +08:00
建议楼主追寻一下某个科学领域和技术方向的历史发展渊源,这样你能看清一个东西的本质,比如神经网络追寻到达特茅斯会议之前到二战后,当然如果你对 AI 痴迷,应该已经这么做过了,问问自己是不是真爱。为什么从 model-based 发展到 data driven,两者的各自优缺点有很多,你的理论水平和实践支持你自己理解这种差异到哪个层次深度了。把这些问题搞清楚,你后面会选择一个更“正确”的有意义的落地场景(算法团队)。AI 走的太快,容易忘记了初心是什么。
yangyaofei
2019-12-18 15:58:03 +08:00
确实,前几个月,一直在想怎么优化 bert,这个东西太好用了,或者说 dl 的东西都特别好用,但是,计算量太大,没得玩啊原来单核能跑的,现在要 1080ti,还没原来快………
chunhua20
2019-12-18 16:19:23 +08:00
你的这个方向,V 友应该给不了多少参考,这里还是以写代码为主。你没有科研写论文经验,但这不妨碍你读论文,读论文也可以搞研究。
TimePPT
2019-12-18 16:43:30 +08:00
文本生成现在不是流行 GPT-2 么
TimePPT
2019-12-18 16:45:45 +08:00
以及,文本摘要 Summary 抽取这个其实比情感倾向分析好落地,至少资讯站,脱水研报这类场景是十分确定的。
Harv
2019-12-18 17:53:54 +08:00
1.做 AI 算法落地的需求确实大,国内现在一般是嵌入式软件的开发岗在搞这块。我不敢给建议说该不该转。因为需求虽然大,但这类岗位的待遇确实比纯做算法的差一大截;
2.除了算法基础,这类 AI 落地的岗位更注重底层知识,比如优化(这只是其中一个巨坑,你可以搜下 SIMD 优化这个关键词)。如果你能打完这基础,加上你算法背景,那国内 AI 公司随您进,真的;
3.往芯片靠是指 AI 芯片吗? hmm...现在 AI 芯片主要是 NVIDIA 和 XILINX 两个阵营在抢市场。我觉得用前者的平台摸下 GPU 编程就够了。后者是搞 FPGA 的,楼主没有硬件基础直接放弃考虑这方向吧。
ihtMaaN9b41ewLSU
2019-12-18 18:20:59 +08:00
楼上 @Harv 说的对 另外 NLP 实现更难, 感觉有点鸡肋, 通完应用的路比较漫长. 关于优化有跨平台自动化的 TVM, 底层线代库 OpenBlas, 作者都有 PPT 介绍底层实现, 看下就知道难度了.
x5942110
2019-12-21 00:38:08 +08:00
@wangkai0351 感谢,对于您的建议我一定采纳
x5942110
2019-12-21 00:43:38 +08:00
@TimePPT 嗯嗯,gpt2,bert 系都是是近年的 sota 模型。摘要抽取落地是有一些,但是想要持续优化太难了。摘要这个问题太难,很容易感到现在算法只是在处理浅层的统计信息,没法“理解”。情感分析之类的简单一些,应用形式也比较多,看起来挺有意思,当然这也只是我局外人看的样子
x5942110
2019-12-21 00:58:47 +08:00
@Harv 🤣 SIMD,是单指令多数据吗,应该是大学计算机体系结构学过的,当时就觉得这种太复杂了,需要费功夫
算法落地我们这边好像也有人做,据说涉及到指令级别的代码编写了,或许有一定的门槛?
考虑芯片是因为最近的 myz 风波,感觉中国需要自己做大做好这一块,当然这块入门的确很高……我也感觉不太能直接转向这个可能
我想做的框架更多是指(神经网络)系统框架等,类似 tensorflow 这种,它在应用与硬件之间,感觉好上手一点,但感觉岗位少,自己又没啥特长,怕是找不到这种好工作……
感谢您详尽的回复,受益匪浅
x5942110
2019-12-21 01:02:45 +08:00
@vvsmallv 感谢~
嗯嗯,这块我大概听说过,openblas,mkl,cudnn 还有再底层一点的 eigen 这些
我不太清楚做这些底层设施的人都是怎么上手的,是公司支持,还是自己业余写写呢。我真得去多了解了解了,不能总在门外看
x5942110
2019-12-21 01:15:06 +08:00
隔了 2 天才来看,非常感谢各位。
我特别想能找到一个方向好好的持续做下去,但现实中发现是很困难的。一种可能是方向难度大,自己没有推动这个方向前进一点点的能力;一直可能是一直重复,根本触及不到方向的前沿,不能深入下去。
我觉得这或许才是现实。
这一年基本都在无意义加班,感觉什么都没长进,内心惶恐不安。但静下心来,或许这些都是过程吧,不经历这些,怎么知道什么是想要的,什么该去珍惜和争取

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX