查看原文
其他

现在的计算机专业已经沦为调包专业了吗?

爱德宝器 数据管道 2021-08-09

  编辑:爱德宝器 

本文仅做交流分享,非用于商业用途,相关作者回答已说明来源。


问题背景:
小弟现在正在高校读硕士,目前跟着导师做自然语言处理的研究,虽说听起来高大上,但是做过的都知道,例如深度学习框架跑起来就是各种调包,运气好凑个模型出来发发论文,技术含量就比较稀少了,感觉现在的工作随便找个由点编程经验的培训一下就能上手了。
所谓外练筋骨皮,内练一口气,想请教一下各位大佬:你认为计算机专业真正的价值在哪呢?把编程部分剔除之后,计算机真正该研究的是什么呢?它的气又在哪儿?
高赞回答:
作者:霍华德
https://www.zhihu.com/question/327494084/answer/721135096
我想你可能做了虚假的AI,虚假的AI有以下特点:
  • 从不自己收集、处理、清洗、标注数据,而是找一个现有的数据集,疯狂 过拟合数据集。
  • 科研idea主要来自于各种模块的花式排列组合,包含但不限于:各种CNN,各种RNN,各种attention,各种transformer,各种dropout,各种batchNorm,各种激活函数,各种loss function
  • 而不是从实际问题和自然语言的现有挑战出发来思考idea
  • 总是指望靠一个算法、一个模型可以解决所有问题
想做好真实AI,必须:
  • 不断反馈,分析,改进。据说谷歌的搜索质量负责人Amit Singhal博士每天要看20个以上的不好搜索结果,然后持续不断的迭代改进。
  • 面对真实环境中获取数据难,数据标注成本高,数据脏难清洗等问题
  • 从实际问题和自然语言的现有挑战出发,设计针对问题最适合合理有效的模型
  • 从不指望一个算法和问题可以解决所有问题,所有遇到的问题会做出合理的分析和拆解,针对各个难点设计最优解决算法,各个击破。


作者:么西么西
https://www.zhihu.com/question/327494084/answer/720970511
我永远都忘不了老师曾经对我说过的话:
The reason why we call it Deep learning is that it is shallow.

同时表达一下我对机器学习的发展预测:
某年某日忽然出现一个从原理到实践都完善的通用方法,于是曾经发表过的95%的paper变为废纸;

接着大家开始在通用方法上寻求提高,比如加速和压缩,某一天又出现了一个从原理到实践都完善的加速/压缩算法,于是曾经发表的99%的paper变为废纸;
然后大公司打包了这个通用方法,在软件平台上把输入输出规范化,将deep leaning完全做成高中生可以入手的平台,deep learning的高速发展从此终结,只剩下少数实验室和大公司合作,提供泛善可陈的新尝试。

以上流程在EE行业已经走了不止一遍,deep learning就是下一个。

作者:zhongyian
https://www.zhihu.com/question/327494084/answer/712071015
个人认为,机器学习的本质是模式识别+优化。
对于这两点需要从理论和应用两个角度来解决,说白一点,其实就是机器学习理论和算法落地应用。
理想状态下,这两点应该对应算法研究员和调参工程师。没错,你没看错,就是调参工程师。粗略的看,研究员解决的事模式识别的问题,工程师解决的是优化的问题。
1、算法研究员
算法研究员数学要好,兼以还不错的编程能力。能够在理论上有所突破,构造新的问题,创新性的改进算法。

2、调参工程师
计算机专业讲究的是“站在巨人的肩膀上”,很多事情其实是不需要你有扎实的理论基础,也不需要你重复造轮子。调参工程师就是这么一个存在,这类人应该有ML相关的理论基础,能够看懂模型图,高效的实现模型,并且有很好的数据敏感性,能够根据具体的应用场景调节模型结构和参数,使得模型能够在实际场景中work。这并不要求调参工程师数学有多好,但一定要有很好的“直觉”,编程能力也要扎实一些。

3、两者都有存在的必要吗?
非常有,这两类人其实面对的是分别是学术界和工业界,这并不冲突。算法研究员主要负责理论研究发展,保证该领域的稳步推进,调参工程师主要负责工业界的算法落地,为企业创造商业价值。一个很简单的道理,算法研究员可以称为researcher了,一个领域所有人都是researcher,咋可能呢?

4、既然两者都要存在,为什么大家这么瞧不起调参工程师?
很遗憾,二者的界定很容易模糊。机器学习目前更多的是实验科学,很多时候有着很好直觉的调参工程师通过实验证明了方法的有效性,然后再去找对应的理论支撑,同样可以优美的解决一类问题。从顶会文章就能看出来,绝大部分工作是调参工程师通过改了一点网络结构和参数总结出来的(总结出的文章到底有没有价值,这里不讨论)。

可是大家天然的以为,发了顶会文章的就是算法研究员,江湖上所谓的调包侠(半路出家,学了Andrew Ng的课,看了西瓜书,略懂皮毛)就成了调参工程师,导致大家觉得调参工程师很垃圾,可是这类调包侠比起调参工程师差的可不是一点半点。

5、回答题主问题
明确了算法研究员、调参工程师、调包侠的概念,感觉楼主质疑的应该是,明明是调参工程师,却在顶会上灌水,自诩算法研究员,明明就是个水货调包侠,却自诩调参工程师。只能说,没办法。。。。。

一个领域崛起,少不了泡沫的积累,并且还是这种听起来高大上,相对易于上手发文的方向,对于硕博士的吸引那是相当大。同时工业界又有资本的不断注入,薪水节节攀升,太容易吸引来自各方的人才了,答主遇到过自动化、电子、机械等各个工科专业的人转行做算法,结果么,有好有坏,二八定律,不能一概而论。

而对于调包侠,我觉得发展的前路在于依托自己本专业的知识,运用机器学习稍微解决一些本领域的基础简单问题。即,人工智能+,但主要方向还是要在自己的专业中。
但是楼主也无需担心,大浪淘沙,剩下的终归是感兴趣,有能力的人,去年算法秋招的形势想必会劝退一波调包侠,那么深度炼丹的调参工程师回归本职工作的日子也就不远了。


作者:EssalToal
https://www.zhihu.com/question/327494084/answer/723958926
至于调不调包,其实你从写hello world开始,就已经开始调包了。调不调包其实不重要,关键在于你调包解决了一个什么问题。如果这个问题重要,其实你调包也没什么。
在计算机这个方向,有一个很重要的概念就是层层抽象,比如你写一个printf你不需要关心它底层怎么做的。不要过于强调创新,要强调解决一个现实的问题。只要你能解决一个现实的问题,你调不调包也没啥。
只有站在巨人的肩膀上,才能看得更远。为什么你们写作文的时候都知道这句话然而换一个衣装你们就不认得了呢。


作者:SmoothNLP
https://www.zhihu.com/question/327494084/answer/706317056
先抛观点:
轮子造了就是用来造车的. 但是车好不好, 还是要看造车的人懂不懂轮子.
题主是做NLP, 我就拿NLP行业内, 工业界用的最多的项目之一Hanlp说事儿. 用HanLP我相信看帖的有不少人也用过, 但是懂HanLP架构 和 优势, 提交过Issue 甚至源码, 又敢问你做到了吗?

你是否能在别人搭好的轮子上, 拓展你自己的算法?


如Hanlp作为一门java实现的oop平台, 对每一个nlp task都设计了interface来规范. 举个例子, 切词这个nlp任务, 你在工业实操中, 可能都会在应用领域上做一些加强, 你是不是能把你的实现在别人的框架上推上线, Hanlp火爆的重要原因是他支持了Apache ES的插件, 你的算法实现能力是不是能从基础原型一直落地到真正的工业应用并产生feedback?

在这里, 我鼓励每个开发者, 如果你担心自己成为调包侠, 不如先做一个修包侠, 毕竟轮子修着修着, 车也就会造了.



作者:凌天
https://www.zhihu.com/question/327494084/answer/702680887
虽然我是你的学弟,本科在读,但我觉得各行各业莫不如此。只要不去搞研究,进了公司都是技术上的螺丝钉,哪个行业不是在调包(调用前人的研究成果)呢?

细分、合作让人类发展出来灿烂文明。一个人做全栈工程师尚且有些困难,能让他做软硬件一体的工程师吗?从指令集开始还是从沙子开始?拿来主义没什么错,重点在于你自己是否找到了不可替代的一个位置,在这个位置上坐稳了,就可以钻研自己的领域了。

当然,有自己的领域也不意味着高枕无忧。行业变化,别人造出了新的轮子,也许你的位置就不被需要了。这种变革的契机对舒适区里的人是一种阵痛,但何尝不是机会呢?
我时刻问自己,我是谁,我在哪,我要去哪。


作者:爱德宝器
回答:我一个连sklearn、tf都还没撸熟的人好像不配回答这个问题。


<Data Pipeline For All learner>

<更多好文推荐>


数据科学精简版PDF,助力复盘你的DS知识圈!

你的身份证校验合法吗?Python告诉你。

长按上图,弹出“识别二维码”后关注


更多有趣内容,咱们在看~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存