写在校招季,谈谈机器学习岗的Offer选择问题

星标/置顶小屋,带你解锁

最萌最前沿的NLP、搜索与推荐技术

文 | 吴海波 


现在校招开始的越来越早,今年的实习生招聘还是异常火爆,简历一堆,而且是越来越没有区分度,以前面个xgboost的论文细节,就能区分很多人,现在大部分人都能讲的不错,哎,面试越来越难。

也在蘑菇街带了几年团队,有些同学成长的很快,去了更好的平台,有些同学本来被寄予厚望,却表现平平,暗叹可惜。大家来来去去,铁打的营盘流水的兵,不知不觉成了组里待时间最长的,颇有感慨,今天就和大家唠叨几句offer选择和职业发展,个人观点,纯当消遣。

从面试的情况来看,学生质量两级分化一年比一年严重。估计到时候offer又是旱的旱死,涝的涝死。回想自己刚毕业的情况,如果来面现在的蘑菇街,大概率是过不了的。除了公司在发展,用人的选择余地大了,更多的是那时候机器学习还不像现在这么火,从业者不多。大家只能看NG在斯坦福录制的课程,还没有cousera,你在简历上写个拿到cousera ng的machine learning课程,各大公司可能还会面面你,但现在就呵呵了。

对于很多同学来讲,这个时候有个终极的问题要讨论了,到底是去大公司还是小公司?

先说应届生offer选择。针对互联网公司,针对推荐、搜索、广告场景,我个人的建议是:

大公司核心业务团队 > 中小公司核心业务团队 > 大公司边缘业务团队 > 小公司

根据公司、部门选择的不同,会有不同的成长路径,岗位推荐程度由高到低分别是:

  1. 经历核心团队业务规模从小到大的过程,比如跟着头条、抖音成长起来的一些同学,现在的发展都不会差。但这个看命,大部分小公司会挂掉,好不容易成长到中小公司,还会遇到瓶颈,迟迟突破不了,真正到大公司的,凤毛麟角。而且还要这么多年待得住。

  2. 参与大公司主要业务瓶颈突破的过程,有点绕,而且好像离应届生比较远,理想情况这种任务都是老员工搞,但很多时候由于种种原因(大多是风险偏好),可能是一个经验丰富的老员工带着一批应届生搞,若轮到你,大赚。

  3. 经历团队、业务规模从小到中的过程,也能得到不少的锻炼。

  4. 一直在大公司做边缘业务,这个对自己的悟性和驱动力要求太高,大部分人的成长都会明显慢下来。

  5. 在没有数据和挣钱业务的小公司,自求多福

以上排序的核心逻辑是数据规模大小和是否有线上实验反馈(A/B test)。规模带来技术深度和业务背书,反馈是建立方法论的基石,没有它就很难顺利成长为合格的算法工程师。

为什么如此强调线上A/B test?

首先,很多同学从学校出来,并没有真正做过一个实际的业务提升,是非常需要从线上A/B test拿到结果,建立信心,确认机器学习真的很有用。有些同学在大公司,干了几年,一个线上收益都没有拿到,对信心的打击是很大,直接转岗了。

其次,大家都不是神,机器学习还是有非常大的不确定性,因此A/B test的准确度、有效性,以及同时能做多少实验是非常重要的。 假设一个公司一次能做100种实验,一个只能做10种,在idea的实验效率上,就存在着巨大的差距。而这里的关键,就是数据规模有没有到一定的量级,到了你的A/B test就能做的更多,且更准确,更快拿到反馈,从而修正自己的认知和方法论。

明确了标准之后,面临选择时就更好把握。接下来说下各个选择可能存在的问题。

大公司

老生常谈,分工太细了,该做的事情,大部分都做掉了,很多时候找你进来是搞维护工作的。有些同学不服气,面试也有遇到工作一两年,说自己给公司提升了多少多少,详细聊下来做的事情又很普通。那么事实就很明显了,要么他们原来不重视这块,做的水(现在越来越少了),要么你在吹水。

重要的是:大部分人的悟性不足以通过现有的系统,理解在其曾经的发展逻辑及面对问题的方案选择。 而后者,才是将来你面对新业务时候的底气,人不可能在同一个业务上做一辈子。

为什么还要去呢,有两个方面的原因。第一个是上面已经提到过的,万一赶上被拉壮丁去解决核心问题,虽然业绩风险大,但好歹有了战点,有困难,有成长。第二是,这个东西就像当年大家去美国留学,先看看先进的东西是怎么样的。比如在头条,在凤巢,你们会看到离散化模型的特征规模到了千亿,读书的时候怎么可能想到他们会这么搞。会看到原来要用ps训练模型,需要用类似淘宝iGraph的系统来处理用户侧的实时特征。A/B test是怎么做的。待上一阵子,如果没有战点,找家中小规模的公司,去那里把技术和业务结合实际,形成自己的认知和方法论,也是极好的路线。

中小公司的核心团队

在中小公司的核心团队,对比大公司,会更“累”一些,需要做的事情会更多,这里的更多指的是数据质量和系统工程上。大公司的核心业务,一般会有一个规模不小的ETL组为你清洗数据,还会有不同团队搞出来的机器学习训练平台求着你用。而在中小公司,想用个PS,去看看开源吧,还好腾讯的angel还不错。想搞个tensorflow的分布式,对方一脸怀疑,先拿效果出来看看?

因此,要靠刷这张老脸,工程的同学都是不见兔子不撒鹰的主。画风很容易就变成了,我们需要个在线预估服务,算法同学先搞个初级版本出来吧,线上拿到收益了,工程的人进来优化重构;我们需要搞用户实时特征,先搞个原始版本证明有收益,工程再进来重构。还好每次结果还不错,最近开始搞大规模LR模型,大家支持力度比以前好多了,不再要先看结果了,毕竟这次也没有办法先看结果了,不是单打独斗能搞的了。所幸,上线后收益很明显。

调侃归调侃,在资源有限的情况下,这样的方式非常合理,大公司才能养的起超前的团队,而我们要精打细算。但对个人的成长也是非常有好处,首先是魔武双修了,算法和工程都不错,*其次是逼着你想清楚到底要干嘛,对算法和业务的理解更为深刻,因为每一次决策失败,都是消耗大家对你的信任,如果次数多了,估计就混不下去了。

最后,大部分来中小公司的,都是去不了一线大公司核心组的,这个是现实。但不要妄自菲薄,人生是长跑,不必争一时瑜亮。

大公司非核心业务团队

这个就要担心了,首先,很多大公司应届生招聘时候,同学们不知道自己面的是什么部门,所以一定要问清楚。现实中很多非核心团队,本身没有什么积累,因为留不住好的人,一直被核心团队压制,资源分配的很少,还不如中小公司。这个时候去,一定要想清楚,自己是不是看好这一块。当然,凡是不能绝对,也有非核心业务发展的很快,成长为核心业务的,这个看自己的眼光和运气了。

小公司

举个常见例子,假设要做推荐,首先要有数据,这点已经可能干掉很多小公司了,没有数据玩个毛线。其次,大家做模型一定是需要做A/B test的,那么最好场景的DAU是大于百万(又干掉了很多小公司),一个是数据质量会高很多,A/B的时候波动小,另一个是不容易动不动搞个模型提升x倍(我们在小场景上会遇到),从而飘飘然,不知道自己几斤几两。最后,场景的物料规模要大,才有推荐的空间,后续模型才有持续优化的可能。举个不恰当的例子,在一个卖xx的电商平台,如果只有几十款商品,用户几下就能浏览完,还做什么推荐。


再来聊个题外话,老板较不较真

除了公司、部门之外,和个人成长最相关的因素之一就是上级了。这里给大家提供一个指标:老板的较真程度。

怎么评判呢?看在项目里,Ta是只看收益还是要求将收益讲清楚,只看高大上的模型还是要求真正解决问题。不盲从,较真的思考为什么会有提升,为什么会没有提升,去分析,去总结,对一个员工以至于团队都非常重要。

举个例子,在业界,ctr预估一直有两种思路,大规模特征 + 简单模型对比小规模特征+复杂模型。但真正对比过这两种方案的,少之又少。当年百度有个哥们去淘宝,想把百度大规模离散特征这一套应用在电商场景,最后是铩羽而归。但深入去了解当时的一些背景,发现尝试的时间很短,结果就很可疑了,这就是不够较真。

由于长期受淘宝的影响,我街的基线模型和淘宝的思路非常接近,但到瓶颈了。而且我们和另外一家巨头的模型线上pk过,效果要好于他们。为了突破瓶颈,在分析了各种模型的优缺点,选择做大规模离散模型,前前后后花了好几个月,将数据链路上的各个环节重搞了一遍,尝试了很多离散化特征,线上预估系统改造了好几版,最后上线效果明显。主要原因是该模型带来了更多的特征工程空间。这就是较真带来的收益。

除了以上因素之外,offer的选择还受到种种顾虑的影响,比如想要户口、想离男/女朋友近、不想996等,最后还是要自己分配权重去做决策。祝大家的秋招都硕果累累,收获心仪的offer。


 文末福利 

后台回复关键词入群
加入卖萌屋NLP/IR/Rec与求职讨论群
有顶会审稿人、大厂研究员、知乎大V和妹纸
等你来撩哦~

夕小瑶的卖萌屋

关注&星标小夕,带你解锁AI秘籍

订阅号主页下方「撩一下」有惊喜

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis系列教程(六):Redis缓存和MySQL数据一致性方案详解

需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。 这个业务场景,主要是解决读数据从Redis缓存…

贪心算法(Greedy Algorithm)之霍夫曼编码

文章目录1. 贪心算法2. 应用2.1 找零钱2.2 区间覆盖2.3 霍夫曼编码霍夫曼编码完整代码1. 贪心算法 我们希望在一定的限制条件下,获得一个最优解每次都在当前的标准下做出当下最优决策(整体不一定最优),做出的决策不可以后悔&…

数据结构中基本查找算法总结

原文地址:https://www.cnblogs.com/xuzhp/p/4638937.html 基本查找算法 一、查找的基本概念 查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。查找是一种操作。 二、顺序查找 针对无序序列的一种最简单的查找方式…

领域应用 | 大众点评搜索基于知识图谱的深度学习排序实践

本文转载自公众号:美团技术团队。 本文介绍了大众点评搜索核心排序层模型的演化之路,包括结合知识图谱信息构建适合搜索场景的Listwise深度学习排序模型LambdaDNN以及特征工程实践和相关工具建设。1. 引言挑战与思路搜索是大众点评App上用户进行信息查…

KDD2020 | 揭秘Facebook搜索中的语义检索技术

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 江城编 | 可盐可甜兔子酱导读:今天分享一下 Facebook 发表在 KDD2020 的一篇关于社交网络搜索中的 embedding 检索问题的工作,干货很多,推荐一读。论文题目&#xff1…

Redis系列教程(八):分布式锁的由来、及Redis分布式锁的实现详解

在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?今天来探讨分布式锁这个话题。 什么是…

技术交流:老刘说NLP技术公众号开通

我有一个念想:在当今PR文章满天飞的背景下,我们能够保持人间清醒,对NLP技术有客观、公正的了解,并实事求是地进行技术实践和知识共享。老刘说NLP,将定期发布更多、更简单、更有趣的语言知识、想法、笔记,包…

POJ 2453 贪心应用

文章目录1. 题目1.1 题目链接1.2 题目大意1.3 解题思路2. Accepted 代码1. 题目 1.1 题目链接 http://poj.org/problem?id2453 1.2 题目大意 一个数x的二进制表示有n个1,求一个有相同个数1的二进制数(比x大,且要最小的) 1.3…

ICML2020 | 一行代码就能实现的测试集上分技巧

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 苏剑林编 | 夕小瑶在训练模型的时候,我们需要损失函数一直训练到0吗?显然不用。一般来说,我们是用训练集来训练模型,但希望的是验证集的损失越小越好&…

Redis系列教程(七):Redis并发竞争key的解决方案详解

Redis高并发的问题 Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题: 高并发架构系列:Redis缓存和MySQL数据一致性方案详解 如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难…

技术动态 | 北京大学计算机所邹磊教授研究组开源面向 RDF 知识图谱的自然语言问答系统 gAnswer...

项目网站: http://ganswer.gstore-pku.com/代码地址: https://github.com/pkumod/gAnswerOpenKG发布地址: http://openkg.cn/tool/ganswer研究组主页: http://mod.icst.pku.edu.cn一、KBQA 任务简介基于知识库的自然语言问答 (Question Answering over Knowledge Base, KBQA) 主…

POJ 2287 田忌赛马(贪心)

文章目录1. 题目1.1 题目链接1.2 题目大意1.3 解题思路2. Accepted 代码1. 题目 1.1 题目链接 http://poj.org/problem?id2287 1.2 题目大意 双方各有n匹战斗力各异的马,分别派出来PK,假设对方先出牌,我方后出,求我方最多能胜…

Netty的实现原理、特点与优势、以及适用场景

高并发编程系列 高并发编程系列:NIO、BIO、AIO的区别,及NIO的应用和框架选型 高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8) 高并发编程系列:CountDownLatch、Semaphore等4大并发工具类详解 高并发编程系列&…

拒绝无脑吹!从ACL20看预训练缺陷

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 舒意恒、兔子酱以 BERT 为代表作的预训练模型的研究热度一直很高,到 0202 年了,预训练的研究依旧层出不穷,而且 ACL 2020 Best Paper 荣誉提名也选择了这一主题的研究…

论文浅尝 | AMUSE: 基于 RDF 数据的多语言问答语义解析方法

来源:ISWC 2017链接:https://link.springer.com/content/pdf/10.1007%2F978-3-319-68288-4.pdf本文主要关注基于RDF数据的多语言问答任务中,对不同语言问句的语义分析工作。作者提出一种基于DUDES(Dependency-based Underspecified Discourse…

贪心应用--汽车加油次数问题

文章目录1. 问题描述2. 解题思路3. 实现代码4. 测试结果1. 问题描述 已知汽车的油箱额定里程,到目的地的路途中各加油站距起点的距离,求如何加油,让加油的次数最少。 2. 解题思路 每次出发前检查下一个加油站有多远,车子能不能…

最全多线程经典面试题和答案

Java实现线程有哪几种方式? 1、继承Thread类实现多线程2、实现Runnable接口方式实现多线程3、使用ExecutorService、Callable、Future实现有返回结果的多线程 多线程同步有哪几种方法? Synchronized关键字,Lock锁实现,分布式锁等…

论文浅尝 | Aligning Knowledge Base and Document Embedding Models

本文是我们于苏黎世大学合作的关注与知识图谱和文本对齐的论文,发表于ISWC2018.文本和知识图谱都包含了丰富的信息, 其中知识图谱用结构化的三元组表示信息,文本用自由文本形式表示信息,信息表示的差异给知识图谱和文本融合对齐造成了困难&am…

学会提问的BERT:端到端地从篇章中构建问答对

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 苏剑林机器阅读理解任务,相比不少读者都有所了解了,简单来说就是从给定篇章中寻找给定问题的答案,即“篇章 问题 → 答案”这样的流程,笔者之前也写过一些…

玩转算法面试-第四章查找值之leetcod相关笔记

查找问题 4-1,2 两类查找问题 1 查找有无:set 2 查找对应关系:map 常见的四种操作: insert, find, erase, change(map) 例题 leetcode 349 :给定两个数组,…