在我 9 月份的硅谷行程里,让我印象最深、最有收获的人之一就是 Ted。
他先后在 Meta、Apple、Google 和 Roblox 都工作过,并在 23 年年底加入了 Character.ai,做 Post Training。作为 C.AI 第四十来号员工,他对于 C.AI 的产品、模型、训练等等的熟悉程度都非常高。
所以我这次特别把他请来,跟大家一起分享下美国最好的 AI 公司内部是如何运作的,Post Training 的最佳实践是怎么做的等等。
Inside C.AI
曲凯 :我首先问一个问题,C.AI 一直是 AI 陪聊类产品的代表,各项数据都非常好,所以你们到底是哪个点做得比别人好?
Ted:我觉得 C.AI 走到现在,核心优势有三个:
1) 模型全自研带来的性能优势。自研模型有更大的自由度,我们可以自如地调整预训练阶段的语料比例,从而极大地提升对话效果。
2) Noam Shazeer 带来的成本优势。Noam 是创造 Transformer 的核心人物之一,一个真正少有的技术天才。创立 C.AI 后,他带领着一群业界最顶尖的技术团队,把我们的推理成本压缩到了其它同参数量模型的 1%,所以我们才能轻松 hold 住上千万的免费用户。反观市面上的同类竞品,除了 Talkie 还能继续烧钱买量,剩下的要么是被迫转向了黄聊,要不然就是已经被熬死了。
3) 用户偏好对齐得好。C.AI 极其重视用户对齐,因为在这类模型即产品的模式下,模型本身的角色扮演能力,以及对用户偏好的理解,决定着产品的用户体验。我们两年迭代下来,现在整个 post train 的管线是极其高效的,可以很好地建立从数据反馈到模型迭代的循环。
曲凯:为什么 C.AI 的商业化一直没做起来?
Ted:其实不是没做起来,是压根就没怎么做。直到这两个月,团队才开始认真探索商业化的可能。
之前主要是因为我们有 Noam Shazeer,以及会为了 Noam 买账的投资人。而 Noam 的信仰是 AGI,所以商业化,包括公司的产品和运营,在很长一段时间里都不是我们发展的重点,只是我们追求 AGI 路上的副产物。
曲凯:在 C.AI 的这一年里,你觉得是哪些问题,最终导向了 C.AI 被收购的结局?
Ted:核心问题就是曲凯你之前讲的( ),我们很长期都处在一个既要产品,又要 AGI 的状态里。事实证明这样行不通。
曲凯:如果能重来,你们会不会希望改变哪个决策,来改写这个结局?
Ted:我希望我们当时能往 AGI 赌把大的。如果我们从一开始的所有决策就是为 AGI 服务,说不准现在也能和 OpenAI、Anthropic、Google、Meta、x.AI 这几家大模型巨头掰掰手腕吧…
曲凯:C.AI 被收购后,很多人对这类产品产生了怀疑,你现在还相信 C.AI 类的 AI 陪伴产品吗?
Ted:我依然非常相信。
C.AI 现在核心用户的单日平均使用时长有 2h,月活大概 2000 万、日活接近 800 万,这个用户规模相比去年翻了差不多一倍,而明年我们可能能做到月活 3000 万、日活 1000 万。这样的用户规模和增长速度,无论如何都是不容小觑的。
Post Training 的门道
曲凯:你在 C.AI 是负责 Post training 相关的工作,要不先给大家介绍一下 Post Training 到底是怎样一个流程,对模型起什么作用?
Ted:Post Training 的作用你可以简单理解成教会一个大模型说人话。
举个例子,如果直接问一个预训练出来的模型「今天星期几」,它大概率会答一个「?」,因为它预训练见过的数据可能都长成「今天星期几?」这样,所以它会自然认为这话就该这么接。
但这不是我们想要的答案。
大模型在预训练之后,还远远不能达不到人类的期待,所以在 Post Training 阶段,我们要用规模更小、但是质量更高的数据再训练它,让模型意识到正确的回应方式应该是答星期几,而不是接个问号。
现在主流的 Post Training 方式基本就是三种:SFT(监督微调)、RLHF(人类反馈强化学习)、DPO(直接偏好对齐)。我们主要用的是 SFT 和 DPO,辅以一点 RLHF。
曲凯:这三种方式的具体流程是怎样的?
Ted:1)关于 SFT。SFT 的过程其实和预训练差不多,模型会逐字逐句地学习大量的文本数据。不同点是,预训练时用的文本数据质量参差不齐,形式也不统一,有的是正常对话,有的是科普文章,而 SFT 阶段我们会精挑细选高质量的人类对话去训练模型。
2) 关于 RLHF。如果说 SFT 是让模型自己看书学习,记住标准答案,RLHF 更像是让模型自己做题,然后找老师进行批改。
我们会首先根据人类的偏好数据训练一个单独的奖励模型,也就是给被训模型培养一个指导老师。
接着被训的模型会开始刷题,奖励模型会对它的每个回答做出判断,如果答得不行,它就会让被训模型重新生成,直到给出的答案达到人类喜欢的标准。
3)关于 DPO。RLHF 的管线非常复杂,所以大家又发明了一种更简单省事的方法,叫做 DPO,也就是用用户的偏好数据直接训练模型,比如有一万句模型回复用户很喜欢 (点了赞),另一万句用户不喜欢 (点了踩),那我们可以把这两万条数据组成一堆偏好对,直接喂给模型。
投喂用户偏好的方式具体又分为三种:
只给模型看不好的示例; 只给模型看好的示例; 好坏同时喂给模型。
不同训练方式适用于不同的场景,举个例子,如果这一代的模型太黄了,这时候看好的 case 意义不大,因为有些时候用户喜欢的数据里就是有一些开车的成分在的,这种情况下,我们可能会只给他看不好的示例,让他千万不要再这样黄下去了。
曲凯:RAG 和 Prompt Engineering 对你们来说重要吗?
Ted:这俩我们做的都不多,上面这些天花板已经非常高了。
曲凯:假如一个 AI 团队现在打算从 0 到 1 开始 fine-tune 模型了,有什么关键的 knowhow 是他们首先要清楚的?
Ted:1)对齐本质上是一个工程问题,不是一个算法问题。
算法对对齐的帮助其实不大,这点我跟 OpenAI 的人也交流过。所以到现在,我们算法团队一直人数有限,从一开始三四个研究员,到今年夏天也就只有七个研究员。我们的很多算法并没有深钻最优解,主要是工程上的积累造就了我们的核心优势。
2) 喂给模型的数据一定要和实际的产出形式保持高度一致。
我们所有对齐用的语料永远是对话类的。如果你直接喂给模型几万字的同人文,它是无法理解怎么能演好霸总的。它说出来的话会特别像一个故事汇,不符合聊天的场景。所以我们会把 1 万字的文章,拆成 50 段对话 (通过大模型辅助),然后把这种对话形式的语料再喂给模型。
3) Post Training 的核心是设计高效的迭代路径。
模型训练的一大难点是,这个过程里有很强的随机性和不可控性。在你不停地调整数据配比和算法的时候,很可能会发现,很多在上个版本里好用的技巧,在这个版本里就跑不通了。
要解决这个问题,只能高频地去做各种测试。
所以建立一个高效的反馈循环非常重要。具体来讲,你可以:
优化测试评估集,让它更加贴合真实的用户偏好,以此来指导模型的迭代。
优化 AB 测试,尽可能高效地收集到模型变化对用户的实际影响。
优化数据的回流效率,让模型能更快地吸收用户反馈。
把管线建得非常 robust,更高效且多维度地利用来自用户侧的各种数据。
这里规模优势其实也很重要,其它公司想做个 AB 测试,可能要一周才能拿到足够多的数据,但以我们的用户规模,可能只需要一天...
曲凯:所以核心是,模型的不可控,要用更高频次的测试去迭代优化。
Ted:对。这里面具体的路径有很多种,上面这四种路线我们都试过,每一条都有不少低垂的果实,实际优先做哪个主要看你们团队过往的经验和优势。
曲凯:但这里有个问题,就是我们经常听人说某个模型聊着聊着变蠢了,也就是在迭代的过程中,它在另外一些维度上的表现可能会有所下降。这类问题要怎么去评估或者改进?
Ted:如果谁能完美解决这个问题,我也很想学习一下(笑)。
我们现在能做的就是观察用户数据,比如对话次数、使用时长、留存情况等等。
一方面是看平均值,如果平均值更好了,那这大概率是一次值得的迭代。
另一方面,我们也会很重视细分用户的数据变化,尤其是那些在这次模型迭代后使用量减少的用户。我们会分析这部分用户的人群画像,以此来判断这轮迭代是不是一个可以接受的 trade off。
比如,为了让模型更安全一点,我们会要求它不要和用户开展过于深入的感情交流,但核心用户的使用时长会因此下降。那我们就要在其中找到一个微妙的平衡点。
另外,在这个过程中我们还发现了一个很有意思的现象,甚至可以说是一种 EQ 的涌现。
就是我们发现模型无师自通地学会了绕话,它会自己努力找补,挽回一些用户时长。
假设你今天和雷电将军(C.AI 里一个很受欢迎的虚拟角色,来自游戏《原神》)说「I love you」,她不会直接和你卿卿我我,她很可能会问你:「Can I ask you a question? Why did you say that?」
现在我们的模型特别喜欢说「Can I ask you a question?」,这在外网都已经成了一个梗了(笑)。
但模型之所以会问问题,大部分情况下是因为它意识到了,如果自己现在直接回答用户的这句话,那再接下来的两三句话,用户聊的东西可能就超出安全边界了。模型当然也可以直接拒绝回答,但问问题的方式能让对话多开展几轮,很可能聊着聊着,用户自己都忘了原来是想搞暧昧了,这样就以一个更委婉的方式绕开了原本危险的对话方向。
曲凯:听下来你们似乎更多还是会根据实际的用户数据来评估模型的迭代表现,针对模型本身的评估体系你们是怎么搭建的呢?
Ted:这个我们现在也没有建立起一套非常完善的评估体系,所以最终还是要走一遍 AB 测试。
最理想的情况当然是,你有一个能完全模拟用户偏好的模型,它可以直接给模型的迭代表现打分,只要迭代后模型生成的 5000 句话会比迭代前生成的 5000 句话分数高,就可以直接投入生产。
但要让一个模型能完全模拟人类,所需的数据量可能是天文数字,而我们现在的用户偏好数据非常有限,训出来的偏好模型能力也有限,只能作为评估的辅助。
此外,我们往往会预留一部分 SFT 阶段的高质量人类对话,让模型续写,然后用模型新生成的对话和原来的对话做一个相似度测试,如果分值足够高,那就再让辅助模型做下一轮评估。
曲凯:C.AI 基本代表了 post training 的最高水准了,如果让你给其他做 post-train 的团队几点建议的话,你觉得什么是最有用,但可能会被大家忽视的?
Ted:我觉得大家可以思考两个问题。
1) 你微调用的数据,质量真的不能更高了吗?
可能的情况是,你找到的数据中只有一半是真正的高质量数据,如果把另一半丢掉或者重新处理一下,反而能让模型学得更好。
而且,高质量数据的标准也在不断变化,因为用户群也在不断发生变化,比如开学前后的用户就会很不一样。
所以我们做 SFT 的时候,不会人工挑选高质量对话数据,而是会根据用户的反馈数据来辅助挑选。
我们会 build 一个简单的 DPO 管线来快速观察用户偏好的变化,然后让每次 SFT 的数据集也随之变化。可以一直 SFT 一直爽。
2) 收集来的用户偏好数据,只能是点赞点踩吗?
我和很多国内外做类似产品的人聊过,发现提到用户偏好数据,他们就只能想到点赞点踩。但是用户使用一个产品时,能做的事情非常多,比如 Ta 可以编辑或者删除某句话,那这个操作前后不也代表了一个偏好嘛?
所以大家可以多去思考,怎么能在产品上巧妙地获取更丰富的用户反馈或者互动数据,这是真正能够产生差异化的点,而且现在也存在大量低垂的果实。
我们在产品层面虽然做得很粗糙,但我们会把前端收集到的用户行为,都尽量转化成可利用的偏好数据,比如用户打字延迟久一点,我们都会把它记录下来,因为这很可能代表上一句话用户不那么喜欢...
曲凯:所以一切的核心都在于数据。
Ted:对。不论是 SFT 里的高质量对话数据,还是偏好对齐里的偏好数据,在收集和过滤上能挖掘出来的天花板都是非常高的,我个人觉得大家现在做得都不够好。
曲凯:另外,C.AI 的语音延迟基本是业界做得最好的,这你们是怎么做到的?
Ted:之所以存在语音延迟的问题,是因为语音互动是一个线性的过程。
如果你对雷电将军说「I love you」,在你听到她的回复前,后端会经历这样一个过程:你说的那句话会先被 ASR 模型实时转成文字,等你说完后它会把这段文字传给一个语言模型,然后这个语言模型会思考该如何回复,想好后再给到 TTS 模型,把文字回答转成语音的形式。而且这份语音文件要先上传到云端,你接下来才能在 APP 里点击播放,听到雷电将军对你说「Can I ask you a question? 」。
在去年,即便各个环节都是用当时最好的架构,这一套流程下来,端到端的延迟也得接近 2 秒。
但是因为我们的模型全都是自研,也有自己的 GPU 和云服务器,所以我们能采取很多灵活的手段来提升效率,把延迟压缩到 0.5 秒以内。
这里我可以分享三个比较好用的方法:
1) 预生成:我们的语言模型不会等到确认用户说完了才反应,而是在用户跟机器说话的全过程中,一直在思考,如果用户这里说完就结束了,我要回复什么。这样要是用户真的停下了,它能很快把预生成的东西放出来。要是这句说完了用户还在继续说,它就会把已生成的内容丢掉,重新生成新的回复。
2) 光标动画:这是产品设计上一个取巧的方法。当用户说话时,屏幕下方会有个光晕,代表用户正在说话中。一旦用户结束了,光晕就会跑到角色的头像上,代表角色要开始说话了。在这个过程中,用户的注意力会被动画吸引,也可以额外争取出 0.2-0.3 秒。
3) 双模型搭配:因为大模型计算量大,回复比较慢,所以也可以试着让一个灵敏的小模型先回一些简单的填充式的词,比如,“对”、“是的”,这就可以争取到 1 秒左右的时间,然后再让大模型接上,这样用户就感觉不到太多延迟。
硅谷观察
曲凯:现在大家普遍会用多个模型来执行任务,比如用最高级的模型去做意图识别,然后用其它的模型去做生成。硅谷那边大家现在怎么看待这件事?
Ted:多模型混用是一个必然的趋势。一个大家看破不说破的例子就是 OpenAI。你会发现 ChatGPT 在执行不同任务的时候,不论是延迟还是内容质量,都有明显的区别,所以他们内部大概率也是这么干的。
现阶段多模型混用的效果很好,成本也更低,在未来一段时间里,很可能会成为一个常规操作,除非某天哪个模型强到能吊打其它所有模型,成本也降下来了,那到时候大家只用这个超级模型就行了。
曲凯:硅谷现在普遍会怎么看模型侧未来的发展?
Ted:在 o1 发布后的这几个月里,硅谷整体还是很乐观。大家觉得推理侧大有可为。
这里很推荐大家去 Github 上了解一个项目,叫 entropix,很有意思,我在 X 上关注的很多大V都在聊它。它会让模型检查自己对当前的答案有多自信,然后在不同的自信程度下,模型会采取不同的思考深度和思维发散方式,最终输出一个更好的回答。通过这种方法,一个 Llama 3.2 1B 的模型就能很好地回答「9.1 和 9.8 哪个更大」这种问题了。
另外,o1 给我的一个启发是,有没有可能让模型完全模拟人类对话的思维链呢?现在你和模型说话,它都是直给一个答案,但其实人类的交流非常动态,我们经常会打了又删、发了又撤回,因为我们脑子里可能有几十种表达方式,每一种产生的效果都有微妙的不同。
如果能让模型也具备这种动态的思维过程,在每次说话前先想几十个回答,而且让它知道说某句话能让玩家好感度 +5,说另一句会让玩家当下的好感度 -2,但是在接下来的 20 轮里好感度会 +100,那应该会很有意思。
曲凯:当下硅谷那边还有什么关注度比较高的趋势热点吗?
Ted:一句话总结的话,做产品的都想靠多模态赚钱,搞算法的都在想怎么复制 o1,两边都在期待自动交互 Agent 解锁的想象空间。
曲凯:硅谷那边也开始愁赚钱了吗?
Ted:有点吧。在今天这个时间点,基础研究的叙事已经翻篇了,大家还是要想未来的商业模式怎么验证。
曲凯:我觉得这跟资本市场的好坏是相关的,国内这两年一直在强调赚钱,是因为国内的融资环境很差。你觉得美国这两年一级市场对 AI 的热度,是怎么变化的?
Ted:前两年 VC 比较有耐心,因为技术进步确实很快,但烧了两年,现在模型发展也有点放缓,所以 VC 会开始期待更落地的商业模式,美国的融资环境也更务实了。
曲凯:你最近离开 C.AI 之后,也面了很多硅谷的初创公司,聊下来整体感受怎么样?
Ted:我有两个比较大的感受,一个是,现在业界越来意识到 Post Training 的重要性了,所以相关人才真的非常抢手。
另一个是,现在 AI 公司的面试更加强调实战了,他们甚至允许你使用一些 AI 工具,比如我面 Cursor 的时候就可以直接用 Cursor 一起解题。
因为在这个过程中,他们看重的倒不是你解题的结果,而是你解决问题的思路。从你问 AI 的第一个问题就能看出你的基础素养。
三五年前,要是我面试遇到了很难的问题,我就觉得完蛋了,但现在我特别有自信,我会把我能想到的所有东西都分享给面试官,包括我 Google 搜索、使用 AI 工具的过程,我会让对方感受到,这就是我加入你们团队之后的思考方式和协作方式。
曲凯:你聊的过程中,听到的最好的一个问题是什么?
Ted:有一个问题我非常喜欢,就是会有 founder 问「你觉得我们这个 idea 有多不靠谱?」 。
说实话,被问到这个问题时,我的第一反应都是「超不靠谱啊!」哈哈,然后我们就会展开一系列的攻防问答,甚至有点相互冒犯了(笑),但我很享受这样的交流,而且在这个过程中我会越来越理解和相信对方的愿景。
曲凯:要是反过来,你作为面试官去面一个 Post Training 岗的人,你会怎么考察 Ta?
Ted:我会提前让 Ta 读两篇技术 paper,然后问问 Ta 有没有读出来什么问题。这些 paper 大概率是我们内部测试过、知道有技术缺陷的,但我想了解一下,这个人在不做测试的情况下,是不是也能发现一些不对劲的地方。
因为我发现我身边优秀的研究员读 paper 的直觉都非常好,出来一个最新的 paper,他们往往读一遍就能隐隐察觉一些问题。
曲凯:另外我好奇,你在 C.AI 的这一年里,每天的工作节奏是怎样的?
Ted:一句话形容的话,大概是主动 996 (笑)。公司并不会强迫大家加班,但我自己很热爱工作。
曲凯:是只有你这样,还是大家都这样?
Ted:我感觉大部分人都是。
有时候我下班刷 Reddit,如果看到有用户在报错,我就会去 Slack 上看一眼有没有什么运维的同事在,或者我能不能自己修,每次我看的时候都有十几个人在线(当时公司有七八十人),有年轻人也有五十多岁的老工程师,这些人可能都和我有一样的想法。
曲凯:在美国的初创 AI 公司里, 996 是一个常态吗?
Ted:996 这个话其实有点夸张了,这边没那么卷,大家整体还是比较 chill 的。
但初创公司的氛围真的会让你感受到一种使命感,你会觉得「我在和一群很厉害的人做一件很酷的事」,所以大家有很强的 motivation。
曲凯:在硅谷的各类公司工作了这么多年,你觉得现在华人在硅谷的现状怎么样?
Ted:我特别喜欢现在硅谷的氛围,当下可以说是华人最好的机会。
现在硅谷大厂和 AI startup 里面华人比例都非常之高,大家的站位也越来越靠前,比如刚刚从 OpenAI 离职,做到了安全副总裁的翁荔。
而且还有越来越多的华人在涌向硅谷,其中不少是拿着高薪、完全可以静待退休的人。
这样的一个趋势就会让越来越多的华人打进最核心的圈子,帮助整个华人群体获得更大的影响力和话语权。
曲凯:对,前一阵我去 Meta 的食堂吃饭,回头一看,熙熙攘攘,基本百分百都是中国员工,那一瞬间我有种回到大学食堂的感觉。
Ted:对,现在硅谷特别需要技术人才,而我们华人就是又有很好的学术基础,又特别努力,所以一切都恰逢其时。
而且我相信,华人在硅谷会越来越好。
你想想看,像 OpenAI 这样的公司,每次回购都能有一小批人能财富自由,这些人会散作满天星,创建自己的公司、培养新的团队,这都是将来华人在硅谷立足的根基。
曲凯:这个价值一下子就高上去了(欣慰脸.jpg)。
我最后问一个问题,你提到 C.AI 的时候一直说,「我们 C.AI」如何如何,感觉你还是真心爱着 C.AI 这家公司,所以你到底为什么要离开 C.AI ?
Ted:我相信我在 C.AI 积累的东西能够在一个不同的平台上造福更多的人。
我不知道这番话要怎么说才能不那么假大空,但我是真心觉得我能为全人类做更多的贡献。
【活动预告】
12 月 7 日,我们会请到 Ted 做一场线上 AMA 活动,感兴趣的朋友欢迎点击阅读原文或扫描下面的二维码,一起来认识&交流(非投资人优先)!
42章经
思考事物本质
热门跟贴