一个算法博士毕业后的六年:“我在字节跳动做大模型”
一个算法博士毕业后的六年:“我在字节跳动做大模型”
Date
2024-09-24
Category
Team Story
博士毕业后不久,纪同学加入了字节跳动,到现在已经六年了,相当于又读了一个博士。
在这个“六年”里,纪同学成长飞快,从一个职场新人变成了带过五六十人团队的技术负责人。
去年,他加入公司新成立的豆包大模型团队,全身心投入到对音乐生成模型的技术探索中。他的团队里也有很多顶尖高校博士毕业的同学,和当年的他一样对技术研究有纯粹的热情和专注,不断地在技术极限的边缘试探、突破是他们的工作日常。
几天前,由他负责的字节跳动音乐大模型 Seed-Music 发布,引发了来自全球各地音乐人的关注。当模型生成的音乐变得更悦耳,当 AI 可以真正从无到有“创作”一首歌曲,音符与代码的背面,我们看到一个技术人才加入字节跳动后,拥有的无限可能性。
以下是纪同学的故事:
纪同学的歌
*该歌曲由纪同学负责的 Seed-Music 音乐大模型创作完成,阅读前建议点开音乐,感受纪同学团队的工作成果。
前几天,我迎来了自己的入职六周年纪念日。
团队有些新加入的同学问我,在字节跳动工作六年是种什么感觉?我的第一反应是,竟然已经六年了,跟我读博的时间一样长,但这六年我的成长速度是读博时的好多倍。
我在美国读了六年的博士。博士项目一般要求在一个项目上做得很深,那六年里,我一直在专心调整自己的算法模型,可能在外界看来这个模型效果已经很不错了,但我们还是坚持用更严格的态度来测评自己的模型,不断打磨。
而在字节跳动这六年,我看着很多行业里顶尖的人才陆续加入公司,大家隔段时间就会一起探索新的技术突破、新的业务方向,并不会意识到今年到底是在字节的第几年,只觉得每年都有新的挑战和突破,“ Always Year 1 ”。
受挫的时候当然也有,做技术研究哪有容易的,特别是我们做的还是从来没有人做成功的事情。但关键是自己得想清楚这件事是不是自己真正想做的,它的价值和意义是什么。比如我们现在想把 AI 音乐生成做到接近人类的水平,帮助人类音乐创作,这是整个行业有史以来从未有过的事情。而我们,就是推动突破的那群人之一。
最近也有一些面临毕业的博士师弟师妹们来问我,读博士后和找工作应该怎么选,在互联网行业做研究会不会很受限制。或许我可以在这里和大家分享一下自己这些年的经历,看看能不能给出一些答案。
1. 从两个人的团队开始
2018 年 9 月,我刚加入字节。当时整个团队只有我和 Leader 两个人,做音频的算法模型。
我现在还记得当时办入职的办公室只有一个房间和几个小会议室,空间非常有限,二十个人就能坐满,过道也比较狭窄,迎面走过来一个人都得稍微躲让一下。
入职的第一个办公室
办公环境比较简陋,其实我心里是有预期的。但我的想法是,选择一个公司不能看它的办公室有多豪华,而是得看能不能做自己想做的事情,这些事情是不是真的有想象力和价值。
我是研究语音算法的,博士研究方向是嘈杂环境下的语音分离,就是研究在一个嘈杂环境中如何通过机器学习的方法把背景里的噪音去掉,只保留人声,典型的应用场景就是为听力障碍人群设计的助听器。
当时字节跳动已经有抖音等多个跟音频有关的产品,用户也有很强烈的创作需求,不管是录视频的收音清晰度,还是可以变声的音频特效玩法,都需要音频技术的支撑。
这些丰富的落地场景对我来说无疑有巨大的吸引力,毕竟做了这么多年研究,最想看到的还是自己的研究成果能变成真正影响甚至帮助亿万用户的产品,而不是只发论文、参加学术讨论。
在字节做了一段时间语音合成的工作之后,我遇到了一个特别的业务需求:为了让用户更好地搜索相应风格的音乐视频,也让产品的推荐系统也更准确,我们需要用算法去识别不同音乐的风格、情绪等属性,让算法能读懂音乐。
这是我第一次接触音乐理解方向的工作,这让我看到了音乐生成算法的很多可能性:既然算法能够做到对音乐的深度理解,那理论上也能通过算法对音乐进行二次编辑,比如一键改编一首歌的曲风、歌词,甚至直接生成新的音乐.......
有了这个思路之后,层出不穷的想法就在脑海里不断地冒出来:
未来,大家随便哼出的一段旋律,是不是都可以变成一首完整的歌曲;
没学过音乐的人,是不是也可以随时生成一首歌,来表达自己今天的心情;
拍完一段视频后,是不是能自动生成一段配乐,不用自己再苦苦搜索时长、风格、歌词都合适的 BGM ......
2. 让音乐算法有生命力
想法很多,但我们其实没有把握这些功能是不是真的可以做出来,做出来之后对用户来说是不是真的实用。没想到,公司非常支持,希望我有了想法之后就在产品中大胆尝试,通过用户反馈和 AB Test 来快速验证。
在技术有限的情况下,我们先在抖音上线了一个简单的写词成曲功能:用户只要输入几句话,我们就能为 TA 生成一首歌。因为当时的算法能力还比较有限,所以这首歌的旋律是固定的,我们只能把每一个文字的发音都匹配到设定好的曲调中。
当时正值冬奥会,冰墩墩很火,有用户就用这个功能生成了一首《冰墩墩之歌》,配合着冰墩墩的特效,一下子就传开了,有超过 100 万人使用过,还一度冲上了抖音热搜榜第一。那段时间,我还刷到有很多人在上海的某个公园里一起唱这首歌,甚至央视新闻发视频的时候也在用这个作为背景音乐。
点开视频,你一定听过这首歌
这个功能不仅被大家用来搞怪、对口型,也火到了一些线下的商户中。有人在当地的县城开了一家小吃店,小城人不多,生意也很冷清。但有次老板随意把自己家的店名“ xx 小吃”输入到工具中,没想到生成的音乐非常洗脑,一下子就火了,其他人发的各种视频都把这个当做背景音乐。周围的人刷到视频纷纷去打卡这家店,这让原本冷清的小店门口每天都被围的水泄不通。
这次小尝试让我意识到,如果我们能给用户提用一些方便、好用的音乐创作工具,他们就能创造出很多有意思的东西,这些内容不仅有趣、好玩,甚至还能带来商业价值。
于是我和团队商量,一起确定了我们的目标:降低音乐创作的门槛,让普通人也能创作音乐,表达自我。
3. 当一个技术人学着做团队 Leader
在探索音乐生成技术的同时,我也在不断拓展自己的能力边界。
读博的时候我几乎所有精力都放在自己的研究方向上,每天都纯粹地思考和打磨技术,很少考虑产品方面如何应用。
来了字节后,我参与了挺多复杂度高的项目,在其中担任技术负责人的角色。这个过程中,我也逐渐意识到,做“技术负责人”并不意味着只考虑算法就可以了,还需要从产品、运营等角度来思考问题。用户会怎么使用这个功能、未来要往什么方向迭代优化、有哪些玩法空间......这些都需要从算法阶段就一起考虑进来。
这些经历让我逐渐学着从不同的维度来理解自己的工作,对于技术的判断和运用也上了一个台阶。比如之前,我可能会投入很多精力来迭代算法本身,只关注算法上的客观指标(例如识别准确率、成功率等),但其实客观指标与用户的实际体验之间,还是存在差异。
现在我会积极参与产品的需求评审会,尽量从全局的视角来考虑算法的部分,也更重视用户对功能的真实使用感受。在字节大家的边界感都没有那么强,我可以深度参与到产品的设计环节中,如果想让自己的算法更好地落地,我还能主动协调产品、设计、数据、测试等各个方面的资源,推动产品和项目的进度......这都是我在实验室没机会学到的东西。
我感觉这个过程就像创业,我需要更有 Owner 意识,想得更多、更远,更全面,才能让产品更好地发挥影响力。
随着公司的产品和所需要的功能越来越多,我们团队接到需求也越来越多——抖音用户的曲库扩充、剪映里面的配乐生成、汽水音乐推荐算法......这些都需要音乐理解和生成算法的支持。在参与这些项目的过程中,我也逐渐承担起了更多责任,并且变成了这个方向的团队负责人。
但做 Leader 其实并没有这么容易,我面对的第一个挑战就是招人。我们团队招人的标准其实一直都很高,除了基础的技术能力之外,还必须要对音乐感兴趣。我们有很多需要长期投入和攻坚的工作,如果不是真的对音乐有兴趣,是很难坚持下来。
但这并不意味着,一定要是学音乐相关的专业或者研究方向的人才能加入我们,一个人对音乐是否热爱往往会渗透在过往经历的很多细节里。我自己就是一个例子,我从小就很喜欢古典乐,但是小时候家里并没有这个条件,所以一直没有正式去学过音乐。后来有段时间在湾区,我每个月都会开车去旧金山听那里的交响乐团演奏,一直听了一年多,很多朋友都开玩笑问我是不是在那里买了年票。
所以后来在招人的时候,可能有些同学在面试时聊的不够深入,或是过去缺乏相关的职业经历,我也会尽可能通过各种线索来判断 TA 是不是真的喜欢音乐,会坚定地投入这份工作。比如我曾经遇到一个语音方向的候选人,从过往经历来看跟音乐毫无关系,但是当我找到他的 Github 主页时,发现他做了一个开源的工具箱,里面有好多都是音乐处理的功能,然后面试一问果然对音乐很感兴趣,读博的时候选语音方向也是因为“语音”跟“音乐”比较相近。还有人会专门在简历上写自己参加过什么歌唱比赛,可能不一定拿了奖,但至少他想把这件事写在简历里,也说明这是他非常看重的一段经历。
为了吸引更多优秀的同学加入,我和 HR 同学一起想了很多办法。比如参加一些国际会议,我的主要目的就是交流技术,以及吸引人才。在展台上我们会直接播放生成的音乐小样,很多人听完之后都会很惊讶,没想到现在算法生成的音乐竟然能做到这种效果了。稍微聊了几句之后就可以加联系方式,后面简历就自然推过来了。
团队渐渐聚集了很多既懂技术,又都爱好音乐的优秀同学,大家来自五湖四海,有人会弹钢琴,有人玩吉他,甚至还有人曾经做过专业的音乐制作人。就形成了一个很特殊的团队文化:在办公室玩音乐。
我们办公室一楼本来有一个空着的房间,团队有人就和公司行政同学提议,能不能把这里改造成了一个可以演奏的场地。得到同意后大家自愿放一些闲置的乐器进去,每周五下班后都不约而同聚地在这里唱唱歌、弹弹琴。经常有路过的同事被吸引进来,也直接坐下加入我们。
可能有人跑调,有人弹错音,有人唱错歌词,但都没关系。音乐就是这样,能够跨越语言、年龄、经历,把当下的每个人都连接到一起。
4. 在大模型浪潮的前夜
在大家的努力下,这几年我们陆续开发出了很多降低音乐创作门槛的功能,比如自动识别和弦、伴奏分离、一键 Remix ......这些都能够辅助音乐人更好地进行创作。但门槛再低也还是有门槛,我们能对现有的歌曲进行各种方便的改编,却始终很难做到让用户能从无到有地“创造”一首歌。
之前积累的音乐理解基础功能
去年,大模型时代来临,新技术的出现对很多传统的算法领域都是降维打击,音乐生成方向也是。
大家之前做音乐生成的方式是先让算法识别曲谱,从曲谱生成音乐,然后再对音乐进行加工和优化,每一步都是基于我们提前确定的路径和规则来做的,其实有很多限制。但大模型出现后,我们觉得应该让模型自己从数据中去发现规律,从而学习和改进自身的音乐生成方式,这样创作出来的歌曲会有更多灵活性和可能性。
对于这个新思路出现,大家都觉得很兴奋,即便这也意味着我们要抛弃之前维护了很久的传统技术框架,也有一些工作需要从头开始。但这是值得的,就像“创业”也一定会经历灵活调整的过程,在创新面前,不能留恋于之前的投入和思路,需要果断做出取舍。
不过这也不是意味着之前做的事情都是白费的。我们五六年前就开始探索 AI 音乐的理解和生成,不管是音乐情感的理解能力,还是对歌曲的二次编辑,这些基础能力到现在也还是用得上,帮我们缩短了音乐生成大模型的开发周期,后续的生成效果也很快得到提升。
这是我 2019 年 3 月的工作计划,那时候里面就有关于音乐生成的部分,到现在已经五年多了
在意识到大模型带来的机遇之后,公司单独成立了一个叫 Seed 的部门,来专攻大模型技术。在 Seed 部门,公司提供了充足的计算和数据资源,团队内 Leader 们都聚焦精力做好大模型这一件事。
为了让自己能够更专注,我也进入了 Seed 部门,全身心投入到音乐生成模型的开发中。当时,我把一些比较成熟的技术方向交给了其他团队,自己的团队从五十几个人变成了不到三十人。负责的事情变少了,但却更聚焦了。我们不用急于让自己的算法模型用在各种产品中,或是每个功能都要做,而是专攻最核心的技术突破点——提高生成模型的音乐性,也就是让大模型生成的歌曲能够达到人类的水平,自然、悦耳、没有机器感。
但实现这个目标的过程挺波折的。过去一年我们遇到了一些技术瓶颈期,在基础模块的迭代上停留了很久,效果依然不满意。但支撑我们度过这段时间的,是大家的耐心和坚持。不管是整个业务的负责人还是合作的产品、测试同学,大家都充分信任我们,给足了我们探索的时间和空间。我感觉好像又回到了在学校做实验的时候,日复一日地专注于优化各种细节,让算法在技术极限的边缘再突破一点。
如果我们真的能让算法生成出来的音乐接近人类水平,甚至创造出一些人类从来没有听过的曲风,这对于整个音乐行业来说都是前所未有的突破,对我来说,这比单纯发一些 Paper 要有意义得多。
反复打磨了一年多,我们的音乐生成大模型终于上线了。不同于之前只能在固定的旋律或者歌词上改编,这次我们真正做到了让大家能直接“创造”一首全新的歌曲。上线不久,我们发现项目组的同学已经创造出了很多有趣玩法:
有同学把自己的恋爱经历写成了一首专属情歌,自己和对象都听哭了,准备以后在自己的婚礼上作为背景音乐播放;
有实习同学把期末背不下来的知识点,生成了一首信息量满满的歌曲,这样可以边听边记,无痛学习;
我老婆也用这个功能,给我们不到一岁的宝宝写了一首歌,分享给我爸妈之后,他们甚至都没有发现这是 AI 生成的,开心得不得了。
给儿子的歌
虽然功能还在不断完善,生成音乐的完整度和质量也都还有提升空间,但大家层出不穷的玩法,让我觉得自己好像离一直以来的目标更近了一点。
想起六年前第一次接触音乐生成算法的时候,我只是感觉思路一下子被打开,出现了很多当时感觉不可思议的想法。到现在,这些“不可思议”的想法好像正在一个一个被实现。将不可能变成可能,这就是我们全力推动技术突破的意义。
这就是我的过去六年,一个不典型的博士生勇闯互联网公司的故事,也是典型的字节跳动式快速成长的故事。
第七年已经开始,我相信我还有很多可能性。
最后还有一些想说的心里话,就藏在这首歌里啦👆。
欢迎投递字节跳动豆包大模型团队校招岗位,博士学弟学妹们可以重点关注 Top Seed 人才计划。点击“网站链接”,了解团队招聘信息,期待在字节跳动和你们一起始终创业。