校招生在字节跳动做 AI 模型相关研究,半年能出什么成绩?
文同学的答案是——抛弃历史包袱,自研一个模型,半年完成研发,综合效果优于历史模型。
文同学所指的模型,能够将文本转换为语音,相比当时主流模型,表现更稳定和优越,同时,声音韵律感也更好,表述更自然。发布后,该成果便替换掉了公司内的其他同类模型。
“对我来说,这是非常非常自豪的一个成绩”,文同学说,“这个模型现已用在抖音、剪映等平台,服务数以亿计的用户”。
从中山大学毕业,文同学以实习生身份加入字节跳动并转正,在这里,他不仅取得了亮眼成绩,也充分感受到授权和信任。据文同学分享,近期他和团队还有一个大模型成果发布在即。对于最终落地效果,大家比较有信心。
跟文同学一样,在豆包大模型团队,刚加入就获得快速成长的新人不在少数。
他们中,有人做强化学习,充分获得了资源支持,有人做对齐相关工作,大胆推翻过去的经验与方法——
这些同学如何获取快速成长?不妨请他们自己来说说。
图注:豆包 APP 语音交互界面
面试当中,第一印象就是字节跳动大牛挺多,每轮都来一个不同方向专家,让我感觉技术积累很丰富,技术认知也很好。我的 Mentor 是 UCR 博士,他也认为字节跳动研究氛围比较好,Leader 们对研究工作,都有更长线的规划和理解。
因为总在经历新技术挑战,我感觉,自己一直成长比较快。这样的工作让大家都有较大空间探索,尝试新想法,甚至,可以推翻之前的做法。
一个非常明显的例子是,早期做奖励模型时,我们探索研究了多种标注手段,经过模拟实验,选择了一种当时看起来效果很好的方案。
这套方案在早期非常成功,让我们的奖励模型、强化学习都快速地取得了效果,并且不断提升。
但不久后,我们奖励模型效果便陷入了瓶颈。经过细致分析,我们发现,早期的标注方法虽然一时效果很好,起步很快,但也造成模型上限低。
当时有同学提到能不能用 GPT-4 或 Claude 做标注,这样可以快速获得数据,但经过大家讨论后,一致决定不这么做。原因是这既不符合对方的用户使用条款,长期也会限制住我们迭代的天花板。我们不会因为短期指标,而牺牲长期愿景。
于是,我们集中脑爆了多种方案。在新的视角、模型、数据下进行扎实实验后,我们认识到,随着模型的进步、变大,我们的训练方法、思路都要动态改变。
在之后的研究中,不仅是标注方法,在 loss 选取、模型训练方法、模型参数方面,我们都发生过推翻原有结论,并获取新的进步的事情。
我觉得,大模型这个领域,可能每过一段时间就得重新审视自己的认知,如果过分依赖过往经验,很容易陷入歧路,因此氛围需要更自由一些。
在我们团队,Leader 都比较能接受大家新观点,当我想到一个新方法、新方向,他们都能支持我们去推进并提出建议,而且公司对试错容忍度也比较高。
预期上,大致什么时候达到什么目标,大家都会有比较合理的看法。如果一个方向比较久没有出成果,只要理论上大家认为有前途,就会一直支持你探索。
有一回,我在阅读一些经典论文时,看到一种奖励模型预训练方法,感觉在我们的场景也会有效,便提了出来。Leader 们听到了相关的思路后非常支持,成立一个专项来做。
然而,我们做了一个多月,从数据搜集/清洗,模型结构、模型训练多角度进行深入探索,发现都不是很有效。由于数据规模庞大,我们每次实验耗时都很久。
当时,大家都认定这个方法将会有效,只是需要进一步积累。
随着项目的进展,我们逐渐地积累很多认知,了解到哪些数据有效,以及为什么有效,当前模型能力边界在哪里。随着认识加深,我整理了全部实验并总结出了一个和之前论文完全不同的方案,发现效果很好。
这个方法给我们模型能力带来收益的同时,还促使我们在泛化性上有了很强认知、让我们坚定了继续探索的信念。
Leader 为你打辅助
当时,我们群里来了个新同学,我以为他跟我一样是新人,就去聊天,结果发现他已经博士毕业 5 年了,但跟我说话的语气完全不把我当新人,就感觉,不管你毕业多久,资历多深,大家交流还是非常融洽的。
相比学校,在公司我们日常协作更多,一件事需要跟同事们一起合作,跟在学校里一个人闷头做还是不一样,但在平等耐心的氛围下,也能迅速习惯。而且 Leader 和 Mentor 对新人也很重视,经常跟我们讨论想法。
后来我加入了豆包大模型团队,很快就接了一个任务,参与从 0 到 1 搭建 RLHF 框架。
RLHF 是 ChatGPT 核心技术之一,它的价值在于对齐人类偏好,消除大模型的有害性,同时提升有用性,让大模型的回答更符合人类思维逻辑。
这当中,挑战主要有两点:
其一是工程难度大,在较为复杂的 RLHF 训练框架下,如何随着模型规模逐渐变大,依然能保持稳定的 RL 训练。
其二是数据质量要求高,如何学习到更通用可泛化的人类偏好,这需要高质量的标注数据才能防止模型退化。
尽管我过往没有过强化学习的经验,但通过快速学习,以及另一个同学配合,解决了训练过程中 Reward 不收敛、训练 Advantage 不稳定以及 Reward Hacking 等一系列问题,很快上线了第一版 RLHF ,获得很大的线上收益。
而且我们团队也在后续持续迭代,进一步扩大了在各个场景的收益,也逐渐建立自己的认知,探索新的改进 。整个过程也让我觉得成长非常快,一边做一边学习,学到的很多。
目前,公司给新人的信任和资源也很充足。
一般新人来后,肯定会一些有挑战性的工作。比如去尝试之前没有做过的思路,哪怕这些思路跟现有方法有冲突,完全不是一条路也没关系。本质上,我们希望能找到有长期价值的技术。
计算资源方面,公司也有投入的决心和较充分的资源,使用分配也相对合理高效。如果新人任务优先级确实高,大家觉得短期有很高收益,有时,甚至把团队大部分资源占满也没关系。
另一个支持的例子是,我们训模型需要很多资源,准备速度跟得上机器节奏,Leader 就会帮你协调这个事情。
从我们的视角来看,大家现在都比较自驱,自我要求比较高。比如一次大模型发版中,会有不同同学接力,紧密配合,大家都想更早看到结果。至于背后原因,还是大家都希望跟上行业发展。