作者alden (这真是太危险啦)
看板Soft_Job
标题Re: [请益] 想从零开始转行当AI软体工程师
时间Fri Nov 12 05:42:12 2021
我来散布一些正能量好了
小弟在FANG的英国的一个一直赔钱的AI子公司工作4+年了。
其实我觉得数学真的没那麽重要,除非你是要做理论的。
又不是每个人都是Ian Goodfellow, Ashish Vaswani, 还是 David Silver.
就算是这些重要的工作,也不见得数学有很深吧?
我的数学只有高中程度而已,还是能follow他们的works.
(BTW, 我不是科班的。所以数学只有高中程度)
我的观察啦,能写出好的bug free code 比数学或统计好要来得更重要。
毕竟大家还是都在接水管。只有很少很少部分的人在improve水管。
怎麽import tensorflow/pytorch/jax, 把该接的东西接一接其实比较实在。
所以说到底,还是刷题比较实在。先确定有基本的algo/ds的实力。
我看国外machine learning engineer / data scientist的opening
应该还是很多吧。
我的理解MLE的interview也是主要考leetcode XD
台湾的情况我就不清楚了。
ML还是满有趣的。希望有多一些人能加入。不要被一些自己预设的条件吓到了。
程式写好(python is good enough. I see nothing wrong with python)
会接基本的DL model. 有高中程度的机率,统计.
再刷一下Leetcode. 你也可以apply FANG 的MLE哦 XD
再多说一点,其他方面的能力也是很重要的。
基本的英文沟通,准备preso,和别人解释code/model的能力。
这些其实我都觉得比数学好要重要太多了。
当然,数学能好当然更好。这一直是我的痛点。
不过在大公司接水管真的不太有机会用到.
Just my 2 cents. :)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 94.15.237.14 (英国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1636666935.A.A14.html
1F:推 niobafrog: 该不会是DeepMind吧 11/12 06:11
2F:→ niobafrog: ...跪 11/12 06:11
3F:推 empliu: 感觉原po隐藏蛮多重要讯息的 11/12 07:18
4F:→ empliu: 原po的高中是建中 ... 11/12 07:18
5F:→ empliu: 大学是台大 然後有 PhD 学位 = = 11/12 07:18
6F:→ empliu: 这种重要背景资讯还是留一下 不然会误导人 .. 11/12 07:20
7F:→ alden: 是建中,但不是台大。有PhD,但不是数学物理或CS... :p 11/12 07:33
8F:推 drajan: 数学不好真痛 小弟也是在英国FANG但不是直接做 modeling 11/12 07:57
9F:→ drajan: 虽然 engineering这种工作也很重要 但就是感觉没有 resear 11/12 07:57
10F:→ drajan: ch scientist或ML engineer这种双修的来得厉害 11/12 07:57
11F:→ drajan: 如果「只是」engineering 的职位确实leetcode重要性要大於 11/12 07:59
12F:→ drajan: 数学多的多了 毕竟能改变世界的模型就那些人在搞 基础的工 11/12 07:59
13F:→ drajan: 程还是需要有人做 11/12 07:59
14F:推 KingSteven: DeepMind先跪……管他赔不赔钱,有神先跪再说…… 11/12 09:18
15F:推 fr75: 原po有Phd 应该是国外大学的 不能这样推荐人 国外公司最爱 11/12 09:54
16F:→ fr75: 找Phd的 尤其是研发类 人家看到一个phd想做水管工当然巴不 11/12 09:54
17F:→ fr75: 得你进啊 11/12 09:54
PhD真的没有比较厉害啦。我们公司很多Master degree的也很强。
而且还不是一样要刷leetcode, 公平啦 XD
18F:嘘 BigHeadDoggy: 会接基本的DL model. 有高中程度的机率,统计. 11/12 10:22
19F:→ BigHeadDoggy: 再刷一下Leetcode. 你也可以apply FANG 的MLE哦 XD 11/12 10:22
20F:→ BigHeadDoggy: 你知道自己在说什麽吗 11/12 10:22
我可能写得比较夸张啦,但我要表达的是code写好真得比较重要。
21F:推 stmilk: 我没在那个世界待过我实在也不知道数学到底重不重要。“ 11/12 10:52
22F:→ stmilk: 上帝关一扇门会开另一扇窗“,这句话不管是心灵层面还是 11/12 10:52
23F:→ stmilk: 实务层面都很实在,而且我不喜欢怨天尤人,所以我现在也 11/12 10:52
24F:→ stmilk: 是乖乖刷leetcode和补充现在一堆公司要求的distribution 11/12 10:52
25F:→ stmilk: system的底,好险之前资料结构和演算法其实读很多遍刷起 11/12 10:52
26F:→ stmilk: 来挺快乐的,不确定这条路是不是相对好的选择,但试试没 11/12 10:52
27F:→ stmilk: 损失。 11/12 10:52
其实我就是看到你的文章才想po这篇的。
补好leetcode 和 distributed system design确实对MLE interview比较有用
DS的话,可能数学和统计还是比较重要一点。
※ 编辑: alden (94.15.237.14 英国), 11/12/2021 11:24:44
※ 编辑: alden (94.15.237.14 英国), 11/12/2021 11:25:57
28F:推 everglow: 这篇太乐观了 这正向到有点偏离现实太远了 11/12 11:31
29F:→ everglow: 国外FANNG本来就很爱找phd不管有无跟AI相关的人来做ML 11/12 11:32
30F:→ everglow: 而且你应该又是很早进入这个领域的 这样比较不太公平 11/12 11:33
31F:→ everglow: 事实上 数学重要吗 很重要 但实务上要大量用到数学的缺 11/12 11:34
32F:→ everglow: 根本少到可以 11/12 11:34
33F:→ alden: 嗯。早个5年的bar真的低很多。 11/12 11:40
34F:→ alden: 而且台湾这个领域的求职看起来比国外竞争多了! 11/12 11:42
35F:推 everglow: 台湾是产业问题 ai无法做大 缺太少了 11/12 11:53
36F:→ everglow: 不过我相信原po这麽优秀 哪个时间点都可以相对容易找 11/12 11:54
37F:→ everglow: 现在一堆都要leetcode 连DS考online assessment成常态了 11/12 11:56
38F:→ everglow: 某方面来说 也是要刷leetcode ... 11/12 11:56
39F:→ DrTech: 连Google 在发很多重要论文,都没在用数学,还很多人一直 11/12 12:34
40F:→ DrTech: 把数学推导神话,没必要。做出效果来最重要啦,慢慢推什麽 11/12 12:34
41F:→ DrTech: 数学。 11/12 12:34
42F:→ DrTech: 搞不好我甚至觉得,大家都是没靠数学做出效果,再来为了投 11/12 12:36
43F:→ DrTech: 稿堆出数学的。 11/12 12:36
听起来很有道理。idea再好,没有SOTA也很难发paper
44F:→ DrTech: 数学好不好,会不会推导,在业界真的是很微乎其微的重要。 11/12 12:37
45F:→ DrTech: 效果无法证实,在哪慢慢推数学理论,根本上不了台面。 11/12 12:38
46F:→ DrTech: 去搞传统BI,做统计都比做AI还更需要数学。 11/12 12:39
47F:→ DrTech: 工程师这三个字,就代表了,工程结果最重要了。要算数学可 11/12 12:42
48F:→ DrTech: 以去找科学家,研究员职缺。 11/12 12:42
49F:→ DrTech: 在哪慢慢推数学根本推不出来 BERT, Transformer之流的方法 11/12 12:46
50F:→ DrTech: 才是真的。 11/12 12:46
51F:→ DrTech: Transformer模型架构为什麽大放异彩,数学也证实不出来。 11/12 13:07
好问题。为什麽Transformer这麽有效?
52F:→ DrTech: 这也是现况。实务结果证实後,发表时才会回去推数学。 11/12 13:07
53F:→ DrTech: 一般正常工程师,根本做不到这块。 11/12 13:08
54F:推 everglow: 很认同 所以面试在那边考推导准备证明根本有事吗 11/12 13:19
真的有人面试考证明?
55F:推 kiwi946946: 会考大概是面试者没有能呈现的做品经历,那面试官也只 11/12 13:35
56F:→ kiwi946946: 能考这个了 11/12 13:35
57F:→ recorriendo: Google是Google啊 它甚至发ethics论文大家也都抢着 11/12 13:38
58F:→ recorriendo: 引用 用这个当判准很奇怪 11/12 13:38
59F:→ recorriendo: Transformer就是需要一点矩阵数学推导才能把self a 11/12 13:47
60F:→ recorriendo: ttention这个idea变成code啊 (不然就会变成很丑的n 11/12 13:47
61F:→ recorriendo: ested for loop) 11/12 13:47
62F:→ recorriendo: 当然接水管的是没差 不过说不懂数学就可以发明LSTM 11/12 13:49
63F:→ recorriendo: 、Transformer太夸张了 11/12 13:49
You got me wrong there.
我说99.9%的人是用transformer. 不是发明transformer.
64F:推 recorriendo: 这串我觉得很多是talking past each other 大多数人 11/12 13:55
65F:→ recorriendo: 提数学是这个层级的推导 可能这些对有PhD的大大们真 11/12 13:55
66F:→ recorriendo: 的是像加减乘除一样简单 所以才会说不需要很多数学 11/12 13:55
67F:→ recorriendo: 实际上相对普通SWE这确实是"很多"了 11/12 13:55
高中数学是夸张了点。但如果念CS大学科系,机率,线代,微积分是基本吧?
68F:推 empliu: 直接来看 Deepmind 的 publications 列表吧 11/12 14:17
70F:→ empliu: 这里说的数学也不是说你数学要多强 11/12 14:17
对啦。我们要先讲好数学强到底是多强?
这些数学对数学系的来说只是加减法吧...
71F:→ empliu: 不过至少要不讨厌数学 而且最基本的那几科有学好 11/12 14:17
72F:→ empliu: 不然 Scientist 给的东西你都看不懂 要怎麽转成工程模型 11/12 14:18
74F:→ empliu: 这是Google研究单位今年投给ICLR被拒转头NIPS被接受的论文 11/12 14:23
75F:→ empliu: 就我所知光这样的数学 很多搞前後端的人都没办法应付 11/12 14:24
76F:推 empliu: 很多搞系统很牛逼的人是很排斥哪怕很基础的数学 11/12 14:27
77F:→ empliu: (不是说加减乘除多项式那种) 11/12 14:27
78F:推 humanfly: 感谢大大的励志文 11/12 14:36
希望这篇有推坑到。不要被说AI/ML一定要数学超强 XD
※ 编辑: alden (94.15.237.14 英国), 11/12/2021 15:40:46
79F:→ DrTech: 所以到底你们版上谁的工作有在投论文的?比例是多少? 只 11/12 15:36
80F:→ DrTech: 会讲,拿出证据吧。 11/12 15:36
81F:→ DrTech: 谁在用 transformer时,会需要去推导数学,或推导了数学对 11/12 15:37
82F:→ DrTech: 工作实务有什麽帮助? 11/12 15:37
83F:→ DrTech: 拿别人少数研究员的工作在说 个,AI工程师的工作需要数学 11/12 15:39
84F:→ DrTech: ,数学推导,有够奇怪。 11/12 15:39
85F:→ DrTech: 人家是要转行当 AI工程师,不是要转行当 AI科学家,AI界 11/12 15:42
86F:→ DrTech: 大牛耶。 11/12 15:42
87F:→ DrTech: 别人要当个普通 AI工程师,你们拿科学家的标准来强调:不 11/12 15:44
88F:→ DrTech: 要当科学家。跳针跳得太夸张。 11/12 15:44
89F:→ alden: 推DrTech 重点还是工程师三个字 11/12 15:45
90F:→ DrTech: 如果今天标题是:如何转行当研究员,科学家。你们这些天天 11/12 15:46
91F:→ DrTech: 在强调数学的人才合理吧。 11/12 15:46
92F:推 stmilk: google那篇我是不知道正常工程师会理解到哪啦,我稍微看 11/12 15:53
93F:→ stmilk: 一下在有时间压力的情况下应该会先简单理解说:这个训练 11/12 15:53
94F:→ stmilk: 可以逼近他们那个定义的应该算可以接受的bias区间,然後 11/12 15:53
95F:→ stmilk: 定理一就是说这个演算法得出来的东西就是会满足他们那个 11/12 15:53
96F:→ stmilk: 定义,定理二在说这个玩意儿还超屌的训练时还会有一个上 11/12 15:53
97F:→ stmilk: 界不会飘的太严重,虽然他们没有讨论这个上界够不够紧XD 11/12 15:53
98F:→ stmilk: ,所以应该还是有个前提是训练的模型存在。然後就实作了 11/12 15:53
99F:→ stmilk: 因为也不难XD这篇论文真的有够学术的,的确工程界根本不 11/12 15:53
100F:→ stmilk: 屌什麽bias什麽的,能上就好。工程界真的要讨论的话统计 11/12 15:53
101F:→ stmilk: 的bias定义又根本不能用,因为只有上帝才知道他们要找的 11/12 15:53
102F:→ stmilk: pattern长什麽样子哈哈哈 11/12 15:53
103F:推 stmilk: 这个在台湾要被实作出来应该还是要等某些英文很好的中国 11/12 15:56
104F:→ stmilk: 人(因为我看网路上好像中国人很热衷翻译这些东西)把它 11/12 15:56
105F:→ stmilk: 的步骤写出来,然後说一下心得才会有台湾人开始实作吧哈 11/12 15:56
106F:→ stmilk: 哈哈 11/12 15:56
107F:推 stmilk: 阿上面说的”训练模型存在”不太精确,精确地说是这个要 11/12 16:00
108F:→ stmilk: 找的问题的解存在,因为现实应用这个假设不一定成立XD解 11/12 16:00
109F:→ stmilk: 不存在那训练时就是放飞自我哪里都有可能跑了哈哈哈 11/12 16:00
110F:→ stmilk: 最後是可以理解这个在工程界应该应用不大因为一般的bias 11/12 16:02
111F:→ stmilk: 影响不会太严重,但对精度要求很重的工业(台积电?)可 11/12 16:02
112F:→ stmilk: 能就会需要了 11/12 16:02
113F:→ stmilk: 而这个训练除了剃度下降还要更新那两个我的理解应该可以 11/12 16:04
114F:→ stmilk: 算是限制函数的东西,这就是成本XD 11/12 16:04
115F:推 libitum: 在讲什麽东西啊 工程师=工程界? 工程界是什麽?? 11/12 16:05
116F:→ libitum: 最好是一个AI engineer完全不考虑bias啦... 11/12 16:05
117F:→ libitum: 台湾业界要不要实作为什麽要等到中国人有人翻译跟心得啊 11/12 16:06
118F:→ libitum: 有需求就会去做啊 心得国外一堆 英文又没那麽难 11/12 16:07
119F:→ recorriendo: 随便举个例子啦 pytorch要选optimizer 当然要懂点数 11/12 16:08
120F:→ recorriendo: 学才能知道adam是在干嘛吧 除非你真的土法炼钢把所 11/12 16:08
121F:→ recorriendo: 有选项都试一遍 那如果需要选择的地方有很多个 你的 11/12 16:08
122F:→ recorriendo: 选项组合就指数级爆炸了 根本不可能一个一个试 11/12 16:08
123F:推 stmilk: 好吧我道歉那样说不对,对不起。然後我也不要代表工程界 11/12 16:08
124F:→ stmilk: 好了至少我之前工作的地方不在乎。 11/12 16:08
125F:推 libitum: 不在乎bias? 那你前公司拿什麽来当evaluation metrics 11/12 16:12
126F:→ recorriendo: 不然去stackoverflow去查哪个选项比较好 把答案背起 11/12 16:12
127F:→ recorriendo: 来 解释都不管 (因为解释至少都牵扯一些数学) 是这 11/12 16:12
128F:→ recorriendo: 样吗?? 11/12 16:12
129F:推 stmilk: 痾....你先去看论文我们再来讨论= = 11/12 16:14
130F:→ recorriendo: 事实就是 就算只是AI engineer 工作上会碰到的数学 11/12 16:15
131F:→ recorriendo: 一定比普通SWE多很多 这到底有什麽好反驳的 11/12 16:15
132F:推 stmilk: 楼上这不就长久以来要数学不要数学的大战吗XD 11/12 16:18
133F:嘘 Murasaki0110: 我也在FANG, 最赌烂的就是没ML背景的MLE 11/12 16:20
134F:→ Murasaki0110: 跑来问model为什麽要吐array 不能吐dict吗 11/12 16:21
有这麽严重吗?包一个wrapper给他不就好了 XD
135F:推 Zoanthropy: 有拿来预测股价吗? 11/12 16:21
136F:推 stmilk: 乾楼上XDDDDDDD 11/12 16:22
137F:→ Murasaki0110: 没人要你做research, 但这些基础都没有是要做啥 11/12 16:22
138F:→ stmilk: 问不能吐dict也太好笑XDDD 11/12 16:22
139F:→ recorriendo: 原PO 我不是回你喔 你原文根本没提到Transformer、 11/12 16:22
140F:→ recorriendo: 发paper 11/12 16:22
其实我有提到transfomrer 的作者 :p
141F:推 pttano: 说得好,原原po去巨匠过过水也稳领五六万起薪,哈哈 11/12 16:38
142F:→ recorriendo: 原原PO问"从零开始"喔 确定机率、微积分、线代对他 11/12 16:43
143F:→ recorriendo: 来说是基本吗?? 11/12 16:43
144F:→ recorriendo: 确实不知原原PO的背景 不过某Dr讲的好像就算文组转 11/12 16:46
145F:→ recorriendo: 职AI都不用念一点数学一样 11/12 16:46
文组可能转前堆比较适合 XD
念数学,物理,经济的改做AI应该就不会太难
146F:推 ohmylove347: Deepmind真的要跪了…可是这乐观的讲法不就像爱因斯 11/12 17:17
147F:→ ohmylove347: 坦说微积分考前翻一下就好了吗XD 11/12 17:17
修正修正
微积分,线代,机率还是要好好学
※ 编辑: alden (104.132.45.79 英国), 11/12/2021 18:28:18
148F:→ final01: deepmind还有其他台湾人?? 11/12 18:43
149F:→ fallcolor: transformer里的核心self-attention的数学特性很多pape 11/12 18:48
150F:→ fallcolor: r分析过了吧 11/12 18:48
151F:推 niobafrog: 有点好奇原Po的实际工作内容,毕竟大家都知道DeepMin 11/12 19:05
152F:→ niobafrog: d做为全世界顶尖的AI Company,工作内容是在focus的研 11/12 19:05
153F:→ niobafrog: 究新领域并且发Top conference的论文吗? 还少那部分是 11/12 19:05
→ niobafrog: 只有特定的Researcher在进行呢? 谢谢
11/12 19:05
想idea -> 接model ->调hyperparams -> 跑exp ---> rinse & repeat
有空我再认真写的自介好了
154F:推 niobafrog: 抱歉 手机打字排版有问题,不好阅读 11/12 19:06
155F:推 aiueokaki: 这系列真的钓到神人了XD 11/12 19:12
156F:→ soccer103: 神人推 但太过幸存者症候群给箭头 11/12 20:19
我觉我只有imposter syndrome (冒名顶替症) ....
157F:→ newhandfun: 太乐观 11/12 20:27
158F:推 KingSteven: 推文有些不是很认同。在AI领域,工程师跟科学家的界线 11/12 21:47
159F:→ KingSteven: 有时候不该分这麽开。工程师就不用懂AI的数学也是蛮 11/12 21:47
160F:→ KingSteven: 不好的,有些数学你不懂,就等於是限制自己的天花板, 11/12 21:47
161F:→ KingSteven: 更别提ICLR、NeurIPS也是很多数学推导的paper啊,这 11/12 21:47
162F:→ KingSteven: 些都是对整体AI的演进是有帮助的,但写这些paper就只 11/12 21:47
163F:→ KingSteven: 能是科学家?不一定吧…至少tier-1公司不会这样限制 11/12 21:47
164F:推 KingSteven: 之前面西雅图微软的一个engineer职位,面试官也是要 11/12 21:50
165F:→ KingSteven: 我当场推导softmax和cross-entropy的back propagation 11/12 21:50
166F:→ KingSteven: 啊…… 11/12 21:50
167F:→ Morphee: 这种大学等级的推导到底算啥麽数学阿 笑死 11/12 22:04
168F:→ Morphee: 机率、微积分、线代不是都大一的东东 扯一堆干嘛 11/12 22:05
我觉得问题是大家对数学够好的定义不太一样XD
※ 编辑: alden (104.132.45.79 英国), 11/12/2021 22:09:42
169F:推 mmonkeyboyy: 没有人说不用数学啊....只是数学拿来干嘛用而已 11/12 22:07
170F:→ mmonkeyboyy: 你要拿来看懂别写的东西就很够 11/12 22:07
171F:→ mmonkeyboyy: 要强到拿来开发新东西那是另一回事 11/12 22:08
172F:→ mmonkeyboyy: 最近美国太多ml人 所以就只好用考的来去掉一些啊 11/12 22:08
173F:推 mmonkeyboyy: 对啊= =" 不过说什麽数学的 要能用数学解决新东西 11/12 22:12
174F:→ mmonkeyboyy: 不是总在那卖弄我看得懂我会算....(很多人都会懂啊) 11/12 22:13
175F:→ mmonkeyboyy: 懒得在那里扯而已 11/12 22:13
176F:推 Morphee: 如果你要做的题目 建中生也拿得到资料 你真的做得赢他吗? 11/12 22:16
177F:→ Morphee: 我觉得先问这个就够了 如果有信心就做 没信心至少换个 11/12 22:17
178F:→ Morphee: domain 资料是建中生拿不到的 不然稳死阿 还没提市场勒 11/12 22:17
179F:→ Morphee: 弄出来了 结果不好意思商汤也有卖算法 比养你便宜 11/12 22:18
180F:→ Morphee: 老板手指算一算 哪天没钱买跑车了 把算法组全改去做别的 11/12 22:19
181F:推 mmonkeyboyy: 说到中国....这行业更是结合人多的优势 11/12 22:20
182F:推 johnboygo: 我也觉得这系列讨论是大家对数学好的定义不一样XD 11/13 01:02
183F:→ johnboygo: 对理科背景的人来说微积分、线性代数叫常识不算会数学 11/13 01:03
184F:→ johnboygo: 对转职的人来讲可能微积分跟线性代数就是难的数学了 11/13 01:04
185F:推 j0958322080: 真的,要考也考个四为 Stoke's thm 11/13 01:18
186F:推 johnboygo: 懂数学至少要会Lebesgue Integral吧 11/13 01:48
187F:推 yyhsiu: 推楼上 数学好的定义没讲清楚就先战成一团了 11/13 04:32
188F:→ yyhsiu: 原po觉得都没在用数学 (我会相信),但对某些人来说 11/13 04:33
189F:→ yyhsiu: 可能一直都在用了 11/13 04:33
190F:→ mao9201: 项目换成更进阶的real analysis, commutative algebra也 11/13 10:15
191F:→ mao9201: 不过是数学研究的入门砖而已...真的不要轻易说自己数学 11/13 10:15
192F:→ mao9201: 程度很好 11/13 10:15
193F:→ kevin820308: 不推XD 有点像我学医朋友说雅思7.5 不是大学水准吗 11/13 13:31
194F:推 asleisureto: 原po讲的好像高中毕业刷个几题就能进faang一样 11/13 16:03
195F:→ asleisureto: 那我也可以说高中补个习考上医牙,也没很难呀 11/13 16:05
嗯。你讲的有道理。努力把该学的东西学好还是很重要的
所谓的高中程度,是联考数学可以考到100分...
196F:→ RumiManiac: 终於有人讲到了,数学好都没定义清楚也能战成一团... 11/14 13:22
推 bowin: 推Alden好文分享!
:) 11/16 06:54
197F:→ alksjdf: 感谢分享 感觉FANG不管什麽缺都可以用SWE去准备... 11/16 20:29
198F:→ alksjdf: 只要leetcode刷好刷满 他甚至不会考你其他专业问题? 11/16 20:30
我觉得FANG的new grad level 还是coding为主吧
还是要准备一些system design. (distributed system, ML system. depends)
还有一个方法就是先走general hire, 进大公司以後再换team做AI/ML
※ 编辑: alden (104.132.45.79 英国), 11/16/2021 21:52:31