您当前的位置: 全球新闻网 > 国内 > 字节跳动春季招聘超6000个岗位,在这里实习是一种什么样的体验?

字节跳动春季招聘超6000个岗位,在这里实习是一种什么样的体验?

发布日期:2020-02-26

2月24日,字节跳动宣布,今年春季招聘为大学生开放超过6000个全职及实习生就业岗位。

据了解,字节跳动2020春招将持续近3个月。2月24日至4月30日为投递和内推时间,3月中旬开展线上宣讲会,3月上旬至5月中旬为笔试时间,3月上旬开始面试,并陆续发放offer。

字节跳动招聘负责人表示,2020年,字节跳动会继续加大对人才的培养,倾注更多平台资源,帮助社会创造更多的就业岗位。字节跳动将为应届毕业生提供广阔稳定的发展机会、完善的新人培养体系、平等开放的工作氛围,以及有竞争力的回报和福利。

在字节跳动实习一种什么样的体验?看看清华博士在字节跳动实习的故事。

3月的一天,蒋旻从字节跳动下班回到清华园,躺在宿舍床上兴奋地睡不着觉。

他和mentor确定了接下来将参与主创的新项目,忍不住神神秘秘地给父母预告:“我最近可能要搞件大事。”

三个月后,字节跳动内部逐步推进落地一款名为BytePS的分布式深度学习训练框架,性能方面超出现有“竞争对手”最高可达100%。拿某视频分析任务举例,本来训练模型可能要10天,用BytePS后有望再加速20-30%。

很快,该项目在技术人爱逛的开源代码平台GitHub走红,不仅一周内收获上千赞,还登上了GitHub趋势热榜。

BytePS项目的主创,正是蒋旻和他的mentor易波、青阳,三人也引起了内部关注。“视频、自然语言处理等很多组都找到我们,希望把它应用到他们的产品里去,提升公司业务迭代效率。”

这是蒋旻第一次到业界实习,项目落地的成就感,也是他从未体会过的。

实习生也能挑大梁

蒋旻是清华计算机系博士三年级的学生,去年9月底,在导师推荐下加入了字节跳动AI Lab机器学习系统组。“接到offer时特别开心,来这边可以尝试些让技术落地的事。组里有我们领域的大牛,我刚读博时就在看他的论文了,实习生也有专属mentor。”

来之前,蒋旻就对实习充满期待,来了后,仍然受到很大的震撼。“这里有很多耳目一新的事,是我没听过或没尝试过的。”蒋旻没有想到,实习生也能参与极具有挑战性的项目,并且担当项目的主要负责人。

开发BytePS的机会,不是突然来的。蒋旻入职时,AI Lab正在尝试RDMA技术的性能优化,帮助视频团队提升机器学习训练效率。“可以说,RDMA是BytePS的一个子集。BytePS在很多方面都做出了优化,而RDMA加速只是其中一块。”

刚来不久,蒋旻接到了RDMA优化的任务。对他而言,这是个完全没尝试过的新技术。“最初几周挺困难的,网上资料很少,得靠自己读源代码、跑实验去摸索,和同事前辈多交流,一步步上手直到能独当一面。”最终,蒋旻和同事将原本需要一周跑完的任务,缩短到了三四天。

虽然加速了三分之一,大家并不满意。“这离我们希望的最优解还有一定距离。”

仅做RDMA加速还不够,蒋旻与两位mentor决定从更大的框架上做优化。“现在一些机器学习训练仍要花费数天甚至数星期。我们发现已有的训练框架都满足不了需求,所以决定自己开发一套。”

三人找了间会议室,讨论了一晚未来目标方向,合作开发BytePS的想法冒了头。对已经工作几年的易波与青阳而言,此时的实习生蒋旻,已经是可以并肩奋斗的好搭档了。“这是客观的潜力和主观的自我驱动叠加的结果。并不是他一开始就有多强,而是他抓住了机会,在实习做项目的过程中迅速成长到了足以挑大梁的水平,然后这件事就自然地发生了。”易波说。

不是谁都能走好“非主流”

也正是那天晚上,蒋旻失眠了。“我的两位mentor对我的帮助很大,没有他们的指导我自己肯定做不到今天这一步。”回首最关键的转折时刻,他感慨说,那时才真正体会到公司为什么经常鼓励“在更大范围寻求最优解”。

BytePS其实算是个“非主流”的项目。如果说开发一套训练框架有两条路可选,在过去三年,PS流派并不是行业内看好的那条。当蒋旻习惯性偏向选主流的AllReduce流派时,被更有经验的易波点醒了,“他嗅觉很强,说我们应该先挖根到底把两者的原理搞清楚,再去做对比。这对我来说可谓是灵光一闪,原来还可以这么做!”

一番推理过后,蒋旻惊讶发现,从理论上而言,PS甚至比AllReduce可实现的效率提升高出一倍。“推导出这个数据的时候,我特别激动,晚上都睡不太安稳。觉得这个事如果真的搞出来,确实可以颠覆大家的认知。”

相信自己的理论推导是一回事儿,真正验证又是另一回事儿。抱着对技术的极大热情,蒋旻和两位mentor说做就做。“不走寻常路当然有风险,字节跳动的技术氛围就是包容试错和创新,大家没有杂念,单纯希望从技术角度做个好东西出来,动力和执行力就会非常强。”

接下来的短短三个月,经历的波折也是难以忘记的。蒋旻甚至经常会怀疑,自己是不是搞错了,这条路其实走不通。

“我可能每周都要碰到觉得很难克服的困难,比平时做学校科研项目频繁得多。”蒋旻说,BytePS是比较通用性的训练框架,需要考虑性能,还要考虑是否方便使用和部署,如此种种加起来就意味着很多困难。何况项目进展越往后,代码越复杂,找到错误并修正就越难。

“那个时候真的是焦头烂额。”蒋旻回忆,在5月底项目快成功时,就遇到了一次大麻烦。代码都写完后,他认定能跑起来,结果就是不行,还怎么也找不出问题在哪儿。

“挺痛苦的,基本每天无论做什么都在想着这事儿,睡不了几个小时就继续爬起来去debug,一度感觉已经走不下去了,只能和mentor互相鼓励。”花了整整一周时间,蒋旻才终于成功。而事实也证明,这个“不简单”的麻烦,确实值得那么多时间攻克。“是我们从没想过的问题,这也给了我们后续更多启发,编完代码后,还是要跳出原有思维方式。”

BytePS在GitHub上的火热度,超出了蒋旻的想象。起初,他只是晚上10点将其默默开源在了这个技术人都爱逛的平台上,没做任何宣传。第二天一早,蒋旻发现项目收到了10个关注,而到了第三天,已经有两百多个,再往后,点赞很快呈指数增长地破千。

“两百多赞时非常激动,到后面越来越体会到项目的影响力。在大家都以为AllReduce已经够好时,我们算是正式提出PS更好,并且把提升一倍效率做出来的第一人。”蒋旻觉得,这个“非主流”项目能最终做成,正是与公司这种开放、单纯的技术氛围脱不开关系。“再拿我们每周一次的技术分享会举个例子,你甚至可以很轻易请到外组大牛来交流,很多talk是潜移默化的,虽然并不直接相关,但可能从某个idea上就启发了我们。”

这里有学校体验不到的

实习近一年来,这也是蒋旻第一次经历从自己开发、开源再到落地的完整项目过程。“我以前没有实习过,不知道公司里的工作是怎么样的,这次都提前感受到了。”

除了人才团队的支持,硬件资源也带来了不小震撼。“公司训练平台服务器的这种数量规模,对于提高项目试验说服力就非常有帮助,这都是学校里做科研体验不到的。”

此外,技术成果迅速落地的体验,让蒋旻对务实和极致有了更深理解。他发现,哪怕在开发过程中做得很好,实际还是会有疏忽之处。比如一个代码接口,设计时觉得它已经足够好用,真正落地时却发现不完善,性能也不理想。“这就是可以快速习得的教训,我们在开始设计前,应该把真实的工业界需求调研清楚,提前避坑。”蒋旻说,“以前在学校时,经常说差不多就行了,但到了公司,确实是精益求精。指标上本来能提高5%的事情,我们要尝试提升到10%。”

回头再看,作为在读博士生,蒋旻从没想过加入一家公司实习,会给自己带来如此大的收获。最初,他只是希望来字节跳动见见论文中常看到署名的大牛,做些偏研究性质的工作。但现在的情况,已经远远超出了预期。

“喜悦是双重的。除了可以做学术研究,更让我兴奋的还是能把技术在公司落地,推广给更多项目使用。”实习近一年,蒋旻想继续待下去。“我们现在去公司各个组宣讲,发现他们还有很多需求,有很多机会和问题等着我们去做。”