V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
x5942110
V2EX  ›  程序员

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

  •  1
     
  •   x5942110 ·
    memeda · 2019-12-18 13:49:01 +08:00 · 2364 次点击
    这是一个创建于 1807 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    背景

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

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

    想法

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

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

    主要有 2 个思路:

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

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

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

    问题

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

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

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

    附加问题

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

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