知行编程网知行编程网  2022-06-10 17:00 知行编程网 隐藏边栏 |   抢沙发  88 
文章评分 0 次,平均分 0.0

在抖音推荐算法组工作的体验怎么样?

来自 | 知乎    编辑 | 深度学习这件小事

链接 | https://www.zhihu.com/question/398062240

本文仅供交流,著作权归作者所有,如有侵权,请联系删除


   问题


在抖音推荐算法组工作的体验怎么样?


毕业想做算法工程师,平时抖音用的比较多,一直对抖音的算法背后的团队比较感兴趣。有没有人知道在抖音算法团队工作是什么样的?谢谢!

   高质量回答

张可阳
https://www.zhihu.com/question/398062240/answer/1255523618

之前在公司内部做过相关的分享,我整理一下贴过来。

之前在Snapchat工作了2年,去年回国加入了抖音的推荐算法团队。我先列一下主要的工作内容,针对每一项说说我个人的体验;再说一些不具体到哪项工作内容的、general的体验吧。去年选择换工作加入抖音主要是冲着更好的锻炼机会,现在呆了一年感觉是符合当时预期的,重新选择十次应该也会十次做同样选择,所以我是坚定的“劝入”党。

工作内容和具体体验:

确立目标,拆解问题。除了校招入职的新人可能会先从已经拆解到可以直接执行(写代码/训练模型/做实验)的任务上手,大部分的同学都会或多或少有这块工作。推荐团队的leader会想怎么定义抖音长期的成功,为了这个长期的成功应该投入做哪些业务方向,各个业务方向的进展是怎么对应到未来对抖音大盘的贡献的;各业务方向(一般2-5人)的负责人会想怎么定义这个业务方向的成功,衡量指标是什么,长期应该沿着什么路径把这个业务方向做成,短期OKR和重点模块是什么;各模块负责人(一般就是一个人)会想这个模块现在的可做项目有什么,其中哪些ROI(投入产出比,公司很鼓励大家有思考ROI的意识)最高。这块工作内容我很享受,我觉得对个人能力是很好的锻炼,思考之后一般会有一个和负责更大scope的同学对齐的步骤,也是一个获得反馈从而有成长的好机会。

建设数据,分析现状。上面提到的“确立目标、拆解问题”的过程肯定不能只靠逻辑推理和信仰判断,了解现状是基础。除了多用产品从而获得感性认识以外,很重要的工具是数据。抖音这样一个4亿以上DAU的产品是有很好的数据积累的,数据可以给“怎样更好地服务用户”这个问题很好的参考,这样好的积累下如果做决策还是只靠拍脑袋那真是暴殄天物。虽然公司也有专门的DA(数据分析)同学,但算法工程师一般这方面能力也很不错,而且数据分析要结合自己负责的具体业务,所以更多时候是自己搞定。这块体验比较好的点是现在(是的,过去没有这么幸福)底层数据建设方面公司有很好的中台团队,我们一般只需要提需求就好,不用自己维护各种表和各种任务。

实现项目。基于对现状的分析和问题的拆解,我们会成为自己的PM,得到一系列待执行的项目,可能是偏模型的,或是偏策略的,或是偏工程的,下一步就是做自己的研发把这些项目实现。实现过后一般会开个AB实验,然后自己又会成为自己的数据分析师来分析这个实验,确定是值得上线还是要进一步迭代。算法/模型方面,架构是很先进的,底层infra(大规模并行训练和线上预估等)支持也很好,这是体验好的部分,不过机器资源一直比较紧张有时候会要等比较久;代码的质量还有待提高,这块有时候是体验不佳的,可能大家过去还是主要在跟着业务狂奔,所以或多或少留下一些技术债。

承接产品需求。相对于其他研发工种来说,推荐算法工程师做产品需求的时间比较少,大多数时候是自己确定该如何优化推荐系统。但和其他研发工种一样,和PM打交道时总有“相爱相杀”的体验,好在在字节跳动,PM对于推荐相关的事情对算法工程师还是很信任的,而且大家也都看见了算法/模型实实在在的效果,所以比较少会要人为制定规则强行修改模型的判断,对纯推荐场景还是以给建议为主(其实有时候结合对产品的了解,PM同学确实是能给出有价值建议的,所以我们团队很鼓励算法工程师也深入了解产品,自己也成为有产品判断力的同学)。和其他研发一样,我有时候也会觉得PM提的某个需求不靠谱(主要是ROI不高),不过这时候其实有比下意识有不满情绪更“高级”的心态:我可以把它当做一个锻炼“影响他人”能力的机会,当我在仔细聆听了对方之后依然觉得我有更好的判断,我应该去想怎么去努力说服对方;当我觉得某个问题之前已经说过了怎么又提了一个类似需求,那不一定是对方的问题,可能是我上次的沟通还不到位;当我觉得对方为什么外行指导内行的时候,可能是因为我还没有建立足够的信任;等等。对于有志于未来不是一直做单兵工程师的同学来说,“影响他人”这个事情中所要求的共情、沟通等能力其实也很值得锻炼,从这个角度来说,和PM“相爱相杀”不见得是不愉快的体验,而且充分沟通互相建立信任之后,其实可以和PM同学互相学习,并且成为共同努力把事情做成的最亲密战友。

给产品、运营等同学提建议。这块是我在上一份工作中没有的工作内容,也是我对这份工作最看重的锻炼机会之一。我们团队非常鼓励算法工程师花时间了解和思考产品,并且参与到产品迭代的讨论和决策中,合作的产品和运营同学也很欢迎推荐算法工程师的建议和反馈,这一方面因为作为主打内容分发的App,抖音的产品迭代也需要对内容分发技术有深刻理解的算法工程师的视角,另一方面因为推荐团队中有一些同学在过去到现在提了一些靠谱的建议和反馈,给这个团队打造了比较好的形象。在改进推荐算法的基础上参与产品和运营的讨论,会让我觉得自己的“action space”变得宽阔很多,可以把自己假想成整个产品的owner来思考怎么把一个产品做成、做的更好,并且和其他职能的同学交流各自的思考。这点对有志于将来创业的同学来说应该是很大的加分项。

带人、带团队。除了正式的leader要操心这个问题,带一个方向的负责人也要操心这2-5个人的团队怎么打造好,让大家不仅有产出,而且各自有成长,也要规划人力和参与招聘,带实习生或者新人的mentor也会花不小的精力优化mentee的成长。这点可能和其他公司和团队大同小异,说一个这方面我体验最好的点:公司的politics已经属于各公司里比较少的,推荐团队内的politics更是趋近于0,大家基本除了关心怎么把事情做成,就是自己的能力成长和自己带的同学的能力成长,我觉得这一方面因为团队有干实事的“文化”和评估方式,另一方面因为团队内的同学也基本都是实干型的人,还有个“事多人少”的原因下面会详细说。

下面聊几点不具体到哪项工作内容的、general的体验:

自由度高。leader是FB的海归,崇尚正确的方向和高效率,一点儿也不崇尚高工作时长。上下班时间非常灵活,平常做事情也没有人“微管理”,有很高的自由度。

事多人少。团队目前规模还不大,抖音需要推荐的场景很多,基本都是这个团队负责,这点不是说每个人工作很辛苦,恰恰相反这是个大优势:这意味着锻炼机会和成长空间足够,而且这点也对politics趋近于0有重要作用,因为不存在隔壁组跟你抢credit/抢活(Google有的业务调个融合公式都几个团队抢着说应该他们团队负责调……),也不存在组内同学跟你抢好的活干的情况(因为满眼都是“好的活”)。团队目前基本是head count不限的状态在招人(感兴趣的同学欢迎找我内推),不过肯定也会控制不成为过于“人多事少”的团队。

实干。以把事情做成为导向,考核的时候完全不看是不是用到了乱花渐欲迷人眼的“高端”技术,这样的好处不仅是有实际影响力,能看到自己的工作实在地影响了千千万万用户,而且这样直接和客观规律打交道对真实能力成长大概率也是更优的。

对新人来说,可以学到一流的推荐系统架构是怎样的,也有很牛的老人手把手带。团队在带新人这方面投入得越来越多了。

对有一定经验的同学来说,有挑战也有舞台。重要的事情还远没做完,除了常规地优化推荐系统,还有怎么改善“信息茧房”问题、怎么做好整个内容生态、怎么做成一个新业务方向这种很有趣的挑战。


65加
字节跳动 算法工程师
https://www.zhihu.com/question/398062240/answer/1262739172

mentor制度
虽然是社招,我之前的算法经历也比较有限,在推荐算法上也算是新人了,知识面大概和校招生差不多。我们组一般刚入职的时候都会同时负责两个方向,至于是哪两个,leader第一天会问你的意愿,应该是可以自己选的。不过像我这种新人根本不知道这些方向是做什么的,就说随便,哪里需要哪里搬。然后leader会分配这两个方向的mentor给你,除了有不懂的可以问mentor,一开始的工作也基本都是mentor分配的。我也不知道我可以做什么,所以一般给我的任务我都没有抗拒,但mentor也会很看重你的想法,如果觉得工作不合理或不想做这块,都可以随时提出来。

新人培训
除了半天的公司价值观培训,就没有其他统一的培训了。这和我之前呆过的外企不太一样,外企各种培训加起来都有一个月了。。。(其实这种密集型的统一价值观、沟通技巧、写作技巧的培训对我也没什么帮助)足以见得字节跳动是一家非常务实的公司,不搞太多虚的没用的培训,直接上手干活比什么培训都管用。

第一周基本没什么工作,就是熟悉代码,看新人文档。基本一开始需要了解的知识都在新人文档里了。现在我已经工作半年了,回头再看新人文档,觉得还是很清晰全面的。不过当初看的时候还是有点懵逼,因为代码库很多,内容量太大了。而且不是所有代码库都有清晰详细的readme。所以我感觉还是要脸皮厚一点,不懂就多问问。如果你非常非常内向、怕麻烦别人但是自身能力又不够牛逼的话,可能刚开始会觉得有点痛苦。我的方法是换着人问,把最蠢的问题拿出来问mentor,其他问题就问写文档的作者,简单的问题直接在飞书(内部沟通聊天软件)上问,复杂的问题当面问。确实大家都很忙,不一定会马上看到或回复你的消息,甚至有时大家的对背景了解的程度不同,所以他们回答几个关键点就以为解答了你的问题,但其实你还是不懂,这时就要打破砂锅问到底。整体来说,我们组同事之间不会有恶性竞争,大家如果对这块清楚,都是很愿意帮你的,即使不了解,也会告诉你谁比较了解或发一些相关的文档给你。

基本第二周或第三周就要开始上手工作了。一开始mentor会给一些相对简单的任务,让你慢慢熟悉代码。大大小小的相关的周会也会开始参加了。会议上经常有一些术语、英文缩写是刚入职的外行同学听不懂的,我一般会默默记下来,结束后问mentor。除了工程能力,抖音的算法岗对产品能力和沟通能力都有很高的要求,开会时认真听其他人发言也是一个很好的学习和锻炼机会。

至于技术培训,基本靠自觉,没有强制的培训。公司内部的分享会还是挺多的,每周基本都有架构组的分享会和一些最新的论文介绍的会议,有兴趣的都可以参加,干货挺多的。其实后期工作忙起来就不一定能经常参加了,不过这些会议都有录屏的视频发到群里,之后有空也可以补一下。飞书文档上也很多模型训练、工程优化的文档,大家在某方面有了新的进展都是很愿意分享出来的,就看你愿不愿意投入精力去学习了。

工作内容
刚开始的工作内容基本上算法、业务两个方向各占一半。后期可能会根据个人喜好和能力慢慢倾向于选择一个方向深入探索,可以是深度钻研模型,也可以是透彻理解产品和业务形态。工业界和学术界对算法能力的要求是有很大区别的。对于抖音这种用户量大的产品来说,模型效果和性能需要兼顾,很多时候训练模型不是简单的调参和调结构,更多工作是在前期的数据准备。

虽然来抖音的时间只有半年,但是学到的知识还是非常多的,现在看半年前的自己就觉得很傻很天真。虽然成立时间不长,但字节跳动的各种基础建设都做的比较完善,加上抖音的用户量大,所以很多想法都可以通过实验快速得到验证,算法工程师不需要把大量精力花费在架构或测试上面。因此,我们有更多时间去拆分每次迭代模型/策略对业务带来的收益,而不是仅仅看到核心指标的提升就认为迭代生效了。比如,假设我发现多推荐某一类视频可以带来指标上的提升,我们会思考为什么模型没有做到这一点,从哪些地方可以将这种人为的干预转为模型的自动化推荐,而不是停留在表面,简单粗暴的上线这个策略。

工作强度
经常有人说字节跳动的工作强度非常大,这里相比外企强度要大一些,不过没有外界传言的那么夸张啦。大小周,下班时间比较自由,临时有事早走都是没问题的。绩效主要看产出,如果工作效率高,也没必要加班做样子给老板看。

同事关系
同事关系挺简单的,没有什么勾心斗角。基本一人有难,其他人都愿意提想法帮忙,总体都是一心为了做好产品。工作中不需要拍领导马屁,还是以产出为重,专心做好自己的工作就行。我们组同事年龄都差不多大,也不存在什么代沟。我之前也在几十人的创业公司呆过,头条的同事关系整体是不如小公司那么亲密的,毕竟大家平时都很忙,没空闲聊。而且算法同学一般话不多,对于像我这样颜值一般、anti-social的人,不太会有人主动搭讪。下班后偶尔有聚餐活动,公司内部有各种兴趣小组,比如桌游、打球之类,外向的人是很容易交到朋友的。

<pre><p style="white-space: normal;text-align: center;"><strong style="color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;background-color: rgb(255, 255, 255);font-size: 16px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></p><pre><pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section><p style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;">MIT校长评中美科技竞赛:胜利不是期盼对手的失利</p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">GitHub重大更新:在线开发上线,是时候卸载IDE了</span></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">美国官宣117000名 IT 人失业,真是史无前例!</span><br  /></p><p style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;">数据分析入门常用的23个牛逼Pandas代码</p><section style="margin: 5px 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;">特朗普拿H1B签证开刀,LeCun吴恩达等实名谴责!<br  /></section></section></section></section></section></section></section></section></section>
在抖音推荐算法组工作的体验怎么样?

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享