本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
做机器学习工程师,通常都要读过博。
即便没有写成岗位的必要条件,也慢慢变成了自然规律。
那自学成才的人类,要写怎样的项目经历,才能让面试官相信,自己也是有同等能力的呢?
一个叫做AdditionalWay的网友,在Reddit提出了这个直击灵魂的问题,引发了大量讨论,两天热度已经超过500。
讨论版上,有许多人提出了中肯的建议:
工业界需要的技能
有位叫做po-handz的网友,他发表的意见收获了80分的高赞同,占据了评论区的顶楼:
把自己的项目投入生产环节 (launch into production) ,就能超越99%的应届生,也能超越大部分在位的ML工程师了。
对此,有人 (moravak) 表达了墙裂赞同:
这个“大部分”,其实就是≥99.9%。
顶楼又补充说,很多人就算读到博士毕业,可能也没有自己把一个项目做到生产环节的经验。
那么,怎样才算有这样的经历呢?
网友 (BernieFeynman) 简约地解释了一下:
搭些模型,不用非常非常厉害。但要让人能看到,模型在哪跑起来的样子,比如有个API可以调用之类的。
当然,做起来并不是一句话的事,顶楼详细描述了,一整个过程究竟能有多难:
比如,一般你不会只有一个模型,是有一组。所以,需要让这些大模型,加载在服务器的RAM上。还要接受新输入的数据。这些数据,要和测试数据的格式保持一致,还要scale,该怎么scale呢?推理要用GPU么?那样的话在AWS上每月可能要花1000刀,预算能支持么?时序数据怎么办呢?你需要一个连续更新的模型,还要一直跟踪调参。除此之外,你需要一个实时的、可维护的数据管道 (data pipeline) 。搞这个,比处理一个清晰干净的数据集要难多了。最后的最后,你还需要一整套UI,网站,nginx堆栈,要做成用户友好的样子。
别说是刚毕业的博士,许多有经验的数据科学家也对这些东西一窍不通,因为他们可能只在自己专业的领域里工作,都是别人把干净的数据集交到他们手上。
你如果在这点上打赢他们,对企业来说就有更高的价值了。
简历不要踩雷
训练实用技能,只是一方面。
如果不想在简历筛选环节见光死,网友 (rudiXOR) 在一家“正在招聘ML工程师的中型企业”,总结了十大雷区,供大家参考:
第一,拿着一大堆MOOC证书。没用,我试过,quiz一路点下去谁都做得到。第二,对Kaggle成绩过于自豪。许多大学生都参加过Kaggle比赛,他们也知道这种比赛和ML工程师的工作,基本没什么共同点。第三,去了3个月训练营,从PCA到LSTM,几乎所有ML技术都修炼到了。真的没人相信。第四,GitHub项目都是只提交过一次代码的那种。根本看不出是不是自己做的。第五,GitHub主页是新的,一个项目都没有。第六,模型只在toy datasets上测试过,没有再严肃点的项目了。第七,每种语言都说“精通”。比如C++、Python、Java、C#……第八,对照职位要求精心匹配了简历 (“Buzzword optimization for HR algorithms”) 。第九,没有证明自己的数学/统计学知识水平。第十,没有软件开发的经历。
就算前九条你都忘了,也可以严肃地参考第十条。网友在细数了雷区之后强调:
如果你是自学的,不要一上来就投数据科学家,或者ML工程师。可以先申请数据分析师,或者软件工程师。如果是自学ML,又没有软件开发的经历,我是不会请你的。
参考前文,如果没有读过博士,就要比博士多点工业界的经验才更有利。
One More Thing
不过,自学什么时候都不晚。
比如,谷歌大脑的研究员David Ha,在投入机器学习的怀抱之前,已经做到高盛的董事总经理 (MD) 了。
那么,各位也要加油啊。
Reddit讨论版还有更多建议:
[D] Those who hire/interview for machine learning positions, what can self taught people include in their projects that would convince you they would be able to fit in and keep up with those with a more standard background ?
byu/AdditionalWay inMachineLearning