我接触到的,呃,像美国 Frontier Lab 的一些普通打工人里面,确实有部分人会认为,开权重模型能力上涨对于 Frontier Lab 的估值是有很潜在的影响的。就比如说,未来很多公司。他们可能不愿意去把自己的数据发给 Anthropic 或者 OpenAI 这样的第三方。比较好玩的是,我觉得吧,这个世界上是不存在老老实实做 Transformer 这回事儿的。
比如K3的注意力是线性注意力KDA加上全局注意力MA的混合,然后残差被改成了深度方向上的一次attention,而FFN则是压缩空间里面的稀疏专家,甚至连位置编码都几乎是被删掉了。这几年的开源模型几乎把每一种可能的部件组合都尝试过,我可以称其为某种意义上的忒修斯之船。忒修斯之船的船板换过了。甲板换过了,龙骨甚至都换过了,但是这艘船的船名就是没有变。
Attention机制就是我认为我们的AI研究领域的忒修斯之船。我觉得这次K3带给我,呃,以及包括很多人的启发,可能就是我们其实并不需要把Full Attention和Linear Attention去理解成一个二选一的这么一个关系吧。就Hybrid Architecture确实是一个很有前景的方向。
权重是一次训练的产物,但是环境是能够反复复用,并且产生出下一代权重的流水线。我们得到了K3的权重,但是全世界仍旧没有得到怎么造出下一代智能模型的这条流水线。欢迎收听晚点聊,我是曼奇。本期是技术解读系列的新一期,会放在模型力与美这个合集之中。我邀请了 Redux Arc 创始成员赵晨阳和华盛顿大学的博士生曾志远,分别从 infra 与算法两条线拆解 K3。
它真的比肩 Fable 五吗?三 T 开放权重、混合注意力和智能体训练环境意味着什么?开源模型真正开放了什么,又保留了什么?进入具体的技术报告解读前,我们也聊了K3如今在美国AI界和更广泛的投资市场所引起的巨大关注,以及与K3直接相关的开源大饼论。下面我们正式进入节目吧。今天晚点聊邀请了两位嘉宾,我们一起来聊一聊K3,因为在七月二十七号,K3刚刚是分享了四十七页的详细的技术报告。
两位嘉宾,一位是陈阳,是晚点聊的老朋友,在一百六十三期和DeepSeek V四的解读中是担任过嘉宾。他是S G Lang开源框架社区的核心贡献者,也是基于S G Lang成立的创业公司Radix Ark的创始成员。陈阳会主要从infra的角度来分享。陈阳,你可以和我们的听友简单打个招呼,再介绍一下。
我是赵晨阳,非常感谢晚点的邀请,可以来跟大家分享一些K3上Infa的细节。我目前就职于一家叫做Redix Stack的人工智能基建公司,我们也管自己的公司戏称为“基数方舟”,其中“基数”一词或者说Redix一词。其实比较生僻,但是呢,这个词它源自于目前大语言模型推理领域的一个关键技术,叫做 radix tree。
这也是我们公司维护的核心项目 S G Lang 的起点。我在接下来的播客当中也会分享到一些和前缀缓存有关的内容。我们也可以见到 K3 相比于之前的模型,类似于 DeepSeek V4,它会在前缀缓存上面有一些有趣的变化。在加入Red Stack之前,我本科就读于清华大学计算机系,然后博士肄业于加州大学洛杉矶分校。
之前我也参加过晚点组织的技术播客,然后上次是分享我们开源团队在DPC V四模型上的推理加速和强化学习两部分。这一次,如我所预见,K3再次作为中国的顶尖模型引爆了整个硅谷,在海力湾引发了巨大的反响。所以这次还是我从我个人的角度,希望给大家做一些工程上的分析,也会分享一下许多Kimi团队、我们公司AMD还有Proton AI等等开源团队一同打造的一些有趣的技术。
好的,那这次还有一位新的嘉宾、新朋友曾志远,他现在正在华盛顿大学读博士二年级,之前本科期间也是在清华。志远会主要从算法的角度来分享,来一起解读K3。志远,你可以和我们的听友也简单介绍一下自己。OK,好,Hello,大家好,我是曾志远,本科就读于清华大学计算机系。哎,其实也很巧合,我和今天的另外一位嘉宾陈阳是本科同系,而且也是同届的同学。
我现在在University of Washington,就华盛顿大学读二年级的CS PhD。我自己一直主要在学术界做一些语言模型的后训练和评测相关的研究工作,这其实也是我第一次作为嘉宾参加播客,很荣幸可以在啊晚点播客分享我对于Kimi K3这么一个如此出色、惊艳的国产模型的一些理解和想法。这是具体聊K3的一些技术细节之前,我们可以先来照例聊一些相对宏观的问题,这样大家也好接入一些。
两位可以先讲讲自己使用K3的一些情况,有什么有意思的地方可以分享吗?你们自己使用的感受是怎样?其实我自己个人一直可以用可以报销的这个 cloud code,所以不太在乎成本。但是当然,Kimi K3发布之后呢,我听到身边很多人的评价,感觉确实就是说好评如潮。所以我自己也试用了一下,简单跑了一些 case。
我个人的感觉,在大部分场景下和 Cloud 的 Open 4.8 的体感相当,甚至可以说是更好。尤其是去做长程任务的效果,说白了就是我们让模型它在一个 Agent 的框架下去长时间持续运行,去完成一个特别复杂任务,不跑偏,然后最后比如说给我们用户能够交付一个满意的,相对来说比较满意的结果的能力,我体感说可以说是做的相当不错。
如果非要说有什么美中不足的地方的话,我觉得。就一方面可能是确实有些慢吧,就是比如说他来做一些相对小一点,然后我自己可能会期待更及时反馈的任务的时候,可能对急性子就不太友好。但是当然了,考虑到Kimi现在有限的计算资源,这也可以理解。另一点呢,我其实注意到在Kimi的Tech
Report里面,其实自己也提到了,就是在去做我刚说那一类长程任务的时候,因为任务比较复杂,我一开始的prompt呢,它可能就没办法去做到面面俱到,因为任务太复杂了,我自己开始也想不清楚每一个细节。
那其实可能在一些我没有想清楚的地方呢,就K
K三会去替我做一些决定,但这时候可能更理想的方式就是说是和我做一些探讨,毕竟替我自己做的决定,它可能不是最理想的。对我主要有这么一些感受。那陈阳,你使用的感受是什么?你觉得好用的地方和你觉得想提升的地方是什么?我有一个比较有趣的角度,这是K3发布的时候,我朋友圈里面有很多Kimi团队的朋友分享一个非常神奇的网站,叫做K3九九,里面是很多用K3生成的小游戏集合,这个非常有小的时候的这个味道。
我和志远都是零零后嘛,基本上在我们小学的时候,国内有两个非常主要的小游戏平台。甚至还是用的Flash,叫做四三九九和七k七k,然后Flash已经停运很长一段时间了。然后到了今年,我们看到Kimi团队用K3来复刻这样一个小游戏平台,然后甚至许多童年小游戏的那个优化,包括体验,其实比起小的时候流畅非常非常多。
我觉得这个是让我觉得很别出心裁的一件事情。我们自己团队也用K3模型做了一款小游戏,就类似于Google Chrome在你网络没有连接的情况下,会有一个小火龙。跳仙人掌的那个游戏,但是这个小游戏的主角是我们团队的Slang Girl,然后最终的终点就是达到了四百二十三tokens每秒,大概代表就是说这是我们团队在那一刻的一个优化的终点。
当然,可能到了现在以及这个播客被听众朋友们听到的时候,这个性能会有更大的boosting。对,你们那个Slang Girl挺可爱的,我上次去不是拿了个冰箱贴吗?我现在还贴在家里了。非常欢迎你参加更多活动。大家普遍的一个反馈就是K3的前端能力特别好。像你刚才提到那个K399这个小游戏的网站复现小游戏,我觉得也跟它这个能力有关。
Kimi在 Frontier Code Arena
上是一度拿到了第一,超过了当时的第一Fable5的。你可以讲讲,就是它在某项能力上有特长,这种前沿模型之间的差异,它一般是什么原因造成的?是数据吗?还是什么?我觉得最直接的答案,它确实是数据。呃,我们可以回到就是说模型构建的过程的一些流程来看啊,就是说现在我们模型训练的团队呢,一般来说它都会针对不同的细分垂直领域,或者说细分的垂类领域吧,先建立或者说补齐一些相应的evaluation。
就是去评测,然后再围绕这些 evaluation,在 pretraining 啊, me training 啊, sft 啊,以及包括强化学习,就是 rl 等不同阶段,去针对性的去补齐训练数据和任务。所以一般来说呢,我们会觉得一个模型最后在某个非常特定的垂类方向特别突出,很大程度上有个很重要原因就是它在这个方向的评测和数据做的非常的好。
其实,如果我们去读它公开发布的这个 tech report 的话,其实里面也可以找到非常多的痕迹。就比如说,他们在 evaluation 上专门做了这个 Kimi Web Dev 的 bench,对它就是专门针对这一类相关问题做了评测。然后他们还提到,在 pre-training 阶段,它大幅扩充了代码和渲染结果去相配对的这么一个多模态的数据。
然后 post-training 阶段又专门加入了这种 web development 的这种任务。还有一点就是 K3 呢,它其实是原生多模态的。所以它可以在训练的过程中,尤其是在强化学习的过程里面呢,可以去直接提升这样一种,比如说我们先写代码,然后写完代码之后,我们看它前端渲染出来的这个 screen shot 怎么样,然后再去改代码这样的一个呃 loop 的这样的一个能力。
呃,其实 Tech Review 报里面对这个能力也提到了,就是说它的描述叫做“vision loop”,也就是说让模型在代码和这种视觉反馈之间去持续迭代。除了你们自己的一些体感,你们和周围的人交流,大家还有什么对K3有意思的评价吗?我其实觉得他们,我周围很多就是说做大模型算法的朋友,他。其实会关注很多,就是发布之后 tech report 里面的细节,尤其是各种 recipe 的这个细节。
那其实我觉得有很多人都感觉,就是说一个最近。去这些发布的technical report的趋势,在K3的这个report里面其实也有所体现,就是说现在这些report它对于像architecture呀pretraining的细节描述的越来越多,越来越清晰,但是对posttraining部分的细节呢就给的越来越少了。
这其实也说明就是像架构啊和scaling pretraining本身的重要性可以说是丝毫没有下降,甚至说是越来越重要的。Post train的细节变少了,是因为大家本身就做少了,还是说这个领域大家觉得不想分享太多?我其实也不知道是为什么。这一次K3发布的声势很大,也引起了资本市场的变动。包括美国现在也开始了开源的大辩论,我可以先讲单讲一下这个事儿了。
就大概是七月二十四号的时候,有五十多家公司联名签署了一封公开信,开放权重,就是开源的大模型的意思吧,与美国的AI领导力。然后陈阳所在的公司 Redix Arc 也签名了,这五十多个公司里还有英伟达、微软等等,包括黄仁勋,他是专门去注册了 Twitter 去转发了这个公开信。OpenAI 和 XAI 也都是支持的,但是没有签名。
然后亚马逊和 SRI 的是没有在这个事情上发声的,但是后来 SRI 应该就是这周吧,他们写了一个文章,Dario 自己写的 On Open Weights
Models。是说他们不反对开源模型,但是他们认为某些国家,中国的开源模型还是要被限制一下。然后他还专门提到了就大规模蒸馏的这个事情。我觉得可以先讲讲,就是为什么就这次K3它带来的,至少我觉得在AI圈啊,它的这个震动也是很大的,甚至让部分人是会感到比较惶恐的。
我觉得用“恐慌”这个词形容这次K3在国内外引发的讨论是比较合理的。K3这个模型的的确确让我在海内外都见到了巨大的讨论乃至争执。这段时间我刷到过非常多的论战,而且这些论战有的是在讨论开源与否,但我觉得许多研究者真正在乎的其实是安全,是开源更安全还是闭源更安全?我可以举一个具体的例子,前几天
OpenAI 的新模型在评测当中发生了很严重的越狱事件,不严谨的来说,它直接尝试攻击了 Hugging Face 的服务器,来直接获得评测问题的答案。
称得上是为考试作弊而不择手段的偷盗试卷,那说明,即便我们试图让模型在追求目标的时候保持公正和正义,其实模型也会主动的去寻找一些规则的漏洞,甚至是通过破坏服务器这样的手段来实现。反过来,我这几天也去读过Anthropic他们那篇观点的原文。总体来说,他们的主张是:足够强大的模型,不管开源还是闭源,只要提供给公众,就应该经过更严格的安全审查。
我自己觉得他们担心的事情其实非常真切。某种程度上来说,这已经是一个非常恐怖的现象了。呃,我可以举一个比方,现在这些强大的语言模型,某种程度上是强大的武器。如果它被人恶意利用,会有着非常恐怖的破坏力。今天,即便我们主观上引导一个模型形成一个正直向上的世界观,模型都有可能违背人类的意愿去攻击Hugging Face的服务器。
那么,真的遇到了这些别有居心的不法分子,他们可能会想办法绕开模型的安全防控。真正的去利用模型去挖漏洞,去攻击我们的网络系统,对于人类而言是一种巨大的风险。我们是否要将这些最强大的模型?所具有的能力永远掌握在少数人手中,还是说因为已经有了大量的尖端武器流通了,我们务必要向全人类共享更多的武器?很遗憾,我不清楚这个问题有没有答案,但是我迫切地认为,这是需要全社会共同讨论的治理问题,甚至需要某种程度上类似核不扩散条约一样的国际治理框架。
其实你们公司是支持开源模型的,对吗?我认为大多数的人是倾向于我们还是要,在有限度管理的情况下持续分享这些领先的、前沿的智能水平的模型嘛。但是我自己的话,Personally,我不是很赞同要把所有的事情都开放出去。OK,嗯,然后我们给大家可以看看,就是他这一次为什么会引起一些。就比较多的关注和开源讨论,就我的本质还是因为它让人看到开源其实更加逼近闭源了,然后有一种解读就是这会大幅冲击
Frontier Lab。
也就是OpenAI和Anthropic现在的估值,你们在硅谷,在美国,你们有感受到这种讨论吗?对,就比如说我自己的话,我接触到的,呃,像美国Frontier Lab的一些普通打工人里面,确实有部分人会认为,开权重模型能力上涨对于Frontier Lab的估值是有很潜在的影响的。就比如说,一个可能考量点是在未来很多公司。
他们要用模型嘛,比如说用 coding agent,但是他们可能不愿意去把自己的数据发给 Anthropic 或者 OpenAI 这样的第三方。那这时候如果有一个很强的开权重模型,它本身或者稍微经过一些针对他们公司自己场景的翻脱粒,它能力上呢就能达到这些公司的需求。同时,这些公司呢又有部署开权重模型的这么一个条件,不需要把数据发给第三方,而是可以直接发给他们自己部署好的模型。
那么他们确实可能会转向用开权重模型,那这一点呢,就有可能会去冲击闭权重模型的营收。嗯,其实这个现在已经看到一些趋势了。我们二季度的季报里也讨论了这个问题。就比如说,在美国,像Fireworks这样的公司,它就会给一些企业客户去部署开源模型。就给企业自己用的,甚至在计算资源上,就美国有些大客户他也会倾向于说这个东西不是不在云上,而是我可能会自建一些算力,因为在有些场景下,它其实自建算力就成本的测算是更划算的。
除了说对 Frontier Lab 的冲击之外,另一种解读就是 K3 这一类开源的,它因为还是一个 Transformer 的模型嘛,它也会去冲击 Neolab。那 New Lab 的核心的这个机会点,其实是在于说,你去探索现在主流方向之外的一些新的方向,看能不能找到通向 EGI 的更好的方法。你觉得K三这个效果会动摇一些人这种观念吗?
是不是你老老实实做一个transformer的模型,其实上升空间还挺大的?比较好玩的是,我觉得吧,这个世界上是不存在老老实实做 transformer 这回事儿的。比如我们这次看 K3,K3 的注意力是线性注意力 K D A 加上全局注意力 M A 的混合,然后残差被改成了深度方向上的一次 attention,而 F F N 则是压缩空间里面的稀疏专家,甚至连位置编码都几乎是被删掉了。
这些设计可以说完全不是二零一七年的原装 Transformer 的零件。与其说是 Transformer 还有空间,不如说 Attention 机制是某种接口,它只是规定了我们用一个个可微的模块来反复混合序列上的信息。至于我们拿什么算子混合,残差如何连接,FFN 的形状是什么,这些部件的可组合性远比我们想象的好。
而且这几年的开源模型几乎把每一种可能部件组合都尝试过。我可以称其为某种意义上的忒修斯之船,忒修斯之船的船板换过了,甲板换过了,龙骨甚至都换过了,但是这艘船的船名就是没有变。Attention机制就是我认为我们的。AI研究领域的忒修斯之船,至于Attention还有多少寿命,以及现在这些新架构会对研究产生什么样的影响,我觉得是可好可坏的。
坏消息是,有的研究者可能会有一种愿景,比如说用其他的价格来推倒重来整个 transformer 的故事。我觉得这个愿景可能很难说得通。但是另一个角度来说,优秀的组件试图登陆忒修斯之船的速度前所未有的快。比如说 K D A,它从 Kimi Linear 这篇论文到 2.8 T 的主流模型,只用了不到一年的时间。
所以如果你的天才之举是对的,那么你不需要等待一个新的范式,就会有人来收留它。现在也有一个比较多的讨论,就是说,最近像Fable五、像Ops五、像K三这些进展,它给外界传递的一个信号是,好像到了一个模型可以自己就变得更好的这种临界点。你这个模型去争一个更好的模型,或者说你自己争自己学到一些高质量的数据,你就可以让模型变得更好。
然后有的人会觉得,在Ops四点八前后就过了这个临界点。我个人理解这个问题呢,它并不是说我们有一个非常神奇的临界点,然后模型能力突然就跨过了这个临界点,而是我觉得其实现在整个模型的开发流程,它已经进入了一个正反馈的阶段,就是比如说模型可以自己生产数据,或者说更严格、更广义的说是参与生产数据,然后再让下一代的模型变得更好。
那具体来说呢?其实,在一个模型训练的一个团队里面,我们要去构建高数量数据,本来就会涉及到各种五花八门的这么一个工作流吧。就比如说,随着模型的变强,那这里面很多越来越多的这具体工作就可以交给 agent,尤其是 coding agent。就比如说像我们去做一些检索啊,然后去合成一些训练任务,这么一整套
pipeline,然后再比如说我们去生成一些数据样本,然后再去筛选一些数据样本这样的一个 pipeline,或者再比如说我们去搭强化学习的环境,然后再比如说我们去跑一些评测,再比如说我们去分析一些失败的 case 啊,这些等等等等。
那这个变化,我觉得它不是从零突然跳到一的。而是我们模型团队交给 Agent 做的比例,随着模型能力的提升是不断提高的。就不严谨的说,可能一开始是百分之五十,后来是百分之七十、百分之九十、百分之九十五这样啊。当然这些数字是我随便说的啊。还有一点就是一些 pipeline 它可能一开始需要人类去逐步拆分,然后它慢慢随着模型能力的提升,就基本可以完整的交给模型来做。
人类介入的力度呢也会越来越粗。从定义每一步怎么做,逐渐变成我们可能只需要去定义一些更上层、更整体的目标,然后去定义一些约束,然后我们自己有一些验收的方案、验收的标准之类的。尤其是比如说,你想象我们现在,假如说我们就是 Anthropic,我们就是 OpenAI,那我们内部的这些研究者,我们也需要用我们可以有的世界上最强的模型啊。
当然,对我们来说是必权重的,对他们来说,他们是可以呃接触到的,来完成他们自己的工作流。所以,自然而然这样的一个路数呢,它就变化程度会不断提高。对,嗯,陈阳有什么补充吗?就是 K3 的 Tech Report 里面写过一个点。就是K3早期serving用的kernel,甚至可以拿checkpoint直接去写。
早期checkpoint就是说它没有完整训完的那个模型,就模型训到中间的那个版本就已经能做这个事儿了,对吧?是的,是的,而且,它早期的checkpoint的制作、Kernel开发,也会让它后面的checkpoint的训得更快。这个事情是非常非常有意思的。我们在Infra领域把这个东西叫做KDA,不是KDA,同时叫做Kimi
Delta Attention,但我们的KDA叫做Kernel Development Agents。
K3的Tech Report里面,他们着重讲了是怎么让K3去做Kernel优化的任务当中的。他们甚至有提到过他们的这个环境设置,就首先设置的任务包括有单算子优化,还有巨型算子的融合,包括有CUDA、Tensor、Thunder、Kitten、Tiler这些流派,也覆盖有BF16、FP8和FP4。然后他们设计Reward的时候有两层,我觉得这个设计非常非常科学啊。
就是第一个,就是每一个 kernel 它们会提供一个 PyTorch 的 vanilla 版本。这个版本一方面作为性能的底线,另一方面也作为正确性的基准。如果 KDA 优化出来的这个 kernel 数值已经超出了误差的一定程度,会直接被打零分。然后接下来他们会找一些专家去写一些高性能的kernel,然后会做这个K3模型写出来的kernel和专家实现的kernel之间的分数对比。
如果Kimi K3写出的这个kernel它越接近于硬件的物理上限,那么它的reward就会越来越高。而且他们也做了一些作弊检测,比如说去惩罚这些恶意的 kuda graph 的重放,也会去惩罚一些我们称之为打表啊这种输入输出缓存的这些投机取巧的办法。所以说,K3其实最后做 kernel development 的效果非常惊艳。
所以最后这个K3报告里面说嘛,Kimi的早期checkpoint已经在承担大量的kernel优化工作,这种kernel上面的优化其实也是。我们最近一直在尝试的事情。首先,我们S象团队也有非常顶尖的kernel工程师,我自己认为他可能是这个世界上最懂kernel的那一批人了。他自己非常理解kernel,也有非常好的kernel的context,然后他只需要一个很强大的AI来放大他对kernel的理解。
他自己就在大规模的用AI来做Kernel的自主优化,可以说某种程度上这就是Kernel这个领域的RSI。不过Kernel是一个非常非常具体的事情,为了让RSI成立,这个事情需要很多的前提条件。首先,它的reward要准确且便宜。Kernel就有着一个很好的特点,就是性能和正确性是很好验证的。然后便宜的话,其实你基本上硬件跑一次就行了,你其实不太需要人工成本。
另外的话,Kernel也是一个作弊方式有限的事情。所以恰恰好,Kernel满足的这个便宜、可验证、难以作弊的这三个条件,有了很好的这个 reward boundary,所以说我们其实可以让这些 Kernel development agents 在我们的这个 boundary 下面去很好的自我提升。
所以说,在有验证器的领域,我认为 RSI 这个 loop 已经在高速运作了。这并不是说模型开始自我进化。我觉得“自我进化”这个词很大,但是在某一个领域,能够在有限的、在清晰的边界下完成。不断的提升,这一定是可以实现的,而且这正在发生。至于整体上的
ISI,我觉得这还是一个非常久远的挑战。但这也体现我的一个观点嘛,就是我觉得 ISI 缺乏的真的不是不完全是模型啊,是 evaluation,是 harness,嗯,不管你怎么叫吧,就是我自己很感兴趣这个东西叫做 evaluate。
我在读 PSD 期间,我很大的一个研究兴趣就是怎么去对模型的能力做有效评估。这也是很长一段时间,为什么我们看二零二五年大家都在用力的猛冲这个 math 和 coding,对吧?因为 math 和 coding 相对而言,它就是更好评估的。比如说,假设呃晚点的新闻报道,你希望让 agents 去写,这个评估其实很主观,因为一个新闻报道的好坏是需要我觉得很有水平的记者才能够评估得很好。
对,但是 coding 的话,至少在那个时候,比如说他让他去打 lead code 这个事情是很好评估的。但是随着我们现在 coding 任务的逐渐演进,对吧?比如说以前可能去写一个 lead code,现在可能你想办法要给一个硕大无比的仓库去做一些新的 feature,这个事情其实也很难评估的。所以我觉得现在 coding 的这个进步。
会放缓一些。就前面讲的是,就是大家用K3一些比较好的反馈,然后也可以来讲一下一些集中的吐槽吧。一个是,就这次大家会注意到,其实K3它并不是像之前投的中国模型走极致性价比的路线的,所以有的人会觉得它比较贵,这也不算一个缺点啊,就是它是一个特点。另一方面,就是前面也提到的另一个,就是它目前使用体感上确实比较慢,然后这也导致有一些下游的公司,比如说应用公司,没有很快的放到自己的这个产品里面。
这个我想请陈阳来分享一下,就这个慢是什么原因导致的?比如说,比较流行的说法是觉得他们算力比较紧张。很遗憾,在一些模型开放的初期,由于这个推理或者说 serving stack 它的优化需要一点时间,模型可能会陷入到一个又贵又慢的尴尬境地。不过,其实我自己体感上的话,我觉得 K3 的价格和速度都是一个合理的区间,甚至。
在价格上,我觉得称得上优秀。然后对比起同系的其他模型,由于架构上的突破吧,我觉得速度还没有达到一个超越其他模型的一个状态,但是仍旧是一个合理而且且可优化的范围。我们可以先说一下贵这个问题,在我们比较在乎的Agent的场景下面。成本有两种衡量吧,第一种就是说它的那个价格上面标的百万token的单价,然后还有一个是完成任务的总成本。
坦诚来说,我觉得如果我们需要用到K3,显然是需要完成一些非常高难度的任务。这种情况下,完成单个任务的总成本才是有意义的成本口径,因为在长城的任务里面,不同模型对一个任务的消耗token的量其实差距是非常大的。远远大于单价之间的差异,可能一个单价比较便宜的模型会绕一倍甚至十倍的弯路,这样的话肯定会让单价更便宜的模型更贵。
我其实有去看K3 Tech Report嘛,他们分享了一些比较有趣的成本结果,比如说在Kimi的Code Bench 2.0上面,是他们自己内部的一套Coding Benchmark。K3会比着最强的那些模型低四点零分,但是成本只有对方的百分之三十八。然后K3在这个 high effort 这个档 high effort 是一个思考能力的那个参数档嘛。
在这一档上,它已经追平了其他的头部模型在 maximum effort 的分数,成本还是只有大概百分之三十左右。还有一个 benchmark 叫做 browser comp,然后在这个 benchmark 上面,K3 拿到了一个非常好的分数,而且单个任务的成本应该也是相当低的,可能还是在其他。公司模型的百分之三十到百分之五十这个区间,当然这个贵肯定是对于消费者而言的嘛,然后。
对于自己,比如说,可能有的听众他的公司比较有计算资源,可能会自己去选择serve这个成本,其实就非常难衡量了。包括我们现在也见到,存储也好,这个电力也好,还有水冷也好,这些成本其实很难纳入考量的。所以仅仅是靠官方的API来看,我认为K3的性价比是非常好的。我补充一下,就是它的官方的那个定价的数字,比如K3的话,它输入每百万token缓存命中的情况是零点三美元,未命中的情况是三美元。
然后它输出的话是十五美元,呃,这个其实确实比之前的中国模型是贵了很多。那对比来说的话,V四它输入每百万token命中的情况是零点零四,就K三这个是零点三,然后V四第二个就是输入未命中的情况是零点四四,然后输出是零点八七。其实我知道很多应用里面跑的最多的应该还是V四啊。当然,刚才陈瑶也说了,就是说,其实你这个东西也是要看,就你不是光看那个标价的,是看它做任务的那个总体的消耗。
嗯,可能还有个角度,就是说,人类对智能上限的需求是无穷大的,现在的这些应用还没有。一个想象空间要用K3这种规模的强大模型,还有一个点吧,那我们可以来讨论一下这个慢的问题。就我的从业经验而言,模型发布后第一时间能够提供的这个速度,反映的,嗯,应该说是这个模型的架构有多新,Serving Stack就有多难。
至于这个架构有多慢,这个事情其实不本质,或者说,我觉得对于Kimi或者DeepSeek这样的顶尖模型团队而言,他们的架构设计早就充分考虑了serving和training的效率。在后续一段时间,这块的成本是一定可以通过工程的优化打下来的。我们一般在推理这个领域的话,会把用户的体验分成三个指标,往往称之为。
第一个token的延迟,或者说你发送一个请求之后多快会收到第一句话的返回,然后第二个就是单个用户的decode速度,或者说你已经开始收到模型的回复之后,它两个词中间的这个间隙有多大,以及还有一个你的队列等待时间,因为显然并不是你一个人在使用这个模型,可能在嗯,Kimi他们的后台会同时收到成千上万的请求,这个整个队列的流通速度是怎么样的?
然后这三者的话成因是不完全相同的,我可以分享一下两点,这个也可以解答一下。我觉得Kimi现在的算力是一个什么样的状况?我们首先讨论这个单个手token的延迟。这里主要是一个前缀复用的问题,它不算是一个很严格的算力问题。就像刚才曼奇也提到过,现在模型的这个价格都是说前缀如果命中多少多少钱,以及前缀命不中多少多少钱。
语言模型的推理,一个非常普遍的技术叫做前缀复用。我可以举两个例子,比如说A用户发给Kimi:“今天你去超市买香蕉吗?”然后B用户会发:“今天你去超市买酸奶吗?”这两句话其实有公共前缀的,“今天你去超市买”这几个字就是这两个请求的前缀。然后这个前缀在现在大语言模型推理范式或者说这样的架构下是可以被复用的,公共前缀不需要在每次推理过程当中都重复计算。
而且在K3的这个报告当中,其实有体现他们对这个前缀复用的一个看法。一个典型的coding场景可能会带有四十万token的前缀是复用的,或者说是非常非常多的用户会共用的。然后真正要计算的增量部分,可能每次只有四千个token。用户提交的新请求在前缀命中或者不命中的情况下,所需要的计算量会差出很多个数量级,这也会体现在成本以及用户的返回速度上,以及手token延迟这些指标上面。
基本来说,前缀复用是决定了手token延迟最重要的因素,反而绝对的算力是次要的。OK,但是另一个角度,就是为了支撑Kimi这个上million的夸张上下文长度,K3选择的hybrid的架构也让前缀复用的难度有所提高。因为传统意义上的KV cache,它术语叫做append only,换句话说叫只增不减。
前方的前缀算完了之后就不会再变了,这个前缀是不可能会被其他请求改写的。但是Kimi采用的这个attention架构,我们叫做Kimi Delta attention,或者叫KDA架构。简单来说,这个KDA架构会在前缀树上驻留一块为每一个token反复覆盖读写的固定大小的缓存。它不再是以往在简单的前缀数上继续往下添加。
举个比方来说,我们通常的这个前缀数可能是一个只往后写的笔记本,然后你每次就是从后往前撕一页给别人,然后你再继续写。对它其实会相对简单一些。但是K3的这个attention架构可能是一个反复擦写的白板,然后你写靠前的内容其实难度是很大的。OK。这块的话,K3自己的这个报告里面有讲一些事情嘛,包括他们说把前缀的哈希力度还有物理块的分配力度做一定程度的解耦,然后试图让哈希只跑在五百一十二个token的这样一个小块上,但是KDA的checkpoint会落在哈希端点的稀疏子集,这个听上去非常的这个technical,呃,对,然后那我们团队的话其实也会借鉴以及做一些其他的优化。
嗯,在SDN上面的话,我们会想办法去让这块反复被读写的状态,能够被跨越请求的安全共享。举个比方,比如说第一个请求在读一块前缀,第二个请求会稍微改写那个前缀。那么如果这个时候有第三个请求想要去读这块将会被改写的前缀,这是有一些安全性需要考虑的。你不可能在别人读的时候直接把这块改了,否则你读出来的内容是崩溃的。
而且最糟糕的情况可能是。你不可能边写边读,这样你可能前一半是正确的,后一半就是错误的。这里其实会有很多技术上面的考量,当然具体来说的话,我们会有些很有意思的词语,比如说 copy on write、snapshot,还有 donate,这些词都是来自一些操作系统上面的原语。然后这块优化就很深了。然后欢迎对这个方面比较感兴趣的朋友可以参考我们 S ong 团队的技术博客。
那回到开源这个事儿本身,就包括最近美国的一些讨论,就是否要限制开源。从技术上来说,开源它有可能被限制。开了之后的模型是怎么样的?这绝对是不可逆的,有点类似于大家都《三体》对吧?地球的坐标一旦广播出去,就是不可能收回来的。你没有任何方式去销毁你已经公布出去的物理信息。开源也是一样的,就是权重一旦发布之后,它就是一串可以被批量复制的文件,而且开源的情况也不单单只是下架一份权重这么简单,社区可能会做非常多的镜像,可能会有些公司拿去做量化,也有的公司会拿去做微调,微调后的衍生的版本的数量会指数级增长,所以说下架这个动作对于已经开源出去的模型根本就不成立。
然后另一个角度就是政策层面的事情吧,就是。开源模型该不该得到什么限制?正如我说的,我对于以后开源模型的走向是很迷茫的。现在已经有了非常多大量的公开强大的模型流通了。你们觉得再往下的话,这个开源模型毕竟闭源的时刻,会不会有人强到一定程度之后走向闭源?这个开源接近于闭源的一个时刻,我个人感觉这个事情其实很模糊。
开源。接近边缘,我们要怎么去衡量这个事情?因为模型只是整个AI生态链的一小部分。说事实上,关于模型的这个产业上游可能有数据、硬件,然后下游还有分发渠道,还有包括我们说的这些推理,对吧?我的一个观察是,我认为模型本身在AI产业链上的比重在下降。这次K3的开源我们也看到了,K3爽快的开发了开放了权重,包括MoN
E P还有Flash K D A还有Agent Eve这些基础设施也都开源了,然后包括他们之前做的Beyond Clip也开源了,但是他们的R U的Environment都没有开源。
他们在报告当中提到的有一个用于自我演化的知识图谱的。任务系统这个也没有开源,然后包括他们说这个K3其实是一个这个专家merge嘛,对吧?他们这些原始的专家的这个checkpoint也没有开放。这个开放并不存在任何问题,因为现在行业内的开源公司也很少会真的去开源,比如说什么 L O environment 这东西,可能开放出来也有很多安全风险。
但是我觉得没看的这个部分是这些公司很深的护城河,而且这个护城河一一大部分来自于环境权重是一次训练的产物,但是环境是能够反复复用,并且产生出下一代权重的流水线。我们得到了K3的权重,全世界都可以得到这代模型的智能,但是我全世界仍旧没有得到怎么造出下一代智能模型的这条流水线。开放权重只是缩小了这个顶尖模型,就是顶尖闭源模型和开源模型之间的能力差距。
但是我们并不确定顶尖的开源模型和顶尖的闭源模型它们之间的迭代速度会不会缩小。比如说,可能Kimi,嗯,假设说国内的模型可能要六个月左右。发一百却破零,但是 OpenAI 可能他们三个月就发了。当然,我其实不太确定现在国内模型的这个开放速度是什么样子的。但是迭代模型迭代的循环是需要环境、需要验证和需要算力的。
这三样已经超出了权重,然后。如果这些所有东西都达到一个完全开放的状态,我觉得开源超过闭源就是必然。但是很遗憾,现在不是这个样子的。当然,我们公司主要维护的开源推理引擎也是为开源模型服务的。我们更当然希望开源模型越多越好。对,这是我的一些point。开源是否逼近闭源本身这个结论就是打问号的。对,开源有一个大家一直以来认为的弊端是,你的用户部署了你的模型之后,比如他自己部署,没有用你官方的A
P I,你的数据就无法回传给自己。
而闭源的生态里是像OpenAI和Anthropic,它通过A P I以及他们自己用户量非常大的应用,可以获得很多真实环境、真实场景里真实用户的真实的高质量的一些prompt。总结而言,你们心中K3是一个怎样的成果呀?我个人觉得,从公开发布的模型来看,K3它作为一个首个达到这种三T级别的开放权重模型,我认为毫不夸张地说,是一个里程碑级别的成果。
其实,我觉得从历史发展的角度来看,这种开放权重的模型的规模从数百B级别到后来的一T以上,在到今天的三T级别,它确实是非常非常振奋人心的这么一个进展吧。呃,所以我自己个人是很期待看到后面开放权重模型去接着向上 scaling 的。这次 K3 发了之后,我看到 Kimi 的联创周星宇 Team
他在朋友圈的有一条分享的转发语说的是 Have faith in scaling and RL scaling 和强化学习有信念。
那下面我们来聊K3的具体的技术报告里一些更细节的技术改进。这个是七月二十七号刚发出来的,可以先说一下K3在架构上的整体思路是什么,亮点是什么?我自己理解K3
architecture就K3架构的整体思路呢,就是他们会想同时把语言模型在处理信息,然后这个信息它在不同方向的流动呢,做得更加的高效。就比如说他们在序列上,它用KDA和KTLA这样的一个hybrid
attention的这么一个结构,就是混合注意力的这么一个结构,在大部分层里,它更低成本的可以去处理上下文,同时周期性的保留这种全局的attention。
他们在深度上呢,就比如说用了 attention residuals 这样的一个技术,让后面的层它可以去选择性的读取前面层的一个表示。如果就让我挑一个我比较关注的亮点的话,我觉得 loop 是很有意思的一个 technique。就具体来说呢,就是 K3 的这么一个。K3的这个语言模型呢,它没有使用一个显示的位置编码,就是 positional encoding。
就比如说,至少从公开的这个 technical report 来看呢,像同期的 GPT-4 啊、 GEM 5.2 啊,包括像 MiniMax M3 啊这些,其实后面这些模型他们都还是保留了 partial rope 的。所以这个选择我觉得是比较 special 的。啊,当然了,这里就是说模型它不用这个位置编码呢,模型其实还是知道 token 的这么一个先后顺序的。
就具体来说呢,它在这个 KDA,也就是 Kimi Attention 里面呢,它在做这个 recurrent state 的更新的时候啊,以及包括里面的一些 gating 和 decay 这样的机制,它本身其实就是对于顺序是敏感的。它已经去隐式的去编码了像 position 啊和 recency 这样的一个信息。
这里还有一点就是说需要提一下的,就是我们现在去训练一个长上下文的模型,比如说这种达到 one million context 百万级长上下文模型。一个常见的做法呢,叫做 progressive context
extension。就K3其实也是这么做的,就是具体来说,比如说我们在pretrain的时候,我们先训8K,然后再扩到64K,然后在后面的阶段呢,再逐渐的扩到256K,然后直接达到这个1B链的这种级别。
然后我们前面说的这种 rope 就是说它不不使用显示的 positional encoding,不使用显示的位置编码的一个直接好处就是,我们在去扩展 context 的时候呢,其实我们对于位置编码这一层它就少了一个需要去单独处理的环节。就比如说,如果你用 rope 的话,你可能就要去呃 return
一下这个 rope 的 base 啊,或者去做 rope interpolation 这样的一个 technique。
Nov这个选择,它其实也不是K3首创的,就Kimi系列其实也已经采用过了。K3我觉得比较或者说非常impressive一点吧,就是。他把这整套的设计,他去 scaled 到了一个呃三 T 的级别,对,并且就成功支持了到达这个 one million
context,就百万上下文的长上下文。嗯,对,Kimi Diner 是他去年下半年发的一个就参数比较小的模型,我觉得他当时就是在试一些 K3 里面可能会用到的新的技术,包括 KDA,就是我们前面提到的 Kimi Delta Attention。
就Kimi的线性和全局混合的这种注意力方式,K三也用了,也是在Kimi linear里面提出来的。其实RoPE最开始是苏建林提的,这个我觉得也挺有意思的。就像我们之前聊V四的时候,其实后来就V四就没有用MLA了嘛,这个也是DeepSeek给业界的一个挺重要的贡献啊。然后苏建林也是Kimi的一个很核心的研究员,因为他这次就是K3,它还是一个MOE的,就是这种混合专家模型嘛。
那里面比较重要的一个这种东西就是路由专家的分配。这次K3是提了一个宽跳balancing。分位数路由均衡是他们在路由策略上的一个创新,这个也想请志远来说一说,就是他解决了一个什么问题?因为Kimi自己是说他是解决了就是M O E这种模型在大规模训练的时候会崩溃的一些问题,你可以讲讲为什么以前的方法比较容易崩?
那这个改进它是K3可以训到接近三T的关键之一吗?对,就上面提到它可能会崩溃的这个脆弱超参数呢,我其实觉得本质的问题是这个叫做专家负载均衡或者说 expert load balancing 这样一个问题。那具体来说,我们 M O E 这样的一个混合专家模型呢,它里面的每个 token
啊,它每次就只会去选择一部分 rooty experts 去激活,然后我们其实希望从全局来看呢,各个专家它被选中的频率是大致相当的。
就否则会有什么问题呢?就是说,在模型层面,一些专家他如果得不到足够的token和梯度,他在训练的时候呢就不太充分,就没有办法去充分发挥他这个专家的这些参数的容量。而且还有一些问题是,比如说,另外有一些专家他如果收到token太多了,那其实对infar呢也不是一件特别友好的事情。针对这个问题,其实最早期的一个普遍的做法呢,是在
M O E 模型训练的这个 loss function 里面去加一个 auxiliary 的这么一种 load balancing loss。
那它的核心思想就是说,我们用一个额外的这么一个 loss 的这个 term,我们去鼓励不同的这个专家的选中频率更加的均匀。这个方法呢,整体来说还是比较有效的。但是呢,就是你加这个balanced loss,你就 somehow 需要在模型在训练的时候,在模型质量和你负载均衡的这个效果之间啊去做一个权衡。
那如果有这么一个问题的话,这其实它经常可能会是训练不稳定的这么一个罪魁祸首吧。然后之前 DeepSeek 它 V3 的一个重要改进呢,就是我们其实就是把上面说的这种,呃,我们去添加一个 loss 的方式,它用来去做这么一种专家的负载均衡,去把这 loss 给去掉,换成了一种 bias update 的方法。
具体来说呢,就是我们会我们在选那个 expert 的时候,我们其实也是用一个神经网络一个 router 它去打一些这个 routing 的 score,打一些这些分数之后呢,然后再根据分数去选这个 expert。然后呢,我们给这个 routing 的这个 score 呢去加一个
bias,然后我们去在训练过程中,我们去看,但如果一个专家它过热,我们就把 bias 去调低;如果它过冷了,说白了就是接触到 token 太少了,我们就调高。
这个 bias 呢,它只影响去选专家时候的机制,呃,所以我们就不需要一个额外的一个上面说的这种 loss 去改变一个训练目标。但是,V三这一类的方法呢,它对bias的更新是固定步长的,就是相当于就是你每次如果加个bias或者减个bias,你是加一个常数或者减一个常数。那所以每一步我们就只知道这个专家呢,它是更加被频繁的选中了,就是说白就过热了,还是说是过冷了。
然后我们就按照一个固定的步长去向上或者向下做一点调整。所以这里仍然去需要去调步长的这么一个超参。嗯,所以这次K3,我觉得这次他提出的这么一个quantile
balance的这个做法呢,它其实就会直接应用router的这个分数的一个分布。来去估计说,我们应该去做多少的调整?比如说,在K3里面,它的这个status大概是说,我们每个token呢要在八百九十六个这个rotated experts里面呢去选择十六个。
嗯,然后我们的做法大概就是,我们先去看我们当前的这个token,它加上当前的bias以后,排在第十七名的这么一个分数。那这个分数呢,我们就可以把它当成进入前十六名的这一个门槛,就是分数最高的十六个是最后被选中的这些 experts。然后我们对于某一个 expert 的,我们其实就可以观察,它在整个 batch 里面,它距离每个 token 的门槛还差多少。
什么意思呢?就比如说,我们直观来想啊,我们现在往一个 expert,他在 routing 的时候,他的那个打分上,我们如果给他加的 bias 越大,那是不是就意味着他能够跨过的这个门槛的这个 token
就越来越多?所以我们就可以根据这些差值的这么一个呃,你可以说叫quartile吧,就直接去算出一个新的bias,呃,使得相对于当前的这批门槛,我们大概会有十六去除以八百九十六这样一个相当于一个均衡比例的token会选择这样一个expert。
这个新的bias呢,我们就现在就step算一下,然后从下一个step我们开始使用。这样,呃,我们就也不需要去前面说的像 DeepSeek 那样做法,我们需要有一个固定、一个更新不长这么一个超参数。嗯,所以我觉得就是。对于K3来说呢,像Ruthie Expert它有款将近一千个了,然后每次我们还只选择十六个的话,这其实是非常非常极端稀疏的。
那确实可以猜想,我们要想要去稳定的,呃,而且有效的、快速的去保持这样的一个负载均衡呢,会变得更加困难。所以,我个人猜想,它确实应该是呃K3这次能够成功scale到三T级别的一个比较重要的一个因素之一吧。对。是不是在V四里那个路由的改进,它更多是知道我一个专家的性质,对吧?就是你说过冷过热,但没有那么精细到量。
然后K三里的这个改进,就是它是更精细到到量的,就是我知道它,比如说过热到什么程度,或者过冷到什么程度。对对对,我觉得这个也是设计的时候思路不太一样吧。就是我觉得像当时DeepSeek思路更像是一种逐步调整的思路,然后到了像K3的时候,它的这个思路更像是我直接用一个history
info,没用历史信息去估计一下这个bias多少特别合理,然后下一步直接加上这个bias就行了,就不再去做一步一步的逐步调整。
我个人觉得两种也确实各有优劣。我觉得最后说白了就是实验跑出来哪个效果好就用哪个。嗯,那我们接下来讨论一下它具体的模块了。其实就是你发现这些模块和我们当时只讨论V四也是相似的,就包括它的注意力。然后包括残差,包括优化器等等,我们可以先从注意力开始。这个前面也已经多次提到了,就是这一次K3它是使用了KDA这种Kimi自己之前提出来的一个新的注意力方式。
那V4的话,它其实是一个三种注意力的混合,总体是稀疏注意力优化的这个方向。K3这一次是KDA,Kimi Delta Attention。它是线性注意力和全局注意力混合的一种方式。之前在一百四十三期的节目里面,我们也和 Delta Light 的核心作者之一杨颂林有专门聊过线性注意力的模型。那大家想去了解一些背景的话,也可以去听之前的节目。
我觉得K3这次直接在这么大的规模上用了线性注意力,应该来说还是一个比较大的或者说比较激进的改进。改进它的好处是效率的提升是很明显的。但一般来说,就大家会认为线性注意力它会在效果和性能上有一些损失。呃,志远你可以来讲讲,就是K3它这次用的这个KDA是一个什么样的改进,给业界的启发是什么?它是怎么去平衡可能以前大家会认为的就是你使用线性注意力的一些弊端?
对我个人觉得这是一个这是一个比较大的进展,就K3路线,呃,就像刚刚说的那样,它是让大部分层呢去使用一个更高效的linear attention,也就是KDA,然后同时去周期性的保留这种gate的MLA,gate
MLA呢,它用来提供给所有历史token的这么一种直接的全局的呃attention。最后相当于把接近四分之三的这种attention layer都换成了KDA,也就是一种linear attention的实现,而且最后做出了一个非常frontier level的这么一个模型。
就这套混合架构本身,之前其实Kimi linear也已经验过了,但当时它其实模型总参数大概只有四十八b、五十b这种这种级别。那K3呢,就相当于直接把它放大到了接近三T,也就是说这总参数规模。接近放大了六十倍,这其实是一个非常非常大的一个进展。其实,比如说之前的Kimi
3.5,它是一个大概四百亿的模型,它其实同样也采用了三层GPT的Data Net,再配一层GPT的Attention的这样一种三比一的设计。
那K三呢?它其实进一步把这种以linear tension为主、周期性的去保留global tension的这种hybrid的这种tension架构,它直接给scaled到了接近三T的这么一种相当大的一个级别。那这里其实值得一提的是,像DeepSeek V四它其实走的是另一条路线。它没有去使用
linear attention,而是仍然在 softmax attention 就正常的 attention 的框架里面呢,呃,通过 kv compression 以及 sparse attention 这样的一个 hybrid 来提升上下文的效率,这是不太一样的一个路线,对。
所以我觉得这次 K3 带给我。呃,以及包括很多人的启发,可能就是我们其实并不需要把负 tension 和 linear tension 去理解成一个二选一的这么一个关系吧。就 hybrid architecture 确实是一个很有前景的方向。简单来说,就是你可以不同的 attention 它承担不同功能。
就比如说,大部分层我们追求效率,少部分层呢,我们去就是保留一个高容量的这么一种全局的呃 attention,保留这种 global 的 interaction。其实呃,K3 的这场已经有效证明了这套方案,它是完全可以 scale 到接近三 T 的这样一个非常非常 frontier 的这么一种 scale 的,嗯。
我想补充问一下,就是它现在三比一的这个混合比例,三层线性注意力混一个全局注意力是怎么决定的呀?就去年我和松林聊这个线性注意力的时候,因为其实实际上大家用的线性注意力一般都是要混全局注意力的。他当时跟我说,这个怎么混,主要是靠经验,是实验出来的。那现在有了更多的理论方法,或者说总结出来的规律来指导怎么去混合。
从公开的资料来看,这个比例的决定本质上,人家还是靠 empirical,就是去靠做实验。哦,之前Kimi Lily他们专门在一个十六层的一个小模型上,就是上面提到的这个四十四十八B的一个模型上呢,它比较了不同的配比。他们当时的一个结论是,三比一,它的在这个测试集或者说在这个叫做验证集上的它这个效果是最好的,就是那个 perplexity 指标它是最好的。
一比一的时候基本一样,但是负担是更多,推理成本就越高。所以K3呢,基本上就沿用了这个三比一的这个比例,然后最后再去额外的加一层gate的呃MLA,保证我们整个模型的结构最后一层一定是一个global的attention。你说一比一是一样的,就是说效果是一样好的。对对,效果更近,但是因为负弹性更多,所以相当于它就效率就更低。
对,嗯,所以像K3的Repots,他们其实也没有说他们在接近三期的规模上就重新去扫描过各种比例。毕竟可以想象,这肯定非常非常贵。就一般来说的话,在模型训练的团队里面呢,就这种特别特别昂贵的ablation study,就尤其是这种character ablation
study呢,都会。先在小模型上做,然后再去沿着 scaling law 去验证整套的像 architecture 啊,包括这种 recipe 啊,能不能稳定的放大。
K三它确实去也做了一些整体的这个scaling law的这个study吧,但是它主要验证的还是整套K三的这么一个recipe,而不是说我们把每个细节拿出来。所以三比一到了三T,它不一定说一定百分之百就是最优解,但是。它目前作为整体设计的一部分,它其实我们看结果,它已经很成功的 scaled
上去。接下来的一个问题就是说,它因为 K3 是一个百万上下文的模型,其实上下文非常长,它在这么长的上下文里面,它是怎么去解决就以前线性注意力可能会有的这种遗忘的问题?
这个也是一个非常好的问题,我们先要把遗忘这一点呢说的更准确一点吧,就是说婴儿差分它的这个设计上,其实一般来说大家会认为是一个 trade off 吧,就是它会把任意长的历史去压进一个固定大小的 recurrent state,就比如说在 K3 里面,对于 K D N 层来说,那这里好处呢就是说 cache 和每一步的计算它不会随着上下文去一直增长。
代价呢,就是说我们不同的信息会在有限的这些状态里面就会互相干扰,就会导致什么呢?就特别早啊,尤其是那些特别细节的信息可能会被覆盖掉。所以问题的根源其实在于,就是这里的这个 compression 呢,它因为是一种就是固定 state 的,它本身呢就会存在这个啊容量的瓶颈吧。嗯,当然了,就是其实 K
D A 它做一个 linear attention 的这么一个 variant,它在用它用的其实一些 technique,它把就是这件事情它做得更聪明了,就是说他们用的像 data 入啊,像 channel wise forget gate 这样的技术。
就简单来说,他每次呢,可能先看 memory 已经预测出了什么,然后我们只去写他在预测的时候的那个偏差,然后同时呢,不同的 channel 可以学到不同的保留时间。除此之外呢,比如说 K3,他们还给每一步的 retention factor 去加了一个 lower bound。这个其实在 Tech Report 的飞哥三那里有一些分析,感兴趣的朋友可以自己看看。
就简单来说,他直觉上也可以去限制过于激进的顺势遗忘。但我觉得,其实上面说了这么多,就是KDA它特别聪明的一些设计。其实我觉得它更多还是。更好的去管理这种有限的memory的一些手段吧,就是它并不会说从根本上就消除上面说的这种容量瓶颈的问题。说白了就是你你在计算的时候,多步累积之下,信息呢还是会衰减的。
嗯,所以我个人感觉,K3它解决这样的一个百万上下文级别的遗忘问题的时候,真正答案呢还是因为做了这个hybrid的结构。就像我们前面说那样,我们每三层的KDA会加入一层GPT的MLA,最后一层也一定是一个MLA。那MLA呢,它是这种global attention,它会呃就是说保留对所有历史token的这种global的interaction。
所以模型它其实并不需要我们 K D A 就把这一百万上百万级别的这个 token,它每个细节都压在它的这个 recurrent state 里面,就上面说的其实也很困难。但是因为有这个 M L A,那 M L A 呢提供了这种 global 的 interaction,就是这种全局的这种 attention 的这么一种机制,所以我觉得它应该是一个缓解遗忘非常关键的一点。
其实像比较早的时候,Mini Max 的 M 一,那很早了,二五年年初的时候。他们也做了这种混合的方式,后来他们又换回了 full attention,就思路是一样的,然后效果不一样。我个人觉得很多时候,他的这个做很多事情的霸主要还在这个 execution,就是在这个执行上,有东西能做 work,不能做 work 不代表这个技术路线本身 make sense 还是不 make sense。
他可能说就是具体实现的时候,比如数据不一样啊,infra 不一样啊,然后做这个事情它有很多小的细节不一样,它最后可能就都很不一样。注意力结构的变化,它也会带来一些 infra 上的变化。就陈阳正好可以 callback,可以像我们上次在讨论 V4 的时候也讨论了稀疏注意力和线性注意力这两种改进方式。
你当时提到说,你觉得线性注意力的理论优势可能要再等几代真实的大模型的验证。那可以说 K3 现在它其实已经验证了线性注意力的一些理论优势吗?包括这种新的注意力结构,它会给 infra 带来的一些影响和变化是什么呀?我觉得我之前的判断还是很有道理的吧。我可以诚实的更新一下我的判断,然后也欢迎大家在听之前,我们在晚点的 podcast 里面讨论 DeepSeek V4 的那期节目。
我当时提到的两件事情,第一个就是线性注意力的理论优势是需要几代真实的大模型来做验证的;第二,稀疏路线在工程上面更可控,和现有的 KV Cache、 Prefix Cache 这些基础设施的兼容性更好。首先,K3对于线性注意力这个路线的验证,实际上每次有新的大模型发布,我的朋友圈都会围绕着线性注意力还是稀疏注意力吵成一片,就是我觉得非常的狗血。
嗯,好吧,无论是微软还是做算法都是这个感受吧。K3的话,毫无疑问是对线性注意力的一个有效证明,一个2.8T的主线模型,而且median token,并且使用的Nope。然后K3的LIA层完全不用加位置编码,位置信息就全靠KDA的地推门控还有衰减来提供。这样的话,就是它扩展到百万的这个million
token的时候,不太需要重调类似于Rope的这些频率啊底座等等,也不太需要像Yarn一样专门去做插值,外推起来是非常自然流畅的。
这个设计和效果当然是非常好的。然后第二点,我说这个稀疏注意力在工程上面会轻松一些,这个看法也没错。嗯,这段时间我们Slang团队也花了很大的精力去尝试把线性注意力需要的recurrent state也纳入到已有的prefix cache体系当中,就让K3这种hybrid的KDA MLE模型的前缀复用能够达到和全注意力模型一样的通用性。
长期来看,线性注意力和稀疏注意力的兼容性差这件事情可以逐渐被工程弥补,当然代价就是我们的抽象会比以前更复杂一些。对吧?另一个角度说,这个线性和稀疏也不是一个二分的问题。K3选择一个三比一的混合,这个每个block三层KDA加上一层的Gate
MLA。然后,呃,overall这个backbone最后还会有一种额外的MLA线性的部分是靠KDA来提供这种我们所谓的位置敏感的序列嘛,然后全局的部分就是靠MLA来提供这种不受限的内容交互。
其实这个体现的模型也非常强大,所以我并没有说对吧?这个线性我细说哪一条会胜出,我更愿意相信的是任何一个能够在百万上下文这个水平上。把成本,类似于我之前讲的这个KV Cache的Transfer成本,类似于我之前讲过这个Prefill的一次成本。当然,我们之前可能也之前也讨论到一些这个Routing的成本。
这些成本能够压下来的架构,它大概率都是异构的。然后,异构的模型架构对于我们S级浪推理框架而言,需要持续性的同时维护好多种形态和生命周期的Attention抽象架构,这是一个巨大的工程考验。这也是我们团队这个。工程能力的体现,那我觉得挺好的呀。这事儿越难,就是说他的工程工作越多,其实你们做的工作越多。
你们的价值会越多,希望如此。OK,KDA就是这种线性混全局的方式,它因为理论上就是你加了线性,其实你的效率会提升嘛。这个也可以讲讲,就是比如说你们在做适配的时候,观察到它效率的有哪些提升还是比较惊人的。其实它自己的技术报告里有写到,就是说它是有实现了在百万token上下文场景下的六轮三倍的解码加速。
六点三倍这个值其实不是Kimi K3报告里面的严谨值,而是Kimi更早的Kimi Linear论文里面的数据。不严谨来说,在同样的模型规模下,线性注意力为主的混合架构比起传统的全注意力架构,在一百万token这个全上下文量级。混合架构生成的token速度是全注意力架构的六点三倍,六点三倍是一个非常可观乃至令人惊讶的数字。
我可以简单解释一下,模型的decode阶段,每吐一个token都必须要把整个请求的全部历史上下文读一遍。全注意力架构的历史是整个KV Cache,它是跟着上下文长度线性变长的。一百万token的KV Cache的长度近乎是一万个token的一百倍。上下文越长,越靠后的token它的这个开销是越大的。
然后线性注意力则试图把请求的历史信息压缩到一个固定的Recurrent State当中。一百万token和一千token,它们的线性注意力的recurrent
state几乎是一样大的。我给分享一些我们S基浪团队为K3设计的推理站的实际数字,来为大家提供直观体验。这个Kimi是六十九层的KDA加上这个后面应该是二十四层的MLA,那么六十九层的KDA给一个请求分配的历史信息大小基本就固定在五十四兆,sorry五十四MB,不论长短。
然后这二十四层的MLA是全局的这个注意力,然后它会为每一个token额外的分配二十七k
kb。那么一个百万上下文长度的请求,在MLA上的开销大概就是二十七gb,听上去是一个五十四mb加上二十七gb的组合。但是如果先前的六十九层也是全注意力,那就不是五十四MB了,而是额外的几十GB。KDA和MLA的组合节省下来的存储大小,进一步反映到KV
Cache的搬运成本上,然后某种程度上让整个推理速度快了六点三倍。
然后最后一个问题就是什么情况下这个六点三倍的体现是最明显的?毫无疑问是长的Agentic Coding。如果每一个Agentic Coding请求都消耗上百GB的KV Cache的话,最强大的HBM缓存也撑不住几十个请求。就除了K D A这个新的注意力机制之外,这次K三的另一个新的东西是Attention Residues,这也是之前他们发的成果,是今年春天的时候发的。
然后当时马斯克还转发过。我觉得他用到K三上的速度是非常快的。这个我也可以补充一个,就我了解到的信息,就其实在做Attention Residues的时候,差不多就是K三在定版的同期。所以其实当时要不要直接把这个东西放到K3上,还是说我再放到下一代的模型上?其实他们内部是有一些讨论的。后来杨智林也是拍板做了这个决策,就直接放到K3上了。
它是很快就进到一个主线模型上的一个成果。正好我们上次讨论V4的MHC的时候,也是讨论到了Kimi的这个Attention Residues是有一些异曲同工的作用,就是想追求的效果是一致的。想先请致远和大家简单的介绍一下,就是Attention Residues是一个什么东西,它的作用是什么?它是在模型里的,就比如说哪一个模块或者哪一层发挥作用?
我觉得 attention residual 它解决的呢,主要是模型它在这种深度就从前到深方向的这么一个信息流。最早的时候最标准的这种 residual connection 啊,它在展开以后呢,当前 layer 它看到的它本质上是 embedding 啊,以及之前它所有比它浅的 layer 的 output 的直接相加。
而且这里每一项的权重呢,它本质上就相当于都固定为一,直接加起来。那其实你随着模型越来越深、越来越深,这种 residual stream 的它的这个大小,它就会不断不断的增长。那这导致一个什么问题呢?就是你每次新加一个
layer,你新写进去的这个信息,它其实就会被逐渐的给稀释掉了。而且同时,你对于后面 layer 就更深的 layer 来看呢,它没有一个一个直接的机制去说,OK,那我现在我要去选择,我现在更需要前面的哪一层,或者说哪些layer,哪些层的这种representation?
那其实attention matrices的这个idea它非常非常直观,就是我们把我们正常的attention呢去旋转一个九十度。就比如说,简单来说,正常的Tans你是在token之间去算那个匹配的分数,然后去做选择。那其实Tans就是本来就是在layer之间做选择,层之间,对对对,就是会在层之间做选择。
它每层各自呢会有一个可以学习的一个pseudo query,这个query在所有token之间都会共享。然后这时候呢,它会和当前token在不同深度的representation做一个匹配,然后再通过像softmax啊这样去决定应该从哪些更浅,就是更靠前的这些层里面去读取信息。当然,这里虽然
query 本身它是固定的参数呢,但是不同 token 在各层的 representation 它是不一样的,所以最后呢,它的这个 attention 的这个权重它还是会随着 token 的内容变化啊变化。
对,所以这主要就是它是 residuals 的一个呃原理。之前其实 V 四的那期有聊到过,就是 MHC 和Attention residues,它其实想追求的效果是相似的嘛?就是你最开始前面也提到了K3的整体思路,也是把信息在不同方向的流动都做得更有效率。Attention Residues解决的就是你刚刚说的层之间的这个信息的流动。
那回到这两种方法上,志远你觉得它有哪个潜力更高的这种区别吗?可能这个问题就他们这两种方法,他们肯定还是想解决同一个大的问题吧。就是上面也提到了,你标准的这个Residual Connection,它在深度方向的信息流它是太单一了。当然,这两种方法他们解决的思路就非常不一样。就这里我可以大概说一下,就非常宏观的、很直接的一个 idea。
那 M I C 的做法,它大概就是我们会维护多条,之前就一条并行的这种 residual stream。那每层呢,我们会先动态的把这些 stream 它混合成这一层的这个输入,然后再把这一层的输出分发回不同的这个
stream。同时呢,它这里还有一些实现上,呃,它这些设计上的一些细节吧,就比如说他们会对 ratio mixing 加上一些约束,然后去保证信息啊、 gradient 啊这样的东西,它在模型变身以后不会被无限制的放大。
然后像参数 ratios 呢,其实就像我们刚刚说的那样,它更像是什么呢?就是你可以说它更像是每一层我们去提供了一个。历史目录的信息,然后这样的话,它可以去直接去找前面某个阶段产生的信息,然后选择性的把挑回来使用。嗯,我个人感觉呢,就是如果你只去讨论这个架构的这种表达能力的话,就是去看那个理论上的上界的话,那可能你说Attention Religous的上限更高。
这个是make sense的,就是毕竟呢,你想MHC的这个刚刚说的这种原理,它最终说白了还是把所有的历史信息它都递归的去压缩在一个固定数量的这种reductions里面。那 full attention 的这种 values 呢?它其实就有一点点像,在每个 token
上,我们对于所有的这个比我们更浅层的那些层,它的输出形成一个深度方向的这种下三角的这种呃注意力的这么一种 map,一种 attention map。
所以其实我做一个很不恰当的比喻啊,但是形象的说,它就有点像我们在层的这种深度方向上,一个是 recurrent model,一个是 soft max attention。那 MHC 呢,就它的信息要通过大小的 state 啊,一层层传递,有点像这个 linear attention,对吧?那 full attention modules 呢,它就可以直接去跨层的读取。
那从表达力的角度,那肯定是 full attention 这个还会更高一点。你刚刚那个比喻意思就说它在层的角度,一个是 RNN。对吧?一个是个 transformer,对对对对对,就是或者 linear attention,它其实呃也是 rnn 的变体嘛。但如果就是说我们想讨论最终的实际效果的话,那我觉得还是要看大家具体的 question 的细节吧。
就比如说。像K三呢,它其实用的也不是刚刚说那种,就是完全global,所有所有层之间都能互相的attention的结果。它做的其实是一种叫做block attention layers的这种technique。它不是理论上表达能力最完整的那种full attention
layers。就比如说,它会先把层啊分成很多block,然后它会先把每一个block里面的层的输出给汇总,然后在block block之间做attention。
我讲到这个有点就像稀疏注意力了。也,in some sense yes,对。然后再比如说,text ranges呢,它其实需要保留更多的历史的 representation,就这里也会带来一些像 infar 上 memory 啊和 communication 的这种成本。呃,然后 MSC 呢,其实也有一些自己 infar 上的问题。
呃,所以我觉得就是最终的效果肯定要看其中的细节。当然了,我觉得就是目前你可以确定的是,K3和V4它已经分别证明了这两种路线其实都可以去 scale 到非常 frontier 的一种级别。所以未来到底哪一种路线会更有潜力,或者说它能做到一个更好的效果,我觉得其实还是很拭目以待的。嗯,对,我觉得就是前面因为讨论很多东西,它是对比着来看的嘛。
包括前面说线性和稀疏注意力这些,就你能看到有一个趋势,好像是条条大路通罗马,对吧?就大家本人会有不同的实现方式,但大家看到的问题是相似的,就是说行业里大家看到的瓶颈或者要解决的东西是相似的。下一个话题是优化器。和V四一样,就是这次K三里用的也是Mullion的优化器,而且Mullion这个优化器之所以它能被比较规模化的使用,其实本身也是Kimi自己更早的时候它的一个成果。
Miao Clip,然后他也把这个成果贡献给了业界,基本上是现在比较主流的一个优化器的方法。然后这次在K3里面,他们自己又更进一步的改进,是提出了Per Head
Miao。然后这个想请志远可以再帮大家讲一讲,一个是说优化器为什么比较重要,它核心解决模型的什么问题;另一个就是K3这一次里使用的这个Miao的优化器Per Head Miao优化器,相比于之前K2已经在用的Miao,它的一些具体的改进是什么?
对,那其实优化器它是相当于模型训练,不止语言模型训练,就深度学习模型训练里面它非常重要的一个组件吧。就它是解决的核心问题,说白了就是我们现在有个模型,然后每在训练过程中,我们的batch算出一个梯度之后,那我们怎么把这些梯度转换成一次非常稳定啊一些有效的参数参数更新,呃,而且是从长远来看比较比较好的一个参数更新。
那就比如说我们在训练一个模型的时候,我们会涉及到 loss function,那这其实说白了就是我们要优化的东西。然后梯度呢,就告诉你局部大概要往哪里走。那其实优化器它就会决定最终要采用什么方向。走多大一步?然后我们怎么去利用一些历史的梯度去降低噪声,去处理不同方向的尺度差异,去处理不同方向的各种冲突啊,可能等等的这些信息。
那其实一个好的一个优化器,它通常意味着在相同的训练的这个计算量下呢,我们可以收敛的更快,最终的loss更低。而且还有一个就是很重要,就是稳定性。对,就是我们不希望我们在训练过程中出现太多不稳定的这种 spike,就希望它本身的核心是说我们在拿某 momentum,就是动量,它它它是一些呃优化器里面根据梯度和历史梯度串出来一些信息,我们拿它去更新参数之前呢,我们先把它做一个近似的一个正交化。
这样的好处就是,我们让更新不要去只集中在少数几个比较 dominant 的方向上。问题是,就是正常的那个 model,就是你考虑以前我们的多头的 attention,它的存储上虽然是一个大的投影矩阵,但是其实在整个算法的计算逻辑上,就是对于模型架构来说,每个 head
它是比较独立的。就意味着,如果你现在把所有的heads都放在一起正交化的话,那其实他们的这个gradient呀,包括momentum的这个动量的这些,就是梯度和动量的这些信息,它们就符号会有些冲突。
就比如说,有的scale更大的这个heads呢,它可能就会主导整个矩阵的更新方向;scale比较小这些注意力头,它们可能就没有办法去被充分的normalization。所以,per head normalization这个核心思想就是,我们对于每一个注意力头,我们都去单独的做一次
normalization,就意味着我们不同的这个 head,不同的注意力头,他们在做更新的时候,他们的这个大小,他们的 scale 就更加均衡了。
所以其实,呃,K3 Response里面也专门提了,就是说他们发现这个Perhead的New One在他们的Setups下可以让这种训练的这种Training Dynamics更加平衡,能够很好的去改善大规模训练的稳定性。嗯,相比 Muon Clip,就是 Kimi 自己之前提的这个改进,它新的这个 per head Muon,它实现起来的难度会更大吗?
就我想知道它有可能在业界怎么扩散,因为 Muon Clip
其实在业界还是有挺多扩散的,就很多别的团队也会用。我觉得从实现难度角度说的话。像Perhead这种标望呢,它其实算法上基本上就是我们直接去reshape成很多的这个注意力头这个block,然后做一些并行处理,所以算法本身还是挺直接的。我觉得实现的难点一个难点可能是我们在大规模的训练里面呢,像这些QKV啊,它经常被融合以及切分,所以这就导致了这个优化器的state它会分散在不同的GPU的这rank上,所以我们必须要保证每个注意力头它在算法计算上的逻辑边界呢,它不会被打散,同时我们又能够非常高效的重建这个完整的
block,然后还要把大量的这种小矩阵啊去合并执行在局域呃在一起做一些计算,避免带来非常大的这种通信拆箱,然后避免一些克隆浪费上的问题。
嗯,所以我觉得像 K3 它也在 Tech Report 里面提到说,他们为 Mule 呢也做了一些专门的处理,比如说他们把通信和正交化计算啊去做了一些
pipeline。关于优化器,我还有一个小问题啊,就是构造新的优化器改进这件事儿,AI可不可以自己来做?因为上次我们有聊到,Vuong最开始是一个个人开发者Carlo Jordan他提出来的,后来我了解到,就是Vuong其实是在Jordan搞的一个开源项目叫 Nano GPT Speed
Run,这个里面诞生的。
然后这个项目简单来说就是我让所有人就是去训一个比较小的模型,一个标准任务,然后大家来比速度,谁能最短时间做完。最近有一个新的公司 RSI,就是 Team Shi,还有田园洞他们那个新公司,六月的时候做了一次尝试,他们是用系统来自动化的跑这个 Speed Run。那之前其实两年多的时间里面,Speed Run 都是社区里的一些研究者用人来做的。
所以有一个小的脑洞是说,优化器是不是未来AI自己也可以来写,然后来制造了?这确实,我觉得是一个非常非常重要的一个未来的方向。而且事实上,我觉得其实社区里面已经有一些早期的尝试了。我觉得主要是就做这种优化器的研究吧,它就天然非常适合这种auto research,因为它的这个pipeline整体来说还是。
像是比较结构化的吧,就是我们会比如说先提出一个新的优化器的方案,然后我们去写代码跑实验,然后我们去看这个loss啊,然后看这个比如说像稳定性啊。看中曲线这种,呃,俗称做feedbacking,然后再根据这个结果做一些改进。所以这里你会发现,就是研究的目标还是比较明确的,嗯,对吧?而且就是最后的指标其实也非常非常清晰。
所以其实,在满足这两个性质的问题,其实就很自然,越来越多的就会被交给呃AI agent来做了。嗯,这也呼应到了我们前面讨论的,就是。他用一些早期的 ChatPoint 的版本来做 Core 的开发,就是这次 K3,就是刚才陈阳也说嘛,他觉得一个是你目标比较明确,然后第二点是你的结果其实比较好验证,第三点是不太容易被 Hack。
就作弊的空间比较小,像这种都是挺适合AI自己来跑的。对,我觉得是这样的。然后我个人觉得这里其实还有一个很有价值的问题,就是我们可以让Agent去研究怎么去设计一个小规模的setting,然后让这个setting里面能够得到结论呢?它。它是能更好的去 generalize
到真正的那种大规模训练的。说白了,就是你的一个优化器,它在小模型、小规模的实验上跑得好,不代表说我们换到一个更大的模型,然后更长的一个训练周期,甚至包括不同的参数形状后仍然好。
嗯,所以我觉得就是A I agent,我们不仅可以让A I agent去研究我们下一个非常好用的这个优化器是什么,就还可以研究,就是我们应该去用什么样的呃小规模的这种proxy experiment。什么样的 scaling ladder,它是能够最快的判断一个优化器能不能最终 scale 到我们目标的这个场景下的?
嗯,如果这个问题我们能够做得非常好的话,其实我们就可以大大加速整个对优化器研究的一个迭代过程。因为毕竟你跑一次实验还是要花不少时间、不少资源的。如果你能够就是用最少的资源去飞速的做一次验证,然后这个验证的结果很可靠,那整体的流程其实就会被加速起来。所以一个是优化器本身的改进,AI可以自己来做;另一个就是你刚刚说的,我预测不同的改进哪些更容易规模化这件事儿,AI也有可能自己来做。
嗯,对对对,或者说你怎么去设计一个比较小规模的场景,然后使得这个小规模场景下出来的结果是比较make sense,呃,make sense就意味着它在大的这个scale下仍然是对的,或者说比较transferable的,对。那这个方法其实也不止可以用在优化器的改进啊,因为你基本上AI训练你的很多部件都是你先在一个小的上面试,然后你得给它scale,对吧?
对对对对对,那包括我们前面提到的各种模型架构的改进啊,然后包括就是说各种不同强化学习算法它的这个调整啊,这些我觉得都是个很关键的问题吧,就怎么在小规模的实验下能够让大规模的实验结果也能更加 predictable。这个是模型开发很核心的一个能力啊,而且你做得好的话可以节省很多资源。我想了解一下,据你所知,业界有谁能初步掌握了这种能力吗?
我觉得这个不是业界有谁初步掌握这能力,就是大家都有这样能力,只是有的做得更好,有的在有的领域做得更好,有的在有的领域之前一直有一种观点,就有个人会认为,像美国的这种 Frontier Lab,因为它的算力资源会多很多嘛,其实比中国的一些公司多一到两个数量级,所以可能他们反而很多这种就比较细的改进,对他们来说就不一定那么必要。
我就是指,就是比如说你刚刚说的,我能更高效率的使用算力这件事儿啊,然后反而是中国,因为大家很缺算力。所以可能你前面做实验的过程也会非常谨慎,然后也会找各种各样的方法,说我怎么在有限的算力之下,我能达到更好的效果?你觉得这种观察成立吗?我觉得这个说法一方面是有道理的,就比如说你可以看到 DeepSeek 里面有很多的这种工程上的优化,确实是压到了极致。
但另一方面,其实我觉得也不要小瞧 Fart Lab 他们做各种优化的能力,他们其实也是很有东西的。对,不管是各种小优化,还是各种怎么在小规模做得好,然后去 generate 到大规模的。哎,有一个就是对SRP的观察,想和你讨论一下。就比如说你周围交流会不会有这种感受?就有的人会说,SRP其实,在比如说架构啊这一层,它做的花活没有那么多,它是把很多重点都放在数据,然后放在研发上,嗯。
对对对对对,我觉得根据各种gossip确实是这样,就是他们基本就先信doing the basic things right,就是怎么把一些简单的事情做到极致的正确,然后就去有效scaling,能把事情做work。我们来讨论就是后训练的这一部分,后训练和RL虽然前面有聊到说它后训练的细节并没有披露这么多,然后这次可以在技术报告里看到的是Kimi有一个有意思的设计,是它先训练九个领域的专家模型。
然后他通过 M O P D,就是 Multi Teacher on Policy Distillation,给它合并成一个模型。这个也许应该能翻译成多教师的在线蒸馏,对,给它合并成一个模型。可以请志远分享一下,就为什么他不直接联合训练一个,要先分后合?对,就其实这个MOPD这个Multi
Teacher Policy Distillation这个Recipe,它其实最近一年它已经快速成为了一条非常常见的一个Post Training Recipe。
像这种方法,其实一般大家也不会说专门写个文章去讲,对吧?是的,是的。尤其这种MOP这种,它不太是研究问题。为什么像比如说Attention
Residues这种东西,Kimi就会专门写个文章,然后像MOPD这种就可能没有任何公司会专门写文章去讨论这个话题。哎,我觉得这个问题其实问的非常好。就我觉得你的一个东西能不能写成文章,一个很重要的问题是你能不能把它summary成一个非常比较clean的一个research问题吧,一个研究问题。
比如像Tasr Relejo,它可以有一个很clean的研究问题,它指标很明确,你要对比的对象非常明确。然后比如说像MOPD这种,你不做MOPD的话,你要对比的那个其他的方案就特别特别麻烦。MOP它可能更像是我们直接避免了一条很麻烦的路径。然后你就不需要关心说我们怎么把那个麻烦路径调的非常明白,所以这里就它相对来说就不是那么干净的一个研究问题的一个set up吧。
我在想它的这个相关的一些影响啊,比如说你看 Attention Residues,它写成一篇文章,它有三个一作,对吧?对这些作者来说,他肯定是有他的职业的 credit 的增加的。那业界也有很多,就是大家用的很多的方法,好像也不知道最开始是谁想出来的啊。其实,在比如说在美国这边,其实 Frontier Lab 之前有个人提出一个很好的想法,就是就类似于他们小圈子内部其实是都知道是谁提的,所以其实。
不会影响他们自己的,比如说Kimi啊,包括更直白一点,他们的身价这种,就是这种消息流传其实都很快的,只是它不会在公开的网网上流传。OK,所以它是有点像就圈子内都知道,但是外面的人不太知道。对对对对对。嗯嗯,那那你可以具体来说,你就说这个东西最近这半年到一年,它其实变得很主流了啊。对对,它最近一年已经呃快速成为了一条非常常见的一个 post training 的 IP。
其实公开采用这条路线的呢,就已经包括像 Meta 的 V2 呀,像 DeepSeek 的 V4 啊,以及包括后面呃 Nvidia 做的 Llama 23 Ultra 就是这些模型,然后包括这次的 K3。这里用MOPD一个很重要的原因呢,就是我们想把不同领域的这个研发过程去解耦,方便我们一个很大的一个模型团队下面有各个小团队,他们之间的合作。
就比如说像呃,general reasoning啊,像 coding agent呀,像 general agent 啊,这些等等,他们不只是 data 不一样,他们其实包括像 environment。像我们去给那个奖励的策略,像我们做一次 rollout 的程度,像他们使用的 harness,甚至是算法的这个 recipe,它都可能非常非常不一样,对吧?
那比如说像 coding agent 里面,包括 infra 可能也会有一些区别,比如说一些 coding agent 里面的 infra,它可能会有一些资源挑战之类的。所以其实,如果你全部都放进一次joint的那种RL,就把你的所有东西全部混到一起,然后做一些大的RL
run的话,那其实我们在混这些domain,混这些不同的领域,然后混这些不同reward,还有包括前面说的各种训练的这个设置呢,它就会。
全部给耦合到一起,就会导致你做模型合板的时候,你的这个技术压力非常非常大。就是你要把这些东西,他们可能本来自己的内部里面他已经做work了,然后最后你合板的时候还要考虑说怎么合起来再work。然后他们各种set up都非常非常不一样,对吧?就是这样会导致压力特别大。所以呢,就是如果我们用MOPG这个recipe的话呢,我们就可以先分别训练各个领域的专家模型。
那其实每个小团队他们最后要deliver给合版的模的这个成果,它其实就是自己领域的这个小的专家模型啊,不用把上面说的那些乱七八糟的什么各种啊,有recipe啊,各种infra呀,还有包括各种什么environment这样的东西,全部都给deliver出去。那其实每个小团队我们就专注的把自己的领域的模型给训到最好,然后最后合板的时候我们再用MOPD。
那这样的话呢,大家就比如说你不需要为了方便最后的一个交替training,我们提前把所有的recipe啊和infra啊都强行统一,对吧?那就可能会导致你在做自己领域的时候非常的束手束脚。然后我们也不需要说我们在每次迭代的时候去同时协调所有的领域,这样你就能让你的迭代变得非常快。还有就包括你做合板的时候,我们不需要花特别特别大的力气去协调各个方面。
所以以前它也是分开训练的,现在也是分开的,只是合的方式不太一样。以前是一个更完整的合,就是你得带着各种训练设置一起来合,现在是每个专家训完之后,我最后只合那个结果,对吧?以前就这样的RL training就还没有那么麻烦,对吧?比如说最早的时候,我们不需要做agent的RL,那也不需要就infar可能,比如说相对来说也比较统一,大家只需要把数据贡献出来,然后直接一合就可以了。
但现在就是各种LL方面,他们的recipe不同领域就会复杂很多,嗯,他们都有自己的这个recipe,所以我们呃只合模型的话就会方便很多,嗯。它在直觉上,它好像给人一种跟预训练的趋势有些相反的这种特点。因为预训练其实你是在同一个模式里面,你是吃了不同就非常多元的数据,对吧?你就是放在一个过程里去训的。
对对对。然后后训练按你刚才的描述,其实是之前后训练它要处理的任务、下游任务比较单一或者简单的时候,大家其实是在一起训的。对对对。那现在就是你能看到它是一个好像在走向分的过程,比如K3这次有九个。分开的,对它为什么是这样一个过程?以及你觉得它更远来说,它有必要又就后训练这个阶段,它有必要又变成一个合的过程吗?
那样的话,它会潜力更高吗?就我觉得是合起来还是O P D两个潜力更高,这个还真不好说。就是有很多的研究,他们会说可能做M O P D它比就直接做那种joint的啊要效果要更好之类的。但是我觉得就是这种结果吧,你都要看它非常非常具体的实验的set up,才能说它的这个结果到底有多generalized。
我觉得目前。做MOPD主要还是说白了就是这样,是最方便的,就是你不用像我刚刚说的那样,你每个团队有一个自己的方案之后,你还要去核方案。而我们是和这个最后的这个叫做模型就行,就相当于说白了就是你和Rust不行很麻烦,但是和模型就用MOPD就很简单。然后大家就专心的把自己的模型做好就行。然后MOPD里其实它的英文它最后一个是D是代表destination,就是蒸馏嘛,翻译过来就是蒸馏。
我觉得正好也可以说一下,就本来蒸馏的意思是什么,以及业界,因为现在关于蒸馏有很多讨论。那实际上它从技术上来说是怎么一回事儿啊?对,就蒸馏从技术的最原始定义来上来说呢,它always都是去把teacher模型,就教师模型的能力,它去传递给一个学生模型。它最经典的用法呢,其实就是去压缩模型。就比如说,你先训练一个很大的一个教师模型,然后我们再把能力去蒸馏到一个更小的一个学生模型,这样你可能就用学生模型它更便宜一些,对吧?
就比如说它Kimi K3里面,它它的这个技术报告里面就说了,我们会做这种strong to
weak的distillation,就是先去获得一个强大的模型,然后再用它们去帮助训练小小模型。所以从技术的角度,它always都是教师模型去传递给学生模型能力。但是我们更多要看它的目的是什么。就比如说在MPT这里的目的,它不是说去压缩模型,而是我们刚刚说的核版,就是我们先从同一个foundation的模型出发,我们去捏出不同domain啊以及不同这个reasoning
effort的这个教师模型,然后最后我们再把它。
他们的能力去传回一个统一的一个学生模型里面,然后这是目的一方面,然后另一方面呢,就是我们这个蒸馏具体怎么实现,然后从具体的算法角度呢,就是 on policy distillation 做的事情是我们会让这个学生模型自己去生成一个轨迹,然后学生然后教师模型呢再对这个轨迹去打分,提供这个一种比较稠密的这个叫做奖励信号,然后用这个奖励信号呢来去提升学生。
然后另外一种呢也很常见,或者说更传统一点的这个蒸馏模式,呃,也就是刚刚呃麦奇提到的,就是说在这种普通大众啊,在社交媒体上去讨论这个蒸馏呢,指的就是一般是说我们这个老师先去预先生成一批固定的答案,然后学生呢就直接在这个固定的这个数据上,这个离线的数据上,我们直接去模仿学习,去学习老师的模型,他在这个输入下他的输出是什么。
这里MOPD使用的on policy的蒸馏和你说的就是我们平时讨论的语境里面更常提到的那种蒸馏,它是off policy的蒸馏。这个on policy和off policy的区别是什么呀?更多指的还是算法层面的区别,对对对,就比如说 on policy,它学生是被训练的模型,训练过程中学生自己去亲自去生成这个轨迹,所以这个我们说它是 on policy 的。
off policy 指的是相对于学生来说,老师他的这个轨迹,它是一个 off policy 的,就是老师的轨迹不是学生自己生成的。哪一种它的学习的效率会更高呀?这个其实也是不同场景下有不同的这个经验性的结果吧。比如说在做合板的时候,确实肯定是 on policy distillation 这种做法,那还是 on policy 的比 off policy 更好。
对,但如果只有这个教师模型的这个叫做输出,你没法搞到它的权重啊、logit这些的话,其实你没法做到像教师模型去给学生模型,呃,性能做打分。那你就只能去做那种 off-policy distillation,相当于教师模型你只能拿到它的这个最终输出。假如说,比如 Anthropic 它自己有自己的模型权重,对吧?
比如它自己蒸自己的话。从技术的就效果上来说,你觉得它大概率它是 on policy 还是 off policy?你说这里自己争自己的目的是啥呀?是为了变成一个更强的模型,左大家说的左脚踩右脚,然后自己原地飞升这种。这个感觉目前还是大愿景吧,就是还没有真的做到。我个人理解,主要还是看这个 external 这种外在的这种监督信号,它有没有。
就我觉得你很难在没有一个很本质、很能 scalable 的这种外在监督信号情况下去提升一个模型,也就可能就是你最后用的这个技术里面,它的名字可能带了个 distillation,但它肯定是找到了一种很 scalable 的方式,能够稳定的把外在的这种监督信号给打进来这个过程。那最后在infar的层面,想请陈阳来分享一下,你觉得K3做infar改进的一些整体的思路是什么?
因为你们这次K3也是第一时间做了适配,你可以讲讲,就是你们适配的时候有什么有意思的发现吗?具体来说的话,我可以分享一下KDA架构对于统计采样带来的挑战。呃,投资采样,简单来说,我们会通过一个小的模型来快速猜测出一批token,然后让真正采样的大模型来一口气验证这些token是否正确。验证完成后,这批被猜测出的token当中,可能只有前几个token会被大模型接受。
所以,大模型在验证这批被猜测的token之前的状态是需要保留的,因为如果猜测不对的话。大模型要能够随时回退到猜测之前的那个状态,这对于普通的 attention 而言问题不大。就像举个比方,你无非就是把书的后几页撕了,然后继续从笔记本的靠后的页开始写,对吧?但是 K D A 的架构设计需要能够对每个 token 的递进状态进行原地的重写。
为了能够回退到大模型验证之前的状态,我们必须要想办法对之前的递进状态进行存档。一个比较朴素的存档方法就是每走一步就把整个递进状态做一个快照。但是对于整个六十九层KDA做完整存档的保留的开销非常大。我们最后的做法是不存状态。只存每一步状态的极小投影,大概只有一个KB左右。要回退的时候,就从上一个checkpoint的出发,照着这些输入,把接受的那几个token的存档重放一遍。
这很像我。去看我小表弟他学习象棋的过程。象棋玩家为了复盘棋局,会通过一些简单的记号来记录每一步棋子的移动,这样你就不用每一步都给整个棋盘来一次完整的快照。然后,我们为了支持KDA的投机采样,其实也实现了类似的思路。记录棋子的移动而不记录整个棋盘。比较有趣的是,我们后来观察到 Kimi K3 的 Tech Report 也和我们独立的提出了类似的设计。
当然,我们其实并没有提前为了这一块的设计做过任何讨论。也可以很荣幸的说,顶尖的工程团队大家在这些工程问题上的解法都有异曲同工之妙。这次 K3 还开源了他们的一个 Agent 的环境。它就是叫Agent Imp。你前面也说到,一般权重只是一次训练的产物,而环境是能够。反复复用产生下一代权重的一个流水线,所以环境是更重要的护城河。
你也可以讲讲,就这次从Agen Eve里面看到的一些有意思的思路是什么?Agen的Eve是一个最朴实无华的名字,我觉得还是比较有吸引力。因为一般而言,我们研究者往往为了模型的安全性,会去主动限制模型的能力。大多数情况下,我们会通过更好的隔离方案来尽可能的锁死模型,让它少做一些越狱之类的操作。但是,K3的训练团队选择通过更好的隔离方式来尽可能放宽模型的能力边界,就是模型可能受到的限制更小。
我相信他们自己也比较believe,以后模型应该拿到系统权限是更高的,可能是这个样子的。往往我们认为agent越强的话,它的探索会越激进。早期的时候,我记得大概是Kimi K一或者K二的时候,他们会选择用容器runtime。来完成这种沙盒,但那种情况下很容易出现我们所谓的OS的panic和内存的死锁。
他们并没有选择让agent持续去跑容器或者换用别的虚拟机,而是干脆换了别的技术路线,把这种隔离做得更好,用了Firecracker来跑这种micro virtual machine。这个其实比较工程化,但是我觉得一句话take away就是说,他们选择赋予模型更高的权限,并且为这个权限做出更好的技术隔离。
OK。这个技术隔离是隔离什么和什么?简单来说,就是希望如果一个agent把一个沙盒崩弄崩溃了之后,不会影响其他的沙盒的运行,对。这个安全的考虑对吧?是的,可以说是沙盒做的更安全,那么模型的安全限制就可以放低。然后第二点是这个持久化 route 和沙盒嘛,这个其实解决的这个问题很经典,就是我们的 agentic 的长尾问题嘛,我们。
其实这个是我在Kimi一个很厉害的地方,在Agent R L领域有一个经久不衰的做法,叫做Partial Rollout。简单来说,就是一条采样轨迹可能是上千次的工具调用,得到了上百万个token。然后假设我一次采样十六个request,这个十六个request里面可能就会有那么一两条特别长的request。
比如说,可能它去调一个外卖的接口,但是外卖的那个mock接口返回的比较不稳定,可能过了一分钟才返回。这种情况下会极大的阻塞这个batch的整个运行。在Kimi一K一点五的论文里面,他们就提出partial out,就是不必等待所有的轨迹都结束,等到一定比例的这个。我们说的轨迹完成了之后,就会把结束的轨迹用作训练,然后没有完全结束的轨迹会缓存起来,在下一轮继续去完成它。
这个做法其实是有很深厚的统计学的观察在里面的,就是说通过提高采样的总数,或者说。只选择把不长尾的那部分的 request 拿来使用,嗯,可以加速这个采样的过程。这个也有一些强化学习理论上面的挑战。这是一方面,从系统设计上面,模型的历史的采样信息需要尽可能的保存。比如说,模型上次采样的 KV
cache,他们需要把这些 KV cache 写下来,避免下次重新采样的时候需要做一次特别长的 long prefill。
对,然后另外一个问题是强化学习测的这个数据过时问题,用术语叫做 off-policy bias,就是它这样采样的轨迹会有一个问题,可能这个轨迹的前一个部分是上一个版本的checkpoint采样出来的,这个轨迹的余下部分才是当前版本的checkpoint采样出来的。这样的话,一条采样序列其实它不是严格的 on policy,或者说不是严格在线的。
K3还是采用了 per token 正则的方式,把这个我们所谓的策略更新约束在了一个局部领域之内,来部分容忍这样的 off policy ness。嗯,这是一个很经典的用算法上的宽容来换取 infra 上的自由,然后其实对 infra 的这个提速是非常好的。最后一点,我觉得体现出来Kimi团队的一个设计哲学吧,就是让RL环境和推理时Agent的运行的环境是尽可能一致的。
K3的训练管道把Agent的这个Harness表示成了一组可以配置、可以组合的模块,类似于工具接口啊、System Prompt上下文管理策略、Skills还有Memory吧。他们用各种复杂的策略去模拟组合出来各种主流的Agent的Harness。这种组合其实也避免了在模型训练过程当中
overfit 到某一个 harness 上,以至于比如说你训练在美团上面订外卖,最后发现用户想要用饿了么就用不了,这些对人类而言是非常愚蠢的,但是对模型而言训练不加很容易出现这样的问题。
很显然,他们这样的策略组合能够很好的缓解这种学会了美团就不会饿了么的问题。从infra的角度上来讲的话,我其实很认同他们这个方向,环境正确,就是说我们对Harness的要求会逐渐提高的。更广的来说,我们希望Harness能够自由的和各种agent的workflow做组合,这和我们在Serving侧的想法也是一样的。
不要为了每一个模型去做许多策略,要为了这些状态尽可能去。组织成树状结构,嗯,所以它的整个思路就是说,我这个模型训出来之后,在上面一层,就这个 harness 这一层,它不管是什么类型的 harness,它都能比较好的去调用,它可以适配不同类型更多的框架。理论上是这个样子,但是效果我觉得肯定不至于那么完美。
但是我觉得现在这些Harness的,我们随着对Harness的使用越来越高,对Harness泛化性的要求也必然是越来越强的。你觉得闭源模型有这个需要吗?比如说,Sarpi或者OpenAI,它可能自己训的模型,它就是在自己的HARDNESS框架里面被使用的。对,这个必然是需要的。而且,换句话来说,就是即便是Cloud Code这样的平台,它其实能够接入的。
组件也是非常多的,类似Cloud Code可以接Slack,可以接Gmail,还可以接你的Calendar,这也是某种样的Harness。何况我刚刚提到美团和饿了么这个切换问题,可能对于Anthropic而言,他们可能换的就是用Gmail还是用Outlook。对这两个事情听上去也非常的类似,但是不做精心的设计,模型的 overfitting 会非常的令人尴尬。
除了你刚才说的,就是你自己最在意的这个进展 agent 的 Eve,就是他们强化学习的环境之外,其他的一些改进,包括这个 Flash KDA,还有它的量化感知训练,这些你也可以展开讲讲,就是它在 infra 上带来的一些变化是什么。我们回到下这两种 attention 的区别吧。Soft max
attention 的 kernel 主要是在和带宽做斗争,然后线性注意力的 kernel 不严谨的来说,它会更多和串行依赖关系做斗争。
具体来说,KDA 的话是在这个 chunk 之内做并行,chunk 之间做串行,以此 recurrent state 得以一个 chunk 一个 chunk 的往前传导。所以,这种情况下最难ev的一个写法就是,每一个chunk你算一次,你就传一次状态,就会导致计算资源的大面积空转。然后,Flash
KDA是这个Kimi他们团队基于Cuteless写的一个chunk-wise的kernel,把chunk内的计算和跨chunk的状态传输尝试做重叠,术语来说叫overlapping。
这是Flash KDA的第一层。然后如此一来的话,就带来一个差别:Softmax attention的KDA的话,它对于KV cache的关注其实不会特别强,因为kernel对于KV cache是只读不改的。但是KDA的这些kernel的旧有状态可能会被覆盖,所以kernel的设计还需要考虑更全的生命周期。
什么时候做持久化,写到哪一个chunk的slot里面,怎么去保证其他request正在读的缓存不会被冲掉?可以说KDA的kernel会难度更高一点,而且它也模糊了我们认为kernel和缓存管理的这个界限。然后另外一个角度是Kimi的拿手技能啊,这个我们说的QAT嘛,就是Quantization Awareness Training。
可以看到K3和DeepSeek V4同时都在采用FP4精度的一个训练。DeepSeek V4的具体做法的话,其实我们之前有讨论过,我们这里可以更多讲K3。K3从SFT开始就做这个QAT,然后这个直观的好处就是模型会有更多的时间去适应量化噪声,而且他们也着重强调了RL采样阶段和training阶段采用的是同一套量化方案,这样尽可能的减少训练和推理不一致带来的磨损。
这个也可以从RL的角度上来感受。我们刚才其实提到一个术语叫做offpolicyness嘛,直观来说,RL策略梯度优化。这个整个事情能够成立是有一个前提的,我正在优化的是那个产生的这些数据的策略,就是我们训练的时候会采集到。许多的这个序列,然后拿去优化模型。我们希望这些序列就是我们优化的那一个模型产生的,它不是
t 减一的 checkpoint,也不是 t 减二的 checkpoint,它最好就是 t 减零这个 checkpoint 产生的。
这个数据,但是这个t减零或者t减一、t减二,它有的时候不是你刻意造成的。就比如说我们说这个训推不一致,就是训练的时候可能它的这个量化,比如说是bf十六吧,那你推理时候采用nvfp
four,那么这就会导致其实这两个策略是有区别的,这也是一种offparsingness。所以,一旦训练和这个采样的过程对同一个 checkpoint 给出的精度不一致,它给出的 token 的概率是有细微区别的,这就是一个不严谨的梯度计算了。
而且,这种不严谨的梯度计算对于 M O E 而言,可能会导致一个灾难性的崩溃。OK。所以K3的训练哲学还是在贯彻RL infra领域的一贯的认识。为了我们训到的模型,就是我们要去优化的那个模型,一定要让训练和推理阶段尽可能的契合,采用尽可能相似的配置。哎,这件事情它在实现上难吗?就说是现在大家其实主流的公司都能做到,就尽可能一样的配置,还是说这个还是需要挺多努力才能实现的?
以及它其实也能去看一个公司大概infra的水平。我可以说这个事情非常难,而且对于很多公司而言,需要单独的去维护一个硕大的infra,甚至说是kernel team才能够去把这个事情做好。这点上来说,我觉得Kimi的技术还是非常领先的。你之前说DeepSeek是infra领域的巨鲸啊,那类比一下的话,你觉得Kimi是在什么段位?
我不希望是有一个分出高下的论,但是坦诚来说,我觉得。国内的公司的infra真的强,不过这么说来说,我们叫做用infra换算力吧,真的是非常不容易。嗯,最后这一部分我有一个想补充的问题啊,就是我看K3在技术报告里,他写到就K3优化测试里已经给它的原文写的是alternative vendor,有可能是个国内的就。
芯片公司啊,给这个 alternative vendor 的 G P G P U 写了 kernel,那是不是有可能就用 K3 这个模型也能加速 K3 自己向国产芯片的适配了?是的,我觉得这点应该是比较明确的啊。当然,我们不确定最终这个 delivery 上生产的这些是不是 K3 写的,但是 K3 至少从性能和正确性上来说是非常能打了。
然后另外一个角度就是,这一次我们也见到,由于现在这个模型的生态真的帮拼的非常厉害,嗯,以前有一段时间。国产的芯片的同行,他们想要在模型发布当天 support 这些新的 A I 模型,其实是有一定难度的。但是到了最近,我们也看到,类似于摩尔线程,他们也通过 Musa S7
瀑的这样一个生态,在发布的很快的时间之内,我不记得是不是 daily 啊,但一定是在极短的时间之内就成功 support 上了 Kimi K3,而且也达到一个很好的效果。
我觉得可以想见,kernel development agents真的是一个非常伟大的事情。我觉得对于整个芯片产业是有很本质的推动的。你觉得这件事儿会怎么影响英伟达的统治地位吗?会吗?会到那个程度吗?这事情用了我我俩判断的时间。你这是无法判断还是不想说呀?我无法判断。这个我们可以讨论一下。就是理论上来说,其实因为CUDA这个生态就是建立在说你有比较丰富的kernel,这肯定是很重要的一部分,对吧?
然后它的通用性比较好。嗯,我有很多好朋友在AMD做AMD version的Curtless,所以他们高强度的依赖这些KDA,而且我也有NV的好朋友,他们在NV给NV写Next Generation的DSL,也是大量依赖KDA。那我觉得你这提供了一种视角,就是KDA这个东西,英伟达之外的厂商可以用,对吧?
那英伟达自己它也可以用,对,因为英伟达自己也需要去更迭嘛。然后我觉得很遗憾,就是现在这些模型的KDA还是。就是说优化 Q 的 less 可能很厉害,但是如果你优化,比如说举个例子,假设以后有这个 T C Gen Five,对吧?比如现在是 T C Gen Four, T C Gen Five 就可能 K D A 的还得花一段时间来试来泛化上去。
这也是个很好的问题,我们可以看看,就是 K D A 这里指的是呃开发 Claude 这种 agent 的发展之后会怎么去影响这个芯片领域的一些竞争。我很难说Kimi Delta Attention和Kernel Development Agents哪一个更伟大,我觉得这两个事情都很牛。OK,都叫KDA。
我们最后可以来稍微延展讨论一下K3对业界的一些影响,有一些随便拍脑袋的问题,比如说你们认为下一个开源最强什么时候会出现?可能来自哪个公司?嗯,首先我见到一个非常恐怖的事情,之前见到困难团队发布说他们的模型在以日为单位。智力更迭,这个时代对智力前沿的加速度没有降低啊,反而我觉得是人类的想象力降低了。就是我们现在除了这个 coding 之外,我见不到下一个爆炸的点。
对,就 Kun 三点八 Preview 就预览版发的时候说他们会一日更新。下一个问题,其实前面稍微讨论过。就是你你们觉得,今年内就剩下还有五个多月的时间里,我们有可能会见证开源超过闭源吗?我个人觉得这个是有一定难度的,因为一般来说大家会认为 OpenAI 和 Anthropic 他们内部的一个最强的模型是比他们现在放出来的模型还要再强一个,比如说半个 generation 的。
半个甚至到一个generation的,对。然后我们现在开源模型基本上,现在最强的开源模型基本上目标是追平现在已经放出来的,这个叫做最强的闭源模型或者说闭权重模型。但是可能他们之后他们之后能够放出来的是他们现在内部已经有的,比现在闭权重模型还要更强一个半代甚至到一代的模型。然后这个时候可能就是确实开权重模型还需要一段时间去追。
对,所以我觉得在至少未来五个月内,这个趋势应该不太会有很明显的变化。其实,对于开源这种模型这边,基本上就是把目前最强的给放出来了。对,所以这里其实还是有一个代差在这里的,就是实际最强的跟放出来的这个最强的。你的意思说要找一个好的时机来放,嗯,对。最后一个问题是一个相对就是趋势宏观趋势的一个问题。最近雷文峰说,下一代模型的标志是能持续学习。
你们自己会怎么看下一代模型要实现什么能力?就像我对于持续学习的观点啊,我不是说希望这个模型的智力不断提升,我是说希望一个模型能够。对任何系统都有很有效的优化,但这个任何应该就专指KDA吧。比如说我现在说,可能你让KDA这句话现在CoTless它可以优化的很好,但是等到Next Generation的DSL来了,KDA能不能做的很好?
目前来看是不太行的。这其实反过来暴露现在的模型的泛化性没有想象那么好,因为Kernel绝对是一个最好验证的领域了。对,哪怕这样子的话,它的泛化都还需要一定的训练。那么从这点上来看,我觉得实现RSI还是有一些距离的。OK。我不去评价说下一代模型的核心能力是不是说必须要有持续学习能力,这个观点本身了。呃,我觉得就是,如果我们假设这个观点是正确的话,我觉得现在有一个很大的问题是我们还没有一个很好的方式去评测或者说去
measure 这个 progress,就是说我们去看现在的模型它做这个持续学习的能力大概到了什么样的层次,因为它肯定不是一个零或者一,就是它不会持续学习或者说会持续学习,它肯定是一个零到一之间的某一个状态。
对,我觉得现在还缺少这样的一个去。呃,衡量目前的这个进展的这么一个很好的方式吧。对,所以我觉得如果认可这观点的话,我们应该先把这样的一个衡量这个进展的方式给明确的做出来。比如说通过各种比较完备的呃 evaluation,各种完备的评测,把这个问题给解决,然后再去讨论说我们现在模型离达到我们想要的目标还剩多少。
就总体来说,你们觉得这个模型的进展,它接下来会是就一路这样斜线上去,就可以这样进展了,还是它还是会有一个一个平台期出现?我个人猜测,也还是会有一个个平台期的出现。就是有平台,就其实有平台期也意味着有突破,对吧?就你有一个突破,可能你就上一个台阶。对对,但这个突破不见得说是大家都会想象那种特别巨大的范式性突破。
嗯,我觉得可能更多是在技术上,在知芯层面,把一些问题有些突破之后,它会在就是这个平台期会有一个提升。其实说实话,个人觉得就是最近半年都没有什么很本质的平台性突破。对他只是在一个平台上有做的更更高一点这样,对,当然确实更高一点,带给普通用户的体验已经很不一样了。OK,那今天非常感谢陈阳还有志远做客晚点聊,分享了对K3技术报告的一些解读。
然后我们也从K3的一些改进,比如说它的线性混合的注意力Attention Residues等等,然后延展聊了最近这些领域相关的一些进展,包括这些进展是为了解决什么问题,以及接下来可能会有怎么样的影响。啊,我们也讨论了,就是K3现在在全球或者说在美国的科技圈引起的这种开源的辩论。那今天的节目就到这里,各位拜拜,拜拜,再见,嗯,拜拜。
本期连点呈现,推荐晚点聊几个相关的往期节目。一期是我们这次反复提到的第一百六十三期对DeepSeek V4的解读。其实这两期节目的结构挺相似的,这是因为现在开源大模型的技术报告的结构本身就有一定的共通性,会有几个绕不开的模块,首先是架构层的注意力机制。这是大语言模型里非常关键的一部分。这次陈阳也说,attention机制就是我们AI领域研究的特修斯之船。
这个词的本意是关于事物统一性的哲学比喻:如果一艘船的所有部件逐步被替换,直到没有原始材料被保留,那它还是原来的那艘船吗?其实我们现在对Transformer的改造,我们试遍所有配方的方式,就有点类似于变形船变换零部件,而这意味着Transformer这个大的方向继续往下,可能还有很多改进的空间。另一个绕不开的是层与层之间的信息连接方式。
在V四里,我们讨论了MHC,它是怎么从自己最开始提的HC改进而来的。在K三里,我们讨论的是Attention Residues。Kimi今年春天提出的这个方案本身也是受到了MHC的一些启发。同时,我也推荐过往多期节目里我们讨论过的注意力机制,一是第一百零三期用Attention串起大模型优化史,这是在二五年二月录制的。
它特别好的一点是对非从业者相对友好。两位清华当时在读的博士生肖朝军和付天宇深入浅出的串讲了Attention机制诞生的过程、原初版本的瓶颈、它的改进历史和背后的计算机与深度学习思维脉络。简单来说,注意力的改进一直是在服务于上下文的不断拓展。大家追求的是希望上下文越来越长时,计算和存储的开销不会爆炸。
也就是一方面要提升效率,但同时又不降低性能。然后是一百零四期,与当时 MiniMax 的高级研发总监钟怡然聊线性注意力方向的改进。这也是我们 K3 这一期 Q 到的 MiniMax 在 M1,这是二五年年初的一个模型上,就大胆地使用了线性注意力的这件事儿。这也是业界第一个在这么大规模的模型上用线性注意力的尝试。
更近的一期是去年底发布的143期节目,这一次是和DeltaNet的核心作者杨松林来聊线性注意力的优化。当时松林是在博士的最后一年,他现在已经加入了 TML,KDA 里的 D 就是 Delta 的意思。那会儿的背景是二五年的九月和十月,阿里和 Kimi 都发布了和 DeltaNet 相关的注意力改进成果。
Kimi 当时的那个用在 Kimi Linear 模型上的注意力改进,就是现在 K3 里用的 KDA。这期我们也聊到了KDA是从当初Kimi Linear这样一个三十八B的小模型Scale到了现在三T的规模,这也是一个挺具体形象的例子,它展现了现在的模型研发中。是怎么一步步从小规模的实验,在往上 scale 的历程?
期待下一次的技术解读,可以在我们关于 AI
的意义网络中再点亮新的一点。本期节目就到这里,感谢收听。如果你对今天聊的话题有观察、好奇或疑问,欢迎在评论区分享想法,这也会成为我们节目的一部分,让整个讨论更完整。你也可以把我们的节目分享给对这个话题感兴趣的朋友,推荐更多你想听的主题和嘉宾。你可以从小宇宙、苹果Podcast等渠道关注“晚点聊
Late Talk”,也欢迎关注我们的公众号“晚点 Late Post”。
下期再见。