152. 领读 Kimi K3 技术报告:从架构创新聊起,注意力美学、多教师蒸馏和开源 MoE

播客逐字稿 · 张小珺Jùn|商业访谈录 · 124 分钟 · 嘉宾:孙宇涛(清华大学计算机系博士候选人,上海创智学院璞锐学者)

Keynote

张小珺×孙宇涛领读 Kimi K3 技术报告,从线性注意力前世今生一路讲到分布式 Infra,串联十几篇前人论文。

核心议题

关键洞察

开场:学习播客回归

张小珺介绍本期领读嘉宾孙宇涛,以及为什么要做 Kimi K3 技术报告领读。

张小珺

Hello 大家好,我是小俊。今天的节目是一集学习播客,学习Kimi K3的技术报告,希望和大家一起领略技术之美。K3是有效扩展到2.8T总参数并全量开源的MoE模型。大家可能注意到这集技术报告的领读播客距离模型发布已经过去了一段时间。期间,我们试图寻找一位合适的嘉宾,我们希望这位嘉宾他的工作和学术背景非常非常适合来讲K3,最后找到了孙宇涛。宇涛目前是清华大学计算机系博士候选人,上海创智学院璞锐学者。

张小珺

他从博士开始的研究方向是LLM架构,预训练,架构创新一直都是他的兴趣所在,这正好是K3的亮点之一。那宇涛透过领读K3的论文也串联讲解了十多篇相关的论文,他的语速非常快,所以前方语速高能预警。期待2026年,我们和AI共同进步。

冷开场:先抛三个观点

从正片截取的高能片段:Muon 与激活异常值、忒修斯之船、'没有本质创新'的暴论。

孙宇涛

当然了,这块我觉得可能还有一些别的concern,比如说我们发现,其实如果用Muon的话,它其实是会更容易出现activation outlier的,你控制中间的激活值总不是一个比较错的现象。当然如果我说Muon更容易来activation outlier,苏剑林一定会反对,他肯定会说,对于任何优化器来说,它都一定会出现activation outlier,因为你从模型架构上是控制不了的。所以说如果想严格控制的方法,它一定是直接从模型架构下手。

孙宇涛

这个学校上还有一个对应的概念,就是忒修斯之船,就是你刚开始,2017年这个船刚开始行驶的时候是Transformer。但是这个船刚开始是怎么拼起来的,它是attention加残差,平时的过程中我们可能会慢慢地把某些部分换了,某些部分换了。其实跟Transformer已经,我觉得相似度已经很低很低了,你是否还把这个东西叫做Transformer?我说一下我的判断,我的判断比较暴论。我的暴论就是大模型可能没有太本质的创新了,后面都是一些改良式的进步。好的,那我们的论文学习播客又来了。

嘉宾自我介绍:从 RetNet 到 YOCO

孙宇涛讲述自己的研究脉络:线性注意力、chunk-wise recurrent、混合注意力、YOCO 与 loop LM。

张小珺

这次我邀请了清华大学的PhD Candidate,上海创智学院璞锐学者孙宇涛,将由他带领大家一起来学习和阅读最近大家关注度非常高的Kimi K3的论文。但是宇涛会带领大家读一系列的论文啊。

张小珺

那宇涛你能不能先给大家做一个自我介绍并且介绍一下你的研究方向。

孙宇涛

好的,各位观众朋友大家大家好。然后我是来自清华大学的孙宇涛。我在这个博士期间的主要的研究方向是大模型的架构和预训练。然后这个博士课题呢,我是从二十三年从那个时候开始,我们主要去研究这个大模型的模型架构的一系列的工作。然后在那个时间点应该是ChatGPT刚刚发布一段时间吧。但是我们的架构研究从其实从ChatGPT发布之前就开始,对,差不多就开始了。然后我这两三年的主要的一个这个研究方向就是去主要是去尝试解决,然后大模型在推理这个环节的一些这个低效性吧。然后所以说我们主要的一些研究方向都是围绕着推理高效性来去展开的。

孙宇涛

然后其实大家也可以注意到说就是在模型架构这个方面呢,整个业界的研究方向也是逐渐从偏这个性能为导向逐渐的变得是以效力为导向。然后在这个方面其实是有一些范式上的变化的,因为可能在Vision时代或者说在ImageNet时代,大家还是尝试去托到更精妙的一些架构,然后去提升模型本身的一个表现。但是在大模型时代呢,然后我们其实逐渐发现对于模型的性能而言,模型的参数量原来是一个最主要的一个因素。然后在这个在模型架构本身的一些改进性的变化呢,其实相对于模型参数本身的提升,对带来的这个性能提升是相当微小的。

孙宇涛

但是其实不同的架构在这个模型的推理方面,然后性能差异是巨大的,而且这个也是主要决定了模型最后的一个部署的价格,然后其实这两年大家主要在这个方向去努力。然后对于我而言的话,其实我们是在23年开始,然后探索这个线性注意力这样的一个方向的一个工作。然后我们这篇RackTide的工作刚开始主要是解决了两个问题的。我觉得从现在的这个阶段,主要解决了两个问题。第一个问题就是线性注意力怎么能尽量的去,在一些比较Gentle的场景下能逼近这个全助力的这样的一个性能。

孙宇涛

因为Linear从刚开始提出,主要是为了去用一个比较Linear Kernel,然后去一个kernelized的方式去拟合,然后二次复杂度的全助力这样的一个pattern的。所以在之前那个时代,其实对于Linear attention而言,它的位置信息它其实是不够sensitive的。然后其实在那个时代,Linear attention和RN只是在形式上比较相似,但是从建模的特性上来讲,RN其实还是比较强调一些locality的一些表示。

孙宇涛

所以说在那个时代,我们在RN是比较早地引入了一个衰减的一个机制,这样的话可以让这个线性注意力在一个有限的状态空间里,然后尽量地去建模这一些对最后的结果贡献足够大的一些信息。然后这个其实刚开始的一个motivation。除了这个模型性能以外,我们当时也是主要比较先地提出了这种chunk recurrent,这样的一个线性注意力的一个kernel的计算形式。因为对于线性注意力来说,如果把整个的状态都展开了,然后在token这个维度去做地规的计算的话,它其实从效率上并不是最优的。

孙宇涛

但是如果用仿照注意力这种计算方式去建模,它又享受不到整体计算复杂度带来的优势。所以说我们当时就是在这种parallel representation,从一些并行的像全主义这样的一个计算形式和全地规的计算形式之间,然后找到了一个tradeoff,也就是块地规的这样的一个计算形式。然后这个chunkwrestrequirend,我们既可以拿到整体的一个计算复杂度上的一个收入,同时我们能在kernelize层面,然后我们可以尽量多地去调用tenthcrow,然后把这个local的一些计算密度都拿满。

孙宇涛

这个是我们提出了一个比较有效的计算范式。然后大家其实如果可以关注到之后的一些,其实所有的一些现录注意力的改进工作,都是基于这样chunkwrest的计算形式去计算的,包括Mamba2,然后geti delta net,然后来到今天的这个kermilinear,kda这样的一个计算模式,然后在这个大的计算模式上呢,然后又带来一些新的比较细节上的变化,然后这个可能之后,对今天的后面会更详细的来进行讨论。

孙宇涛

然后当然从现在这个视角的纯线性注意力力,就作为纯线性注意力力的一个模型而来,无疑是一个比较失败的一个尝试,因为无论如何这个比较有限的一个context,它都难以带来就是在长上线文中和这个全注意力比较完全相懂的一个性能,这个其实在这个今天这个时间点,我们都知道是不可能的,所以说这个当时我们在23年吧,也是注意到了这个现象,所以说我们就会尝试说就是从这个全线意助力,然后转到一个这个hybrid attention的这样一个架构的形式,就hybrid attention就是其实大家顾名思义就是很简单,包括Kimi K33其实也是这样的嘛,就是用一些现意助力和一些这个全注意力然后组合起来,

孙宇涛

然后作为一个模型的一个架构,然后这个本质上听起来就是像是一个工程上的trade off,然后也是一个比较工程的解法,但是虽然如此呢,我们当时就发现一个现象,不过这个也是目前所大家公认的,就是混合注意力它其实虽然从架构上来讲是一种trade off,但是从最后模型本身的表现来说并不是一个trade off,包括大家其实发现在保持一定的全注意力比例的基础上,整个模型其实是可以获得无损甚至更好的一个长上下文表现的,也就是说其实在混合注意力模型的架构中,我们并没有牺牲一定的这个全注意力的一个模型能力,从而带来工程上的注意力,所以从这个角度上来讲也是因为这个实验上的一个结论,

孙宇涛

然后从而导致这个混合注意力现在被大规模的利用起来,

张小珺

这是你的第一片工作是吧?

孙宇涛

对对对对,然后后来的话就是当时我们会发现说,这个混合注意力其实在工程上是一个百分之百 work的方法,我觉得其实没有问题,其实直到今天work的也还是不错嘛,当然了对于一个博士生来讲,这个东西虽然它比较work大家也愿意去除了,但是这个东西从品味上其实感觉就差点意思,而且感觉也不够有趣,因为当时我们觉得如果只是把两种混合注意力模型结合起来的话,它有这么几个问题,我觉得最大的问题就是它在推理的加速比,它永远是和这个混合比是正交的,或者说也不是正交,就是完全成正比例的,因为现在比如大家比较常用的是这个混合注意力比全注意力,大概是三比一这样的一个比例,也就是全注意力,

孙宇涛

然后在整个模型里大概是四分之一这样的一个比例,所以说如果说我们认为四分之一是一个比较无损的,也是一个比较极限的比例的话,其实我们很难拿到更大的加速比,也就是说我们无论是prefill还是做decode的,我们最多的加速比也就是四倍,当然我们在做纯现性注意力的时候,我们希望是更高的嘛,我们希望最后如果混合注意,它其实只是一个这个常数级别的改进,所以当时觉得可能不是很有意思,所以我们后来就做了YOCO这样的一个工作,

孙宇涛

当时我们的一个motivation就是我们从第一性原理去思考,为什么纯现性注意力没有办法获得和这个纯全注意力一样的性能,原因也很简单,就我们至少希望模型有一些比较基本能力,比如说我们至少有一个可以获取全文信息的能力,所以说在这个场景下,其实全上下文的kvcatch这一点是没有办法去省掉的,所以说就kvcatch既然没有省掉的吧,我们能不能从另一个维度去省的,所以当时我们就觉得既然说这个从偷看长度这个维度没有办法去节省,所以说我们找到了另外一条节省的方向,就是从这个层间这样去节省,所以YOCO当时做的是一个就是所有层共用一份kvcatch这样的一个架构的方式,

孙宇涛

然后另外一个就是从模型的计算角度,就每一个token在decode的过程当中,

孙宇涛

它的计算密度是没有办法去这个减少的,因为我们希望它保持一定的这个全注意力的计算能力,然后这样它才能达到我们希望的常差点文端,所以说我们提出的另一个东西就是我们希望把这个模型的计算和存属节有开来,所以说我们当时可以看到,虽然我们只有一份的kvcatch,但是我们可以保持一个多层的复尔层生的这样的一个计算结构,所以说在这个技术上,我们当时的YOCO架构就可以,我们只保留一份的kvcatch,但是可以获得这个和全注意力或者混合注意力,基本上可以等价的一个模型的一个计算结果,然后这个架构还有另外一个优势就是我们在prefill的时候可以直接跳过这个全注意力的计算,

孙宇涛

因为prefill它就是,比如说也就是模型处理这个用户输入的这样的一个计算,我们本质上只是希望我们可以拿到模型的kvcatch,然后这个kvcatch是用于后续的这个decode的一系列的hater state,所以说这个prefill的唯一目的就是去达到这个模型的kvcatch,所以说在这个这种架构上,我们经过前面的一些linear retention的一个计算,然后拿到了kvcatch,这个就够了,因为prefill阶段我们是没有必要就是减码出每一个位置的后续的next token prediction,所以在prefill阶段我们就可以直接不过cross retention,

孙宇涛

但是在底后的阶段我们可以保持和这个传统模型一样的一个计算能力,对,然后这个是我相关的一些第二条件工作,这个标题也挺有意思的,对,这个也是致敬嘛,有only look once,当然后来也有后面一系列的致敬的工作,你只能缓存一次是吧,对,是的,对,这个其实在这个从kvcatch的存储角度基本上已经达到极致了,因为我们都同意的吧,如果从tokenwise角度我们必须能保证所的话,一份其实就是最少了,不可能再少了,所以这个从kvcatch角度是一个比较极限的一个结果,对,然后我讲我对personally,我的一个第三边工作就是,在这个工作里我们其实解决了,就是从一个更通用的角度来去考虑问题的话,

孙宇涛

就是模型的推理,开销主要就分为三个部分,就是prefill的这个实现开销,然后decoder的开销,然后和kvcatch的存储改造,这三个是最主要的一个模型的推理瓶颈,不可能有第四个,然后YOCO这个工作呢,我们主要解决的是prefill和解决了kvcatch,但是我们没有解决decode,然后decode的话,我们后续是,或者大家会尝试用这个sparsal-tentent的方式去解决,然后但是k3它其实目前是没有用sparsal-tentent,所以这块对今天就先不讲了,

孙宇涛

然后我们后面的一个工作是一个,和另一个赛道是一个比较相似的工作,也就是loop language model,loop language model,这个顾名思义,也就是我们在保持一个固定的模型参数大小的情况下,去通过多次迭代,来去提升模型的flops,从而去提升模型的总的一个能力,所以loop这一系列的工作,主要目的就是可以在保持一个比较小的模型参数的基础上,然后取得比同参数的模型好更多的一个效果,但是其实传统的这种loop language model,它在decode的情况下,它的这个成本其实是难以忍受的,因为它只是省了模型参数,它其实并没有省计算,

孙宇涛

而且在相同计算下的话,它其实是并不如把参数展开,或者说用一个更大的,但是不去loop的模型,它最后总的效果好呢,比较传统的loop language model,其实还有一个问题,就是它的这个推力,它的这个carrie cache,它的存储,它会随着这个模型推理的深度而增加,所以说最后总的算起来,这个loop language model,带来的总的carrie cache,其实是相当大的,然后YOCO universal的,这个工作其实就是在这个YOCO价格的基础上,然后去做一个位置上的改变,也就是我们把loop的单元,然后变成一个很efficient的一个单元,

孙宇涛

然后从而去避免就是推理的时候,一些额外的一些,或者比较大的成本,但是能保持它模型的一个效果,比较稳定的一个增长,解法也很简单,因为对于YOCO而言,毫无疑问它是一个这个混合注意力架构,但是我们混合注意力的方式,它是一个两端的一个结构,也就是说我们模型推理的前期,它是一个全线性注意力,但是模型的后期是一个全注意力这样的一个架构,所以说我们的选择是把这个,把loop这样的一个架构,集中在这个线性注意力这样的一个位置,然后这样的话,我们对整体的carrie cache增长是比较小的,因为linear tangent,它本身的carrie cache,它其实是微乎其微的,

孙宇涛

然后第二个就是线意主义,它不仅省存储,它其实也是省了计算,就是在长上线文这样的一个场景下,它其实带来的额外的计算是相当小的,但是虽然它linear attention,所带来的attention的decode的计算是相当小,但是从in general的模型能力上的话,它从比如说模型的propilessy,或者说从模型的scaling behavior,它是可以获得足够接近全注意力的这样的一个模型的能力,所以说我们这个架构,它其实可以达到的一个效果就是从,用差不多这个,比如说我们用两倍于原模型的这样一个计算强度,我们基本上就可以获得两倍左右的一个性能提升,

孙宇涛

但是我们的模型存储和这个模型的cure cache,还是保持和原模型的一个差不多这样的一个推理开行,

孙宇涛

这个是我第三个工作,然后这班工作,因为去年开始这个loop language model,是一个大家比较热议的一个话题,然后我们在这方面然后做了一些探索,所以你从23年一开始读博,你的研究方向就一直在架构创新上,

张小珺

对吧,对,是的,

孙宇涛

而这次K3它在L1M的架构和预训练上也做了很多工作,这是我们今天来找你来带我们读论文的原因,

张小珺

对,是的,

孙宇涛

因为Kimi Liner刚发布的时候,当时我们其实之间也有一些讨论,然后其实这工作的这个连续性其实还是比较强的,包括Kimi Liner它其实也是比较原封不动的搬到了K3的一个总的一个合办的里面了,

为什么对架构创新感兴趣

个人趣味与行业需求的双重驱动:架构创新四两拨千斤,注意力曾是部署最大瓶颈。

张小珺

你为什么一直对架构创新比较感兴趣,

孙宇涛

我觉得两方面吧,从个人角度我觉得架构创新比较有意思,就是比较好玩,

孙宇涛

因为别的层面的工作的话,它其实工程性的因素会更强一些,当然架构创新它也有一些比较工程性的因素,但是它的工程性主要来源于就是你需要做一些Infra上的code design,但即使是Infra上的code design,其实我们之前也提到了,比如说我们提出这种Chunk Reconnaum这样的一个计算节目,它本身其实也是Infra层面的一个创新,所以我觉得这个事情比较有意思,而且它比较能起到一个四两拨千斤的效果吧,我觉得对于一个博士生而言,这块是一个相当好的一个研究领域,当然在2023年是这样的,2026年的话可能架构创新能做的其实是越来越少了,这个是其实从个人层面带来的一个考虑,

孙宇涛

然后整个这个领域的角度而言呢,我觉得其实全注意力的话,它当时是一个非常大的一个瓶颈,如果说在这个大规模的这个,如果大模型推理是大规模的应用的话,就是Attention这个东西是一定可以解决,就是是一定需要解决,而且我们相信是一定可以解决的,所以说在那个时间,我们觉得从整个行业来讲,架构创新是对于模型部署而言是最重要的事情。

领读方法论:把论文的历史脉络打开

不止讲 K3 怎么做,更讲每项设计从哪来——串联十几篇论文与前人 credit。

孙宇涛

我们这次的主题其实是一起来读Pimi K3论文,但是你对于这篇论文有很多自己的想法,所以你也做了一个不一样的一个分享的结构,并不是完全是根据这篇论文展开,能不能介绍一下你整体的分享的一个结构和逻辑。我一般想Talk的主要的逻辑就是从它模型本身,比如说从一个论文本身出发,当然所有论文都是建立在之前无数个relative work的基础之上,所以我会选一些,比如说它一个论文它有几方面的贡献,然后它可能一个若干贡献,它在背后有一个历史研究的一个脉络,我一般的风格是会把这个脉络打开,然后这样会达到一个效果就是,如果只看这篇论文你会知道它是这样做的,但你可能会不太清楚它为什么这样做,

孙宇涛

或者说历史上大家是怎么做的,为什么最后达到这个解,我觉得比如说从一个比较重要的点展开,我觉得从观众的角度是一个比较好的学习的方式,而这样的话也会讨论的更综合一些,因为如果只是一个点的话,它其实我觉得意义是不够大的,当然这块可能模型架构是一个比较多的一个篇幅,主要也是因为一个是KimikSan,他也做了比较多的一个模型架构本身的创新作,另一个就是模型架构这一块,它的研究的脉络它其实是相当清晰的,而且它每一个部分它其实都有一些比较固定的一个credit,我们可以拆成一个一个点,然后把它大家去讲出来,当然后面也会有一些关于Infra的内容,因为现在其实都是比较依赖Infra和模型架构的code design,

孙宇涛

所以这两块它其实是密不可分的,别的一些比如说Playtrain Data的话,但是大家肯定都是一个比较密密的状态,Paper里也没有写,我也不会讲Paper除了公开内容以外的一些东西,所以这块可能就会涉猎的少一些。你的领读结构让我感觉到,其实我们最后看到的是K3的一个呈现,但其实它是有很多人的credit,它不只是Kimi一家公司,这也是现在做Frontier这些模型的一个有意思的地方,它要吸收很多之前其他人的工作,然后我们也把credit都给到大家,我们这篇讲解就是除了你能理解K3,

张小珺

也能理解它是怎么来的,对吧?

孙宇涛

对,是的,我觉得做一个公司比较科学的方式,就是如果你最后想把这个模型做好,你肯定是几百家之长嘛,当然是如果说,比如说你只想用自己的工作,那这样可能就是没有必要了,如果是基于这样一个目的去做工作,那可能你就会错过一些别人做的比较好的工作,因为无论如何,整个行业都是由大家集体推动的嘛,所以我觉得这个也是Kimi K3一个比较好的一个点,它其实我觉得包括它之前的一些Paper也是这样的,我觉得比较客观或者比较真实的,把前任的一些工作用一个比较可靠的方式去引出来,不会说想办法去削弱这个之前一些人的贡献,我觉得这个其实是它做的也比较好的一个点,所以我们这次是从K3出发,

孙宇涛

然后其实是串联起了,不管是十几篇论文也好,还是记住报告也好,还是比如说苏剑林的博客也好,就是是有很多的那种,那我很期待,

张小珺

我们开始吧。好,

正式领读:导读与三维 Scaling

K3 的三大卖点:2.8T 有效参数规模、1M 上下文、综合过去一年架构创新。

孙宇涛

Kimi K3从前面它的一个主要的卖点来说的话,它其实主打的是一些,我觉得从几个方面它有一个比较大的一个囊括,首先它受了它的一些结果,这个结果特别好,而且这些数都摆在这里,其实也没有太多可以解读的,然后为什么能达到这样的一个结果,然后Kimi K3主要Claim的是,三个维度的一个scaling,然后当然我觉得最重要的还是说,模型大小的一个scaling,就是它做到了一个2.8T这样的一个模型大小,而且它是一个比较有效的一个scaling的结果,

张小珺

什么叫无效呢?

孙宇涛

无效的scaling我今天就可以给你,我晚上回去起一个2.8T的模型unit,我跑个100B的token,然后我就可以放出来,这个显然是无效的,所以说这个scaling当然是要永远是建立在有效的基础上,Kimi K3就是在2.8T这个scale,做了一个有效的scaling,然后这个模型参数大小,包括模型的一个激活,它来到了100B左右这样的一个量级,其实在Kimi K3发布的时间点,其实是比国内开源模型的其他几家要大很多的这样一个情况的,然后它另一个扩展是在模型上下文长度的这样一个扩展,然后在模型上下文长度这样一个维度,它做到了1M这样的一个量级,然后1M的话,

孙宇涛

它自然是可以获得更大的上下文的窗口,然后去解决更复杂的一个任务,所以说从模型总的来看的话,我觉得还是遵循一个第一系原理,就是更大的模型,才有更大的一个智能上线,如果别的东西没有做太错的话,其实大家可以看到这个模型的参数大小,还是解决模型智能最本质的一个参数量,当然如果只看benchmark的话,你有无数种方式去达到一个对内或者对外一个满意的结果,但是从模型的能力本质上,模型的参数大条还是最有效的一个方式,而Kimi K3是一个相当早期,或者说相当成功的达到了这样的一个量级,

孙宇涛

然后到这个模型结构章节,模型结构章节的话,就是Kimi K3其实是综合了KIMI整个团队,包括这个整个业界,然后过去一年以来比较重要的一系列的创新,K2不一样,K2当时KIMI的发力方向主要是这个模型scaling本身,或者说一些非模型架构的一些创新,所以说KIMI K2当时主要沿用的就是DeepSig V3的一个结构,但是K3这块的话,它其实就跟K2大不一样了,Kimi K3它本身引入了很多比较新的,或者说比较创新的一些设计元素,

孙宇涛

包括对吧,自己的也好,别人的也好,就是有一些比较创新的一些setting也好,或者说比较细节的一些调用也好,它其实这块做了很多对比较充足的一些准备,所以从观感上来看,其实跟K2的感觉是很不一样的,首先的话是Hybrid Attention,Hybrid Attention我刚刚也讨论过一些,我们可以重新翻回头来,然后再从KIMI本身它的一个写作的writing来去看起,然后这块的话,我会先讲一下这个线性注意力的一个,在过去三四年以来的一个历史的发展状态,因为你如果直接读这个KIMI Delta Attention的话,你会发现它的这个公式相当复杂,而且说对不同的项,

孙宇涛

然后具体是怎么来的,它具体承担什么样的一个作用,如果直接看这个公式的话,你会发现它特别特别长,比如说比经典的attention,它其实是要扩杂很多的,它其实每一项它背后都有一个历史性的一些因素,或者说大家从整个模型结构探索,最后得到的这样的一个结果,所以说如果想了解这个KIMI Delta Attention,对这个最后是怎么设计出来的,我们还是有必要去探索之前的一些线述力,经过了怎样的一个发展阶段,然后让我们再回到这个RefNet,对这个其实是刚开始我们必不可少的一个,这个现实注意力的一个发展的阶段吧,因为刚开始这个现实注意力非常非常简单,我们就是KV乘出来得到一个外基,

线性注意力的前世今生

RetNet 引入衰减、Mamba 位置相关衰减、Gated DeltaNet 更高容量、KDA 把标量衰减做成 channel-wise。

孙宇涛

然后把它加起来,所以刚开始的现实注意力,其实比RefNet还要更简单,然后RefNet在这个现实注意力的基础上呢,然后我们引入了一个衰减项,然后这个衰减是跟Token的位置是有关的,然后这样的话就把这个Linear attentiont,从一个比较Position Invariant的这样的一个角度,从位置无关,然后让它变上了一个位置有关,然后位置有关,最主要的方式呢,一个就是我们可以加RoPE,另一个就是我们可以有时衰减项,因为无论如何,语言的特性它就是更近的位置,它有更高的一个权重,所以说如果我们在一个有限的上下文理下,达到更好的结果,衰减这项其实是必不可少的,

孙宇涛

对,所以说这块是这个现实注意力,比较前期的一个经验吧,然后这个衰减项,所有的工作基本上都保持住了,然后另一个主要的影响就是Token Recon的这样的一个计算形式,

孙宇涛

因为如果我们只是做一些偏学术性的研究,或者说只是发Paper的话,其实从Colonize的一个足够高的有效率,其实是大家不会从一个比较刚开始就比较强调,一个是我们主要发现的话,我们完全使用这个地规的这样的一个形式去计算,它其实特别满,甚至比就是在训练过程中,甚至直接要比这个Parallel Rampeting,就类似全注意力这样的一个计算方式,它还要满,但如果我们直接用这种Parallel Rampetation,又感觉十分傻逼,

孙宇涛

因为我们在训练之后,相当于完全没有享受到这个线性注意力的收益,它跟全注意力的计算强度是一模一样的,甚至还要更高的,因为它可能有一些别的处理,或者说我们的这个Kurtle写的写的没有Flash的才是好,这些都是有可能的,所以说我们当时觉得,无论如何呢,我们都要找到一个比较可靠的一个计算Python,让它足够发挥GPU的能力的同时,然后享受到一个复杂度的一个加速,所以当时我们就做了这样的一个事情,然后RetNet之后呢,有两个比较重要的一个节点在这,我觉得一个是Mamba,Mamba当时是把这个位置无关的衰减,变成了这个位置有关的是一个衰减,然后接下来就是DeltaNet,

孙宇涛

DeltaNet的话,当然这个概念不是宋林去提的,当时是这个,DeltaNet是之前的一个工作,然后宋林是在这个DeltaNet的基础上呢,然后引入了,就是开发了一个,拖乱东特瑞的,其实就一句话,就是如何能让这个DeltaNet,转化为一个GPU可计算的一个,这个chunk-recurrent这样的一个计算模式,

孙宇涛

当时宋林去做这方面工作的时候,我还稍微有点疑后,我说看上去好像就是DeltaNet不太可以并行,他说可以并行,并且他已经搞定了,所以说从这个GPU efficiency的角度,这个DeltaNet主要是解决,这是infrared上的一个困难,而且这个解决方式,我觉得还是一个比较本质的一个方式,然后DeltaNet刚出来的时候,我们当时尝试去解决,因为当时我们知道,这线性注意力,它在处理全上线文的这样的一个能力上,它其实是不如,

孙宇涛

不如全注意力的,所以当时就有两个方案,第一个方案就是我直接认输,我就去认定,线性注意力是不可能抵抵全注意力的,当然可能当时我是这种心态,我当时意识到,可能从这个,全现役注意力的这个视角出发,是很难去匹敌全注意力的,我当时这个想法,当然宋利是另一个想法,他当时觉得,我还可以再努力吧,我们可以努力的去提升,这个现役注意力本身的一个,长上线文的一个容量,从而获得更好的一个节奏,然后DeltaNet当时就是这样的一个目的,通过这种方式,我们可以获得比之前的这个RetNet,和满法更好的一个,长上下文的一个能力,本质上其实也就是,在相同的这个,KVCash大小的情况下,

孙宇涛

就是从上把上提高了,这个现役注意力的一个,上下文的容量,当时DeltaNet是,没有做这个位置衰减的,当时从这个,从PRoPElacity,或者说从这个Benchmark上,它的结果不是特别好,所以说我觉得,一个比较显然的事情,就是既然我们知道,这个位置衰减这个事情,本身是可以帮助这个模型总的一个能力的,那我为什么不把这个模型衰减,然后和这个DeltaNet,这样一个更高容量的,Linear彩晨结合起来,GETI的DeltaNet正是这么做的,我们可以去结合DeltaRoot,这样的一个,更高的一个,线性注意力的计算容量,然后同时我们,给它带来一个衰减,

孙宇涛

然后同时融合这两个,我们就可以得到一个更优的,线性注意力的一个表达形式,然后这里就可以看到,如果没有AlphaT这项的话,它其实就是一个比较经典的,DeltaNet,然后引入衰减的,引入衰减之后的话,我们就可以得到,GETI的DeltaNet这样的一个形式,然后大家就可以注意到,这个表达形式,其实可以,其实已经比刚开始的,线性注意力要复杂很多了,

孙宇涛

因为如果把这项,如果把这个ST-1,后面的一个系数完全消掉的话,其实就是最经典的Linearattention,然后ResNet和Mama,是把这项消掉的,得到一个结果,就是我对上一个时间点的,历史状态,然后进行一个衰减,然后这样的话,是之前的RedHand和Mama这样的一个结果,然后DeltaNet呢,它是引入了一个,GETI DeltaRoot的这样的一个方案,然后写上DV形式的话,它其实就额外再增加了一下,然后这样的复杂度,其实就慢慢的去叠加了上去,我们再回到KBleder,它其实在这个GETI DeltaNet的基础上,又变了一个东西,然后大家可以去对比一下,

孙宇涛

这个是怎么引入的,主要的区别,它其实就在这个衰减项上,比如说在RedHand,然后Mama2和GETI DeltaRoot的情况下,当然了,就是线性这个注意力是分Head的,所以说,一般的线性注意力也是分Head的,但我们一般写的,但我们一般写公式的话,我们会考虑只有一个Head的情况,所以说如果只有一个Head的话,GETI DeltaNet也好,然后之前的工作也好,它其实这个衰减项,它其实是一个标量,

孙宇涛

它是一个标量解,就是说我整个一个Head,它遵循的这个衰减系数是一致的,然后这样的好处是,它在Kernel上比较容易,就是写kernel比较方便,因为衰减项它本身想做一个比较好的一个,

孙宇涛

如果说我把这个Decay拆成更refin的形式的话,我们再去写kernel的话,它其实是一个不太好处理的一个项,这个是出于写kernel方面,然后从这个模型能力方面,当然我们毋有疑问,就是我们把一个标量的衰减,然后变成Channel-wise摔减,它严格的来说是能力更强的,

孙宇涛

然后KMI Delta Attention,它其实就是把这个AT的DeltaNet的这个衰减项,然后从一个标量,然后变成了一个更fangreen control,这样的一个量,然后这样的话,它就可以带来就是每个Channel,可以的衰减系数是不一样的,这样的话,我们这样可以带来一个严格更好的一个能力的上限,

孙宇涛

因为从公式上来讲,它是严格更好的,无论如何这个Channel-wise的Decay,它是可以退化到一个比较均匀的Decay的,这样一个严格更强的一个模型能力,它会带来一些更好的效果,当然了,就是对于KMI Delta Attention来说,一个更强的模型能力,它其实是有一些代价的,它的代价就是,它写Kerno会更麻烦一些,它的麻烦的点就在于说,我们不能说我们作为一个Decay的,我们其他部分可以用一个比较方便的方式去做这个,去利用探测号来进行计算,如果是一个标烂的摔减枪的话,它的处理会特别特别容易,它其实一个Tile就只有一个变量就完事了,但是如果把它从标亮变成一个Chinawise的话,

孙宇涛

它的处理难度就会增加很多,然后这样的一个处理难度,也会带来在KMIK3里边,一个更细节的一个Code Design的处理,这样的话我们就来到了Lower Bounty的Decay,就为什么有这个东西,两方面的原因,一方面就是我们可以认为的,从算法层面,我们希望它不要Decay的太快,但是从Paper本事而言的话,它其实是为了和Kerno来进行一个Code Design,原因在于说我们想去处理更Find Green的Decay的话,我们需要在这个数值上做一个比较巧妙的处理,也就是对于Q和K而言,我们会做一个Decay的倒数的一个变换,我可以举个例子吧,最简单的例子就是,

孙宇涛

减2可以表示为3-5,这个其实也跟RoPE的思想是比较一致的,RoPE的其实在这个Infra上一个特别方便的地方,就是它可以通过这个绝对位置变换,来去表示相对位置变换,所以如果在这个情况下,它整个的一个计算会容易很多,然后RoPE它的思路就是,其实就是用绝对位置来去表示相对位置,所以说对于衰减而言,它其实也可以用绝对位置来去表示相对位置,也就是说比如说我们有一个衰减项,它比如说它是一个Alpha的平方,Alpha的平方的这样的一个衰减项,当然这个衰减项可能是第0个Token对第2个Token的,或者说第100个Token对102个Token的,所以说我们如果想用绝对位置的话,

孙宇涛

我们就会选择让Q先做一个比较大的一个衰减,然后让K网上提升的一个比较大,比如也就是说我让K做一个三四方的一个衰减的提升,然后让K的话做一个比如说五四方的一个反衰减,然后这样的话我通过这个乘法结合率,我们就可以得出和原来的递归一个比较等价的形式,然后这样就带来一个问题,就是对于这个KMI Delta Token来说的话,它会对QK,它有一边它会除一个很小的数,对成了一个很小的数可能没有关系,它无非就是DK到0,它并不会带来这个,当然我们也不希望它DK到0,但是从数值精度上来讲的话,我们希望让它控制在这个BF16的精度范围内,这样利用RAWP那种就绝对位置来表示相对位置编码的这样的一个方式,

孙宇涛

它才是有效的,所以说为了让衰减在一定的Chunk范围内,然后控制在BF16的,就在一个固定的Chunk内部,让它控制在这个一定的精度范围内的话,我们是需要从数学上把它控制住的,比如说Kimi Liener它这块是一个,它这块是一个16个Token tile,我们就希望这个衰减,在这16个Token的RAWP里边不要超出这个BF16的这样的一个范围,当然BF16的精度范围,这个是我们已知的,我们可以通过这个BF16的精度范围,然后反解出来,在16个Token的这样的一个区间内,然后我们最多可以衰减到多大的量,然后Kimi Delta Tens,它就大概选了这样的一个量,

孙宇涛

然后这块我们可以去证明说,就在16个Token的tile里,我们是可以衰减像是不超出BF16的Dynamic Range,这块的LowerDoneBody的Decay,它更像是一种Code Design,我们通过模型算法什么样的一些控制,然后让它获得在一定Tile的内部,然后不要让它有数值方面的问题,这样的话整个KernelLess的方式会更加的去通常,当然了如果不去限制,Kernel肯定也有自己的写法,当然了那种写法可能就会低效一些,所以说为了保证一个高效的实现,Kimi Delta Tens采用了在一定的Tile Trunk内,然后控制它最大的一个系数,

孙宇涛

就衰减程度这样的一个方式,

孙宇涛

然后Kimi Delta Tens大概就是这样的,其实Tora东瑞的也很简单,第一个就是我们Kimi Delta Tens,把Gated DeltaNet这样的一个计算方式,拓展了一下它的计算能力,然后为了扩展的计算能力,带来的一些额外的infra上的麻烦,然后他们在模型的表达范围内采取了一些设计,然后让它满足Chronelize的一个方式,然后最后得到了Kimi K3采用的最后的一个形式,

Gated MLA:稳定性优先

Qwen 的 gated attention 思路引入 MLA;讨论 MLA vs GQA、DeepSeek-V4 为何弃用 MLA。

孙宇涛

下一个环节是Gated DeltaNet的MLA,顾名思义它就是把两个,

孙宇涛

把两块的模型结合了起来,MLA可能大家都很熟悉了,

孙宇涛

是DB-SK V2刚开始去用的,主要目的是减少一些KV开始的一个开销,然后MLA的这个配置呢,后面主要是被这个DB-SK V3和Kimi K2,然后去采用的,当然DB-SK V4没有用,因为Kimi K2也用了,然后Kimi的同学们认为呢,就是MLA如果在这个全注意力这样的一个scope内部,大家觉得至少还是一个可以接受的一个形式,或者说没有必要去搭动的一个形式,所以说这个K3还是采用了跟KR一样的这样的一个形式,然后在这个MLA的基础上呢,增加了一个GT的这样的一个操作,然后GT的attention呢,最早应该是Teneman团队刚开始去用的,

孙宇涛

然后从Teneman这个团队的标题,也可以看出来就GT的attention,当时主要是解决的哪些问题,比如说这个Long Linear Nality,然后GT的attention可以带来额外的一个计算的一个强度,然后Sparcity和Attention Think Free,然后这个东西可能并不是那么显然,这个就得具体看它的一个Paper,但是whatever,我觉得Delta的Teneman大家最buy in的一个点,就是它的一个训练稳定性,而且这个训练稳定性它是一个,我觉得是一个被广泛验证过的这样的一个形式,大家可以从K3M这个训练图里可以去看到,对于一个Pretrain的Raw而言,

孙宇涛

我们还是希望它越有越好,从模型能力上如果不是最优,但也没有关系,因为模型的能力其实本质上最主要的因素是模型的参数大小,所以说好一点差一点,它都不如稳定性也要重要,因为如果稳定性不好的话,它会带来很多麻烦的问题,甚至比较大的问题就是你整个Raw的迅崩了,然后你前面整个的TriplePoint都废掉了,这个其实对于任何团队而言都是不可以接受的,所以说如果说一个方法能比较有效的去提升模型的稳定性,这个还是一个大家比较愿意采用的一个技术吧,然后千万的Getattention的千万三应该是没有用,后来的千万Next包括千万3.5,千万6应该都采用了这样的一个架构,

孙宇涛

虽然它会带来一定的额外的计算开销,但是它会对模型的稳定性会带来特别大的一个好处,然后这个是之前千万团队的一个工作,千万是在这个GQA上引入的嘛,对,但这个设计它其实无论是你跟,这个东西是跟GQA或者说MLA,它本身是一个正交的一个设计方式,所以说就Kimi K33把这块做了一个结合,就把GT的attention的这样的一个稳定性的一个方式引入到MLA当中,然后这样的话它本身也不会破坏这个MLA本身的一个推理性质的同时,可以提升这个模型的一个设计稳定性。

张小珺

为什么V4没有再继续演用MLA了呀?

孙宇涛

对,因为它们有别的东西了嘛。

张小珺

你觉得MLA在未来还会成为一个共识吗?

孙宇涛

因为我记得卢弗利之前跟我说过,他觉得在Agent时代MLA应该会被替代,

张小珺

你觉得MLA在未来会成为共识吗?

孙宇涛

我们相同技术是想讲,MLA它本身就是MQA的一个增加的一个形式,所以说MLA其实本质上并没有带来新的东西,它只是一个更好的说法。大家其实没有发现的一点就是,如果大家想把MLA用好的话,它其实想达到相同的一个计算效果,它其实会增加更多的attention的计算,去弥补这方面的一个损失。所以说我个人认为,就是MLA主要拿到的收益,其实是可以被更好的这个GQA的这个参数设计,基本上是可以拿到绝大多数的收益。

张小珺

所以为什么DeepSeq没有继续演用MLA?

孙宇涛

对,因为MLA这样的一个转化形式,因为DeepSeq V4它后面主要推Sparse嘛,对,Sparse跟MLA,跟MLA它其实不是一个百分之百建议的东西,尤其是在这个在prefill阶段。而且他们其实是用了这个MLA的等价的MQA形式,因为从数学上来讲,MLA它本质上就是一个大号的MQA,所以DeepSeq V4用的是一个大号的MQA,我觉得本质上区别也不是很大的。

孙宇涛

罗弗利当时是在VR Flash里面采取的是MTP,他觉得MLA对于Chat来说是一个优秀的模型结构,但是他觉得不那么适合Agent的范式,MLA在设计之初为了达到很好的仿存和计算的比例,在当时的H系列芯片上实现极不浪费算力,又打破仿存瓶颈是在这个架构下设计的,就发现计算剩余的实在太多了,他觉得MTP能够更有效地能够利用起来。对,这个其实是一个比较reasonable的一个点,就是MLA在推理阶段,他的计算其实是大大浪费了,他的计算是远大于他实际的这个建模能力的,所以说对于计算而言的话,他这块是有一定的浪费。

孙宇涛

罗弗利可能主要讨论点就是这种计算模式,他跟MTP的收益他不是正交的,甚至他可能是互相缓冲的,因为MTP本质上就是用更多的token同时去计算,然后在memory bond的这样一个条件下,然后主要逐渐往提高compute bond的方向去推,所以说对于MLA而MTP的加速比会大大减小,我觉得他从来也没有是公式,他只是一个选择。

张小珺

OK,但K3上面起码他选择继续沿用的是MLA?

孙宇涛

我觉得K3是reasonable的,因为K2当时主要是follow deep-seek,他们当时的选择是先不做模型架构的创新,先把结果跑出来。对,然后如果从K2到K3的话,

张小珺

这块我就对于一个从工程或者说从组织管理上,

孙宇涛

能跑的东西就不要动,如果MLA它不是一个特别大的问题,可能就暂时不会动,但我觉得未来也不一定,我觉得这块它是一个比较暂态的一个状态。当然了MLA也不是没有好处,所以说我觉得这个都快好。

张小珺

所以它是加强了MLA的可控性?

孙宇涛

对,Gate它主要是提升MLA本身的训练稳定性,然后这块跟MLA是正交的,就是任何错误射程其实都可以用的。

Attention Residuals:残差连接的演化

从 ResNet、DenseNet 到 Hyper-Connections,用跨深度 attention 取代固定残差累积。

张小珺

我们现在讲到2.2对吧?

孙宇涛

对,2.2就是attention residual,attention residual其实当时还挺火的,但是其实如果从follow attention residual这样的一个研究脉络来讲的话,我反而会认为hyperconnection我觉得是一个相当好的一个工作。对,hyperconnection是很早以前CID团队去提出的。对,这块主要讨论的就是在一个比较深度的模型,当中的一个深层到浅层的一个连接方式。

孙宇涛

对吧,如果我们再仔细去考虑问题的话,对吧,因为它叫attention residual,对吧,这个本质上跟resnet其实都有一个比较深刻的一个连接关系。resnet它本身解决的就是这个模型能力,在这个模型参入增长的情况下,它至少可以达到一个不退化的一个效果。对,包括从稳定性角度,它其实也是对货的,对,它其实无论是从模型稳定性和模型能力上,就是resnet本质上都会比之前的一些工作有本质性的提升。不过这个大家都很熟悉了。然后大家其实没有注意到的是resnet,它其实是有两个版本的。

孙宇涛

它一个是CVPR的版本,然后一个是这个ICCV的版本。其实在resnet那个时代,凯文就已经讨论过就是pre-learn-norm和post-learn-norm和训练稳定性的这样的一个关系了。然后其实,而这个其实也可以追溯到这个比如在BERT时代,就是BERT时代,它其实大家还是会更常用post-learn-norm。大家在BERT时代会觉得post-learn-norm它的结果可能会稍微好一些。

孙宇涛

但是在模型增大的效果,在模型逐渐增大的这个情况下呢,大家会发现post-learn-norm它有这个T度消失的问题,或者说有训练不够稳定的问题。所以大家后面就会逐渐的去采取pre-learn-norm对这样的一个残差连接的手段。然后TenryC州,他其实之前苏剑林讨论过这样的观点,就是TenryC州它绝对不是这个pre-learn-norm到另外一个learn-norm摆放方式的区别。

孙宇涛

这样的话,它其实这个风险是很大的,因为它会有,如果说你一旦触及了post-learn-norm之前的问题的话,对,整个大多长大家肯定是不敢上的。所以说TenryC州它当时强调的就是,它一定是pre-learn-norm一个超级,就是它至少是可以退化到pre-learn-norm,它是严格的是比pre-learn-norm更强的一个结果。然后这块主要就是简单讨论一下,re-c州这条研究线之前大概是怎么来的。

孙宇涛

然后hyper-connection我觉得这个工作是相当有意思的,其实我觉得无论是DeepSeek后来做的改进也好,和C州也好,本质上其实都是从这一盘工作来的,它主要讨论的一个点就是,我们在pre-learn-norm的基础上,如何去增加模型残杀的容量,从而去提升模型能力的一个表达能力。当然了,我之前也跟hyper-connection一座的同学交流过,我觉得这个工作本身从技术上还是很好的,但是一个最大的问题就是,它paper写得太抽象了,不太容易读。

孙宇涛

hyper-connection我觉得本质上就可以说一句话,就是我们在residual的分支上,去用比模型hidden state更大的一个容量,然后来去表示模型在模型推理深度上的一个状态。所以说如果我们有更大的容量,它一定是有更好的一个效果的,我觉得hyper-connection它其实我觉得从思想上是相当简洁的。但是这个paper承担形式可能相对复杂一点,所以说当时这个工作其实没有出圈,可能只是一个比较对大家做架构,或者说技术层面的一些同学去了解的。

孙宇涛

当然后来这个mhc可能就比hc本身要活了很多,但我觉得最重要的原因还是当时mhc是deep-sigit的,我觉得可能没有别的原因。所以说在hyper-connection之后的话,就是大家会尝试去从模型本身的一个连接方式来讲,去提升模型的能力。因为从hyper-connection,包括altentient residual,它一个比较好的点就是它对于推理来说基本是免费的。也就是说在模型的inference阶段,它其实几乎不会增加任何的推理开销,它就可以拿到更好的一个模型结果。这个其实是大家喜闻乐见的。

孙宇涛

因为如果一旦涉及到我们通过更慢的一个实现也好,更慢的模型架构设计也好,取得模型更好的表片,那这块就带来一个自然的说法符,就是我为什么不能去扩更大的size,这样还简单一些。所以说一切,比如说通过更慢的模型实现的去提升模型效果的话,其实都是会被fully question的,或者甚至说对于一些保守的,或者说不是自己提的,可能大家就不愿意去用。对于这种模型设计,它可能在推理阶段是几乎免费的,这样的话大家上的时候没有什么压力,而且它其实是和模型参数本身的提升,它其实并不是一个重要的一个状态。

孙宇涛

对,然后hyperconnection这下维度的话,其实还有一个比较绕不过的就是desnet。desnet这个是一个更早的一个工作了,就是它是黄高老师在resnet之后,它其实是一个连接方式。desnet其实和tenry residual,它其实在四项上是一个相当密切的一个方式。对,只不过在desnet时代,它其实是因为residual,它其实只是层和层之间的一个连接方式。但desnet它其实是在深层要去看所有浅层的状态,然后再把它聚合起来的这样的一个方式。

孙宇涛

只不过就是其实在desnet时代,因为那个时代其实没有attention,或者说大家也没有过度重视attention本身的一个能力。所以desnet里边主要是一个大的linear,来去把之前所有的hyneside聚合到一起的。对,然后到attention时代去吧,其实desnet它的实现其实本身是不快的。对,因为它的中间对于连接方面的,它会带来一些大量的额外的计算。但是到了attention时代的话,大家会发现,我们可以把desnet里边,一些比较heavy的部件,然后变成更lightweight的部件。

孙宇涛

然后这样的话就诞生了attention residual这样的一个工作。attention residual它最大的优势就是,它其实比desnet它是一个更,对,它其实是一个更efficient的架口。我们可以通过一些更深层次的infra code design,对,比如说用block attention的方式,去解耦掉这个模型的深度。对,因为如果只是全注意力的话,它上层会跟底下所有层来去进行交互。这个其实也是之前的一个比较大的问题,就是模型越深,它这块的overhead其实越不可holde。

孙宇涛

然后block attention的话,在这块做了一个解耦。所以说它整体,一方面是attention它本身的这个计算比较lightweight,然后第二方面就是它解耦的深度,所以最后总的看起来它其实就一个比较灵巧,但是一个能结实的去提升模型能力这样的一个组件。然后这块它们,对,这块可以看一些这个scaling的一个结果。

孙宇涛

就block,对,block attention residual它因为它解耦了深度,它是严格来说表达能力肯定是不如付tent residual好的,对,但是这块大家claim的点就是它其实并没有损失太多能力,而且对于baseline来说它是一个比较显著的一个状态。对,然后tent residual这块应该主要就是上一个技术paper里讲的,然后k3这块应该没有做太多特殊的处理。对,然后这块大概就是这样的一个情况。

张小珺

你刚才讲的这几个,你觉得哪个创新性是最强烈?

孙宇涛

其实我更喜欢dasnet和kiver connection。

张小珺

为什么?

孙宇涛

因为dasnet它是一个相当早的工作,因为在那个时代其实大家考虑这个连接的问题,我觉得本质上tent residual考虑的问题,其实dasnet都考虑到了,只不过当时没有attention而已。然后hyper connection的话,其实它相当于是在transformer时代,重新把这个东西带了回来,然后让大家在这个连接方式上重新去讨论如何有一个更强的连接方式,然后从而去提升模型的性能。我觉得后面的工作当然会有一些co-design,或者说有一些模型稳定性的问题,但我觉得大的框架其实是之前的工作已经定好了。

Latent MoE:压缩通信而非容量

NVIDIA Latent MoE 降低 all-to-all 通信量;两个矩阵连乘必须加 normalization。

孙宇涛

ok,然后internmo1应该是年初的,因为答案他们一个团队去提出的。对,我觉得这块我觉得一个比较大的一个,我觉得一个比较大的好处就是,包括大家如果熟悉这个deep secret v3的同学,其实都知道就是训练mo1其实无论从这个模型的稳定性,或者训练方式,包括从internet上,它其实就是一个很大的挑战的。然后最大的挑战就是这个mo1的outual dispatch,dispatch,其实在EP的情况下,它的overhead是相当大的。

孙宇涛

也就是为了解决这个问题,然后我们不得不引入deep v3这样一个比较高优化的一个通信的,通信户的方式,从而去降低这个outual的这样的一个开销。包括其实不同的outual的,不同的mo1的设计架构方式,它不仅影响了模型架构本身,它甚至影响了底层不同的infra的一些设计选行。这个之后后面会在infra那块做一个更多的讨论。但是latanmo1它其实本质上的东西就在于说,我们是否可以把outual dispatch这块的开销来去减小。

孙宇涛

因为outual dispatch这块的话,我们需要把hidden state分发到各个专家卡上,而且这个通信量它是会随着expert激活的数量和模型hidden state的大小,来并行的去增长的。然后latanmo1它的思想就是我们是否可以把通信量减少的同时,来去保持模型的这样的一个表达能力。然后latanmo1的方式就是我们把dispatch的这样的一个hidden state减小,它可能减少2倍,减少4倍这样的一个量。

孙宇涛

当然了,如果我们直接去减小它的hidden dimension,它后面的模型的mo1的参数量可能就会随之增长。为了去弥补这个latan dimension减小的一个参数量的话,然后这里边就有两种方式,第一种方式就是提升mfn intermediate dimension,就是通过提升mfn本身的一个参数量,然后把之前降的那部分弥补回来。这是一种方式。另一种方式就是我们去进一步去把模型拆碎。这样的话我们去用更多的expert和更多的激活,然后来去弥补这个参数量的这样的一个减少。

孙宇涛

然后最后其实我们可以看起来,当然在invidad这个paper里,它其实结果是更好的。总的来说就是一句话,如果一个恰当设计的latanmo1的一个configuration,它其实是可以完全保持standardmo1的这样的一个结果的。也就是说我们可以在模型能力完全相懂,甚至还能好一点的context底下,然后来去减少模型的latan,减少模型的通信开销。而且通信开销其实在训练和推理中是不一样的。训练因为我们主要优化的是throughput,我们可以用一些overlap的手段,然后来去把通信这部分去弥补掉。

孙宇涛

对于inference latency来讲,尽管我们可以用一些手段来去掩盖通信开销,但是这个时间它是避免不了的,因为它整体是在critical path上。所以说对于模型推理的latancy来说,通信开销它还是相当不可忽略的一个点。所以说其实从模型的efficiency上来讲,推理的收益其实是比训练的收益要大的,当然训练也有一定的收益。

孙宇涛

所以说如果说latanm1不是一个trade off,就是我们不需要去三种号牺牲模型的表达能力,来去降低通信的话,它其实还是一个free launch,或者类似free launch的这样的一个结构。对,所以说Kimi K33其实是follow的这样的一个结构。当然了在latanm1之上的话,还有一些比较细节的一个改进。然后针对这样的一个比较细节的改进,我们可以讨论一个比较经典的问题。就是说起来也很简单,就是两个矩阵连程,这是一个非常非常基本的单元。就两个矩阵连程,其实在模型表达能力上是最不有的。

孙宇涛

因为两个矩阵连程,严格的是可以合编到一个的。但是优化性质上其实并不是这样的。就是两个矩阵连程经常会出现模型训练不稳定的问题。所以说两个矩阵连程一般中间就会用一些搭配一些文型的手段,然后来去弥补这样的一个事情。这个思想其实在mla里也是出现过的。因为mla本质上也是先做一个low projection的投影,然后再把它打回来。

孙宇涛

它其实本质上也是两个linear连程的一个方式,然后两个linear连程中间的话,一般会采取一个normalization的一个方式,然后把中间的hidden state控制住,从而提升模型整体训练的一个问题。所以这是todon't read,很简单。一般来说在模型架构的设计当中,如果你不得不把两个矩阵连程拆开来起,而不适合备到一起的话,中间一定要加一个类似normalization的一个手段。然后这个思想其实在,一个是在mla里有个设计,然后其实这块的latanm1其实也是类似道理。

孙宇涛

归根结底,latanm1我是先把这个模型,通过一个模型的hidden state,通过一个linear projection,把它压到一个dV的状态,然后我们在这个linear projection的基础上,然后来去进行购买的一些计算。然后当然了,对于FFN来说,第一个计算当然也是一个linear projection,所以这块其实就会出现两个linear projection,连程的情况。所以这块我们需要一个rmsnome来去控制它。

SiTU-GLU:给激活值上界

GPT-OSS 的 clamped SwiGLU 到 tanh 软限幅,从架构上控制 activation outlier。

孙宇涛

OK,然后下边就是这个c2glu,这个设计其实也是一个,大家看起来可能没有那么直观的一个东西。然后这个东西其实也跟之前的一些设计是有关系的。因为大家其实会发现,对于大模型训练来说的话,就FFN这块的MLP,它其实中间的hidden state是一个特别容易activation explode的状态。而且这个东西一个是跟优化器有关,另一个就是跟模型的精度有关。就在模型精度更低的情况下,中间的hidden state更容易出现outlare。然后为了解决这个问题呢,然后GPTOS,其实刚开始采用了一个特别简单的状态。

孙宇涛

就是把最简单的swe glue,就是没有bound的那块,直接通过一个clip,然后比如说我们设计一个clip的值,比如说5到10,然后我就把它clip到这样的一个程度。这样的话就是可以从数据上比较严格的可以把它的上限控制住。然后clip它是一个比较粗暴的状态,然后你如果把hardclip变成softclip,然后你就会比较自然得到tangidadh这样的一个算子。

孙宇涛

因为tangidadh它sumhow就是一个softclip,如果你指定一个下线直律的上级,它可以用一个比较平滑的方式,一个比较平滑的方式,然后它逼近你希望的一个摄影上级。所以从这个角度上来讲,我就可以理解为一个clip的升级板,但升级板具体在模型的表达能力上有多大量影响,我觉得这个是另一回事,而且这个肯定是需要具体的实验来去证明的。但whatever,我觉得softclip它是一个比较安全的一个做法。

孙宇涛

从swit glue开始,然后首先把一个比较自由的linear projection,然后改成了一个tangidadh的一个状态。然后另一块的话就是switch,因为switch这LU它前面就是一个linear的一个结果,然后再加一个swit glue的一个结果。

孙宇涛

这个switch我们又可以拆成sigmoid和linear projection,当然这块它是一个共享位置的一个状态,所以C2这LU相当于是,我把所有中间可能出现unbounded的一个缓解,然后把它通过一个tangidadh的上下界放缩,然后来去bound住,这样的话就可以把整个mlp中间的一个激活得到一个严格的数学上界,然后这样可以用于保持模型的训练稳定性。

孙宇涛

当然这块我觉得可能还有一些bless concern,比如说我们发现,其实如果用mium的话,它其实是会更容易出现autorlight的,你控制中间的激活值总不是一个比较错的一个现象。当然如果我说mium更容易来autorlight,这个苏剑林一定会反对,他肯定会说,对于任何优化器来说,它都一定会出现autorlight,因为你从模型架构上是控制不了的,所以说如果想严格控制的方法,它一定是直接从模型架构下手。这种苏剑林跟你观点不一样。这个他没有说,但我猜到他会这么说。

Muon 优化器与苏剑林的争论

Muon 更容易出激活异常值?苏剑林:任何优化器都会出,该从架构上控制。

孙宇涛

因为这个其实之前在Kimi K2的这个mium clip里,也做过类似的考论。大家如果之前对Kimi K2或者monlight,大家如果记得的话,当时就会说,因为用了没有优化器,所以QK logits会更容易去爆炸。所以monlight他们采用了一种,对于QK的一个比较特化的处理方式,然后来去压制模型的autorlight,然后在那个时间内,大家就问嘛,为什么我们之前因为Adam训练的不敲价,

张小珺

这个东西?

孙宇涛

然后为什么之前的QK logits都很稳,就不需要额外的处理,

张小珺

但是mium为什么要特别处理?

孙宇涛

当然苏剑林就是这么回复的,他就说,从严格来说,Adam也不是完全稳定的,然后当时Diftik V3,可能 somehow也有一些不稳定的现象。当然这个并没有影响模型最终的结果。他当时在对于mium clip的观点就是,如果说在mium的训练里,有可能出现了一个scro的现象,他严格来说就是容易出现的,只不过你可能出现的早晚问题,所以说为了严格的限制模型的行为,还是从模型架构本身去做限制,是一个更本质的方案。他当然是这样一个观点。

孙宇涛

所以说这块他肯定也是相同的观点,就是我们为什么不直接在Architecture上做一些改变,然后让他整体把Bondi都限制住就完事了,也不需要去纠结更复杂的优化的细节。其实我觉得是一个道理,所以说我觉得他应该还会这么说。

张小珺

Mium是对于K2的一个沿用对吧?

孙宇涛

对对对,这块相比K2没有做太多的改变。Mium当时比较严重的问题就是,它其实控制不住这个,控制不住中间Activation outlier,更早的一个版本,它是更粗方吧,它当时连Vade Decay都没有加。所以说这个Mumlight比较率先的,就是把Vade Decay这样的一个因素,然后首先引入到这个,比较大规模的模型训练里,然后这样的话,其实在这个更长的Raw里边是可以保持的。另外,就在KMK2的话,它就是在这个Vade Decay的Mium,这个Mium技术上,额外搞了一个QK Clip的一个方式,然后其实这两个加起来是一个,

孙宇涛

就是KM团队在这个优化器上一个,

孙宇涛

比较完整的工作。当然现在其实大家用Mium的方式比较多了,但是大家解决的方式不太一样。比如说你用MLA,你就没有办法去加QK-Norm,因为QK-Norm它是严格可以限制的,就是QK这块的一个边界的嘛。所以说为了去适配Mium和Mium的一个结合,所以说当时KMK2引入了这个QK Clip这样的一个操作。

孙宇涛

当然大家可以注意到,比如说Dimsic v4,然后包括Safone那些,他们应该都是用了Mium,然后在Mium的基础上,因为他们又都是用的这个QA,没有用MLA,所以直接用QK-Norm,它其实本质上是一个更简单的办法,就是尝试去控制,这个Mium带来额外的outlier,这个outlier在QK那边更容易出现的,它也一定会在这个MLP这块出现,相当于采取了不同的方式,就是QK那块通过Clip也好,然后Normalization也好,然后把它限制住,然后在底下MLP这块的话,当然用一些比较更lightweight的手段,然后Kimi现在就是通过这个用设计的一个接触函数把它放得住,

Quantile Balancing:负载均衡的最优分配推导

苏剑林博客推导的 bias 更新 vs Loss-Free 启发式;K3 用直方图分桶做工程实现。

孙宇涛

大概就是这样的一个思想,然后Quantile Balancing的话,这个没有发什么论文,是苏剑林在他自己的博客里去讲的,然后Quantile Balancing的话,它主要是可以follow到之前的这个Loss-Free的routing的方式,它主要的控制方法就是它只通过一个BIAS,而不是通过一个偏整体的Loss控制方式,来去这个解决模型Expert负载均衡的问题的,然后Doss Loss-Free,大家比较对比较奇怪的一个问题就是,它这样的一个BIAS的变量,因为这个BIAS的变量,它直接决定了这个每个Token它选哪些Expert呢,但这个更新方式,

孙宇涛

但是这个更新方式,Thomhow,是有些Hawk的,就是它采取了一个比较启发式的更新方案,来去做这个BIAS的更新,然后这块的话,一个问题就是它这个东西,它其实没有一个比较严格的一个数学的一个收点,比较惹令一个就是它其实容易和这个主模型的更新,大家有个感觉就是可能没有那么这个偶合,但这个形式本身还是可以work的,对还不错的,就是在整体work不错的情况下的话,其实当时Loss-Free有几个问题,可能是没有完全解决的,最主要的问题就是,如果在使用Loss-Free的时候,大家可能会采取模型最底下几层的一层或者三层,然后都把Moe去掉的一个方案,主要原因就在于说,

孙宇涛

对于Loss-Free这样的一个控制方案,对于底层的模型来说,它做work的不是很好,正是因为Loss-Free它整体没有做整体的一个扣定,所以它可能会采取一些别的方式,然后来去弥补这个模型在大规模训练中,碰到的一些问题,

孙宇涛

然后Quantile Balancing,其实是主要是尝试用一个更principle的一个思想,然后来去解决模型推动,去解决模型推理的一个,模型Moe复载稳定性这样的一个问题,它本身Loss-Free的Update方式,它肯定是经过大量的调整之后,得到了一个work还不错的一个方案,所以它本质上也很简单,如果你某个专家,你激活的多了,然后就把BIAS往下砍一点,如果每个激活的少了,就往上加一点,然后之前的Loss-Free是一个比较启发式的方案去做,

孙宇涛

然后Kimi团队用更principle的一个方案,就是我们能不能直接通过一个现归的方式,直接推导出来这个BIAS,它应该是长什么样的,答案就是这个是可以被推出来的,而且推出来的具体的方式,也跟之前的expert choice有一定的关系,然后最后的话,就是Quantile Bias它经过一系列的推导,它最后就得到一个移步的一个形式,也就是说比如说我们对于一个step内部的一个整体的激活,我们是可以求一个BIAS,然后这个BIAS它本身就是一个让模型可以负载均衡的这样的一个方案,然后他博客里又写到了,为了去避免这个信息泄漏,也就是说我们不能让任意一个token,

孙宇涛

然后来去获得其他token的一个信息,所以说这个beta并不会在这个当前step使用,而是会在下一步去使用,然后这个是中间的contact balance的这样的一个细节,苏电林博客里其实就要提到的一个优点就是,首先它其实它不需要调参数,因为Loss-Free它是有一个类似learning rate的一个更新的方式的,这样的话它其实少了一个参数,整体的看起来会更加principle一些,然后第二个优点就是它其实对于负载均衡balance这样的一个能力,它其实是一个更优的一个能力,然后它这块的博客里就会贴出一个图,对于第一层而言,就因为我刚刚也提到,为了兼容这个model Loss-Free balance,

孙宇涛

之前大家会把前几层搞成dense,不用MOA这样的方法,然后去把这个东西去规避掉,然后如果说对于QB这种方式的话,其实就没有必要去规避这样的一个问题了,它其实就可以直接把第一层变得balance,这个其实可以发现前底层用dense,它其实是一个,

孙宇涛

它其实并不是一个groundshoot上一定要去这么去做的一个方式,而是它其实在Loss-Free的这样的context底下,不得不去采用的一个方式,然后其实如果你不采用Loss-Free,你直接就采用加辅助loss的方案,比如说千万MOA的工作,它其实就是采用直接求loss的方案,

孙宇涛

第一层也会没有问题,所以说这块的话,它主要就是可以处理到之前Loss-Free一些比较失效的一些情况,当然了,就是他博克里也提到,如果本来s3sgd就比较work的情况下,这个qb它也是比较work的,而且他博克里也可以证明,有比较正常的情况,它其实是可以推出来说,这个qb如果我们不采用这个直接去均衡,而且采用一些t度更新的方案的话,它其实是可以和Loss-Free做到一个相当等价的数学形式,然后这块其实还有一个细节是之前的博克里没有去提及的,简单来说就是我们为了去在整个一个batch,也因为现在大家大梦行训练一个batch会特别大,比如说4million可能都会比较小,

孙宇涛

可能到几十million这样的一个量级,就克币需要在几十million的token之间恰途取到在一个比例的位数,也就是说如果对于一个精确的计算的话,我们需要把所有token的激活情况都存下来,其实这个是相当heavy的,甚至在工程上是不可能的,然后当时在博克里提出了一个方案,它采取的方案是每个GPU都去做一个local的分位数计算,然后再把不同GPU的分位数计算,也不一定是不同GPU了,反正就是你得把一个大的batch切碎,然后在一个小的batch里去求分位数,然后这个分位数最后再做一个pooling,对,然后KBK3这个paper,它这个paper其实是有一些不太一样的一个变化,

孙宇涛

它并不是按token去切chunk的,当然也有可能是我理解错的,它其实是对这个模型的在直语切一个chunk,也就是说比如说对于SIGMOD的计划而言,它一定是0到1之间的,所以说我们就可以在0到1或者说-1到1,这样的一个区间范围内,然后切成n个桶,然后在这个桶里边,然后去进行histogram的一个统计,然后这样的一个统计值,这样的话它有个好处,它可以是一个长数量,长数的这个存数大小的一个,就可以做的一个计算,而且它的这个计算代价会比较补速的实现,要高效很多,而且它可以比较好的去处理这个,就是在大规模的这个DeepEP的这样的一个分布式的架构底下,是一个比较容易扩展的一个状态,

孙宇涛

然后这个其实是相当于K3,它后来放出来之前在博客里没有去详细讨论的一个技术,这个是其实对QB的一个比较必要的一个实现方式,就是规根结底就是9U的实现,它基本上是不可行的,所以必须用一些比如工程上可行的方式,然后去把这个比较精确的解决出来,然后到2.4了,那这个Vision这块其实没啥好处的,它主要讨论的一个点就是,是否有必要就用一个已有的Vision Encoder,去做这个VITVision Encoder的一个数字化,用已有的VIT的话,当然它用已有的Vision Encoder,比如说用SigLIP2这样,也比较大规模训练的一个Vision Encoder,

Native Vision 与为何不用 Sparse Attention

ViT 从头训更稳;sparse attention 在 Blackwell 上收益小、与预训练不兼容。

孙宇涛

它的好处就是它你缩练的会比较快,但是这个Kimi K3它中间讨论的一个问题就是,如果说直接用SigLIP2Initialize的话,它的模型的不稳定性会比直接NativeTrain,它是要来的大的,也不一定是模型不稳定性的,因为不稳定它是一个比较相对,甚至它不是一个严格被定义的东西,只是大家可能会一般会去看GradientNorm这样的一个分布,然后中间有一些东西是大家比较concern的,比如说它的尖词多不多,甚至说它本身Norm大不大,这个团队会发现如果说我们直接from scratch训练,可能会多用一些算力,但是至少第一个就是它的最后的结果,它是不会有损的,

孙宇涛

如果我们经过恰巧的训练,它不会带来更差的结果,甚至可能会带来差不多甚至更好的结果,第二个它主要Claiming点就是,原模型会带来一个更好的兼容性,那就会体现在GradientNorm会更加稳定,我觉得其实可能有一个类似的观察,就是SigLIP它其实是用Adam来去训练的,之前大家其实也讨论过一个比较相关的话题,就是用Adam训练的模型是否能用没有去微调,然后反过来就用用没有去训练的模型是否可以使用Adam去微调,当然最后的结论就是肯定是比较原生的方式它肯定是最好的,当然用别的方式的话如果想达到一样好,可能就得做一些处理或者说它是有一些限制,所以说可能对于这个ClaimingK3而言,

孙宇涛

他们是希望去采用一个全MU的一个优化方式,这样的话对于模型整体的这个训练的这个稳定性也好,它的兼容性也好,是一个更优的状态。说到这里我们倒会去讲一下最早那个线性注意力机制的问题吧,为什么K3它用的是纯线性注意力机制,

张小珺

它没有用任何的Sparcer attention?

孙宇涛

就是线性注意力,全注意力和Sparcer attention,

张小珺

你可以三选一和三选二,就是为什么不用Sparcer attention?

孙宇涛

我们就会带来一点为什么要用的,用的会有什么好处或者说会有什么问题。这个其实一方面是跟模型架构有关,另一方面其实也跟这个模型它每代这个这个GPU硬件的那个Fature有关。比如说这个DeepSeek 3.2那种,DeepSeek Sparse一个是这个3.2用的,一个是那个GLM5,也用了DeepSeek Sparse attention这样一个架构。

孙宇涛

DeepSeek Sparse其实到最后,在Decode里边其实加速是特别特别小的,原因就在于说,就Sparcer求Index这一步它是相当昂贵的,而且在Blackwell的硬件的情况下,越先进的硬件它其实这个Overhead是越大的,甚至其实在Decode当中,这种Sparcer attention的一个方案,它其实甚至跟这个Fature attention并不会带来一个显著的一个加速。

孙宇涛

为了解决这个问题的话,当时这个GLM团队做了一个工作叫Index Cache,它当时的做法就是把这个球解Index,就是球解哪一部分哪些Token需要算Attention,这样的一个进展操作,然后把不同层之间共享了起来。比如说每四层每八层,然后做一个共享。只要用这样的方法,它其实才可以比较有效的去减小Sparcer本身带来的开销。只有Sparcer attention本身开销足够小的情况下,其实才能带来一些比较可观的一个算法上的一个手艺。

孙宇涛

然后Sparcer attention这块,我们也做了一些相关的功能,也大概是一个类似的结论。当然我们做的更极端了,我们在YOCO的价格上直接取,Library Sparcer attention的话,因为我们之前的KB Catch是Wance的,所以我们当时采取的方案是直接把Sparcer Intex这部也做成Wance,也就是说我们把每层的Intex开销,直接分摊到所有层上,这样的话其实那个开销就会特别特别小,这样的话我们才能吃到Sparcer attention本身的一个计算收益。然后我们再回到KBK3,

张小珺

为什么它不去采用?

孙宇涛

第一个就是我们认为说每层都用Sparcer attention这样一个比较简易的方案,它其实在Blackwell上它的收益是特别特别小的。为了解决这个问题,无论是这个Index Cache的解法和我们的解法,其实结论都一样,就是我们需要把多层的Sparcer的一个结果,然后来去跨层来进行复用,然后跨层的方式呢,其实比较简单的方式就是相邻的层去跨,然后相邻的层去跨层的话,其实对于Hybrid attention,就对于线性注意力和全注意力这样Interleave的方式的话,它其实并不是一个显然的,因为对于Hybrid attention,对它不同Fore attention它并不是挨着的,

孙宇涛

它每个Fore attention中间,它其实隔了很多个显示注意力的,所以说在隔很多层显示注意力的情况下,就是这种Index Cache是否有效,加速比是否足够高,这个其实是相当Question的,然后其实其他有个问题就是Sparcer attention,它基本上是没有办法进行From Squash的训练,Sparcer attention大家现在一般采用的都是Post Train,然后从Fore attention进行转化的一个方式,不排除KPK3可能未来会把已有的Fore attention的部分,然后来去进行Sparcer attention转化,

孙宇涛

当然如果他们用了MLA的话,这个会更难一些,所以说我觉得主要就两个原因,一个是想拿到实际加速比,其实对于Hybrid attention来说,是一个Non-Triple的东西,如果想拿实际加速比的话,可能需要做更多的事情,主要第二个事情就是它跟Pretrain,它并不是一个比较坚容的状态,所以说这个其实留一个接口,之后再做也行。我刚才讲的这些,不管是架构创建还是训练,还是推理工程,

张小珺

你觉得它中间有哪些Trade Off?你有哪些许设?

孙宇涛

我觉得Hybrid attention它主要的Trade Off就是,你要去调节这个线性注意力和全助力力的比例,就你肯定比例越大,就是线性注意力比例越大,它肯定加速比较高,但是如果你想达到一个偏无损的一个加速状态,就是一个比较无损的状态的同时想获得加速,然后3比1就是一个比较,实验上就是一个比较务可的方案,对这块其实就是一个主要的Trade Off,Sparcer它严格来说,它肯定大个率是不会带来更前的表达能力的,所以这块其实就是另一回事了,它其实跟Hybrid attention架构它其实是另一条线的吧,只不过说如果你坚持不用Hybrid attention,

架构总结:忒修斯之船

2017 年的 Transformer 船板已被逐块换掉,这仍是一艘船吗?

孙宇涛

那你可能就不得不采取一些别的方案。

张小珺

我听到这里的感受是,

孙宇涛

就是现在的模型训练好像没有一个巨大的所谓的范式创新,但是它把之前很多的工作都融合起来,然后再寻找一个可能的更有捷,我不知道这种感受对不对。对,我觉得其实问题不大,

张小珺

我觉得不完全是技术的原因是为什么呢?

孙宇涛

就是因为大家现在都叫船丛门,

张小珺

但什么是船丛门?

孙宇涛

这个其实是没有办法清晰定义的,这个哲学上还有一个对应的概念就是泰修斯这船嘛,就是你刚开始的,2017年这个船刚开始行驶的时候是Transformer,

张小珺

但是这个船刚开始是怎么拼起来的吧?

孙宇涛

它是Attention加Residual,或者说对这些东西拼起来,包括Stack Layer这种方式,它其实在Transformer之前,它其实也并不是一个全新的概念。所以说这个船刚建起来的时候,我们认为Transformer是一个Miles Stone,但是这个船已经行驶了8年9年了,在这个船慢慢行驶的过程中,我们可能会把慢慢的把某些部分换了,然后其实我们现在看的话到2026年,其实跟Transformer已经,我觉得相似度已经很低很低了,

张小珺

就是你是否还把这个东西叫做Transformer?

孙宇涛

当然这个是哲学上的一个问题,但是其实从现在大家来看的话,大家还是会叫的,但是我觉得如果说历史的走向,如果有些不同的变化的话,可能也就不叫了。我们上面讲的这些,

张小珺

你觉得它总体来说是一个什么样的工作?

孙宇涛

我觉得这个东西很难定义,因为首先Tag-Ting有时候,它是一个偏综合性的工作,它严格来说,一般大家会把比较有创业性的单点突破,会专门拿出来去做讨论,其实之前也考虑过,也之前也专门讨论过来,然后中间其实比较大的就几点,第一个就是注意力怎么设计,这个是一个点,第二个就是M01这块,有没有一些更好的设计,然后第三个是优化器,然后第四个可能就是中间的一些连接方式这个其实专门这个其实比如说你放到这个你放到Rusnet时代其实这些单拿出来它可能就是一个架构了对对我觉得在Rusnet时代它肯定是这样的就但是其实在Transformer的时代它可能并不是这样的但是你可能你把这个东西综合起来

孙宇涛

它可能你最后再把它跑出来它才有意义因为之前大家做架构比如说大家在这个ImageNet上跑这个足够高了它其实就是一个Miles Stone但是大家在这个时代你想把这个实际的东西跑出来你的要做的东西就特别特别多了你得做这个scalingg的验证然后你得把这个各个工程东西搞定你得把Data搞定把这些东西都搞定然后你把这个Paper或者说你把这个架构卖出来大家才会白饮当然我觉得从研究方面我觉得我Personally我是不会太去关注的因为我觉得架构的验证它是有一个我觉得是有严格的标准的或者说不需要把这些东西卡出来一起但是我觉得从非技术角度它现在是一个这样的状态

预训练:Scaling Law 与学习率策略

MiniCPM 的 WSD vs K3 选 cosine decay:调参更简单;2.8T vs 1T 的 scaling efficiency 2.5 倍。

孙宇涛

所以上面是听你这篇论文的一些亮点的突破对吧然后接下来还开始讲它的预训练和后训练的工作

孙宇涛

我觉得架构方面相比于K2至少不一样也不一定叫创新有些叫创新有些叫比较偏调调的部分我觉得还是比之前大不一样的

张小珺

你为什么K2到K3变化这么大

孙宇涛

我觉得是个战略的问题其实K2在那个时间点他们也可以不一样只不过他们当时主要的重心是把模型跑出来所以在K2到K3这个中心他们有更多的时间去做了很多的优化调整我觉得主要是K2它本身是做的不错的包括K2大家可当时他们主要考虑的问题比如说怎么把命运出来的怎么有效的把模型skill上去因为当时K2就是1 trillion其实当时1 trillion的话还是比之前的比如说比Deep Seek V3还是要大一些的其实在那个时间应该也是一个比较相当大的一个模型了所以当时他们解决的是这样的一个问题先把base model整体的一个pipeline做稳然后在这个稳的基础上的话

孙宇涛

然后后来K3然后再去追求一些更严重金的一个优化你从上面的这些亮点工作这是最后的结果吗你反推你能看出这个团队的整体的状态是什么样的我觉得看怎么去定义对于不同团队定义是不一样的如果只是K3的架构团队或者E训练团队我觉得没什么变化我觉得一直就是一个样但对于整体公司而言还是有战略性的侧重的我觉得侧重点就是K2当时K3的团队主要的诉求还是把这个base model这个东西做稳就是先把能力做出来结果然后先不去考虑这个更高的efficiency也好更精益求精的创新也好当然了他们团队内部内部是一直在做的只不过你看是你什么时候这个亮出来就是研究工作是一个更长期的工作他可能要看

孙宇涛

放在哪个模型里跟他一起结合对对对好的那接下来我们是预训练呢对接下来后面其实就是一些

孙宇涛

因为present和present的话首先present它是一个偏工程或者说偏具体的场景的一个东西这块可能就会不会讲太多因为它也没有写太多然后present和present的话我觉得主要是一些经验性或者说一些knowhow的东西主要创新可能也是前面多一些对然后中间会有一些比较我觉得比较有意思可以讨论的点我觉得可以会我会专门拿出来去讨论后面主要的风格会是这样的然后我们就一个一个来Skin Your Law的话我觉得一个比较值得讨论的一点就是用哪样的这个learning ratio的策略因为learning ratio的策略的话其实刚开始就是mini CPM

孙宇涛

当时那个paper提出的WSDmini CPM之后

孙宇涛

QMe 3之前我觉得几乎可能所有团队都会都在用的WSD的一个优化器因为这样的一个优化器我们可以去学习mini CPM当时他们是怎么去考虑这个问题简单来说就是WSD考虑的一个问题就是如果我们如何能把这个data schedule和这个learning schedule结合起来首先这个mini CPM刚开始讨论的问题就是WSD然后和这个cursion decay是可以取得一个对比较相近的一个结果比如说我们从一个更高的学习率到一个更低的学习率中间怎么去调配它对最后的结果其实是影响是没有那么大的所以在这种情况下这个mini CPM的团队这个工作的认为就是中间具体的

孙宇涛

这个decay的方式对结果不是影响特别大的既然具体decay的方式对于最后的结果影响没有那么大然后这块我们就可以跟data拍摄一些联动的方案因为在实际训练中我们还是会发现包括在这个图里我们可以看到就是在dk阶段的话这个模型Loss的这个衰减速度还是比大的这个学习率稳步去跑它的这个learn rate的下就是Loss的一个下降速度还是会大很多的所以说就是之前大家会认为cool down这个阶段它其实是模型学习最快的一个阶段所以说这个mini cpm当时采用的策略就是既然cool down这个阶段是模型学习最快的状态

张小珺

那我们为什么

孙宇涛

不把更多的这个更好的数据然后去放在这个cool down这个阶段然后来去做训练这样的话可能会取得比这个所有data均匀分布然后所有learn rateschedule也均匀分布然后可以取得一个更好的效果然后这个是当时这个mini cpm包括WSD提出的这样的一个背景我觉得这个还是这个挺有意思我觉得一方面他讨论了一个一个non-travel的问题就是为什么我们要采取不同的这个learn rate decay的方式然后learn rate decay一个是为什么要这么去做另一个就是它就 decay的不同阶段它具体承担什么样的一个roll然后他们利用这个用这个不同

孙宇涛

learn rate decay阶段的一个行为然后跟这个data的具体的策略然后来去结合这样最后可以取得一个更好的一个结果然后kimi k3这块的话其实他们讨论了一个不太一样的事情就是我们为什么他们为什么不去用WSD的这样一个结果然后这个其实在WSD之后的一些paper里也是可以去讨论到的因为WSD它除了这个可以用更好的data schedule它还有一个额外的好处就是就因为前面的learn rate它其实是不变化的既然它不去变化就是它跟你整体要训练的flops和tokenlensh是无关的因为它是无关的所以它说也说我们可以更自由的去在这个模型训练的过程中

孙宇涛

去选取我们最后实际的config比如说我们刚开始可能预定的是要跑实际token但如果我们跑的实际token跑到中间的话比如说这个训练策略改变了或者说公司的策略改变了或者说我们要更早的发板或者更晚发板然后WSD这样的一个优化器呢我们就可以更自由的在中间来进行切换而不用在刚开始就把整个模型要训的token量定死对 然后这个它其实是这样的一个好处但是它其实带来的一个问题没有讨论就是我们虽然可以去任意的去选择这个你实际要跑的token数但是你实际的learn weight是和适合你要跑的token数是有关系的比如说你要设6一幅46一幅4作为一个比较稳定的一个schedule

孙宇涛

你跑10T可能6一幅4是最优的你跑20T可能就是3一幅4是最优的所以说从最优的角度考虑对 任意去扩展token数它可能并没有大家想的那么有效然后这块Kimi K3的paper其实就讨论这个问题就是说WSD它实际的schedule它的调节的难度其实和VTK是一样的而且它可能并不一定的并不一定好去调整就任意去选取最后训练的token量这个事情也不一定只有WSD才能做到我们其实用别的方式也是可以做到的这个paper里可以写到就这些原因其实他们可以选择一个更简单的方案然后cosine decay它的方案就是它其实更好调就它只有两个变量一个就是你要跑多少token

孙宇涛

然后你要一个就是你的那个Maximal Learning Rate具体是多少但是你如果WSD的话它就其实就会多一个变量就是你要DK的这个比例具体是多少所以说从调整的角度来讲的话cosine decay是一个更容易去调整的一个方案所以说Kimink 3他们在paper里就写到如果说他们是因为发现cosine decay它是更好的去能找到一个Hyper-Primer的setting的话他们最后会采取一些也可以算是一个比较经典的一个learning rate Decay的方式吧而且这个其实是大家都用就是WSD的情况下一个不太一样的采定然后一个是基于一个不太一样的

孙宇涛

learning rate Schedule的策略然后当然了Kimink团队被对比了从K2到K3然后整体的一个Scaling Efficiency首先K3比K2大了很多也从1T左右到了2.8T总参数就是从1T到2.8T大了不到三倍吧然后激活量是从32.6B到104B它其实是比3倍要更多的它其实从文心参数上毫无疑问它是比Kimink团队强很多的一个模型然后中间它有一些别的一些config当然这个主要是上面表的一个总结最后他们团队给出了一个这个Scaling Law的这样的一个结果K3比K2最后的在Scaling Efficiency上是2.5倍的这样一个量

孙宇涛

但是它从对对于一个简单的Dance Model它的Scaling Efficiency是一个比较经典讨论的问题它之前很多OpenA的Scaling LawChantula的Scaling Law包括一些比较新的Scaling Law其实都讨论过这样的一个问题当然这块其实比较注意的一点就是大家其实也问过说就是K2和K3的这样的一个Scaling Behavior是不是固定Data的我记得他们的回答是应该不是而Paper的意义应该没有直接写是不是当然也可以理解K3和K2它用的Data肯定不可能是一样的所以我觉得这块大概的应该是有一个不一样的Data Recipe

孙宇涛

这个整体的Scaling Efficiency它其实一个是综合的模型架构也综合了一个模型的RecipeTraining Recipe然后再也叠加上这个模型的数据策略之后总的一个结果然后总的结果作为一个大的一个综合的一个结果是比这个K2的要高了很多

长上下文:RoPE 与 NoPE

Cohere 的 RNoPE 方案:hybrid 架构里 full attention 层去掉位置编码,扩长文免调参。

孙宇涛

然后接下来是这个长上下文长上下文的话Data RecipeK3是一个原生去支持1MLE长上下文的一个模型然后这块其实比较有意思的点就是位置编码如何去选取我们从刚开始比较传统的这个Transformer的架构来去做的话大家都会用RoPE来去做位置编码但是如果用RoPE的话它在这个长文扩展的时候它有个问题就是RoPE的这个具体的一个参数是需要做调整的如果不做调整的话这个RoPE直接去扩长文就会显得没有那么有效然后这个是其实是这个RoPE时代大家一个经典的做法当然说如果现在如果你还是用一个全注意力或者说如果你不引入线性注意力的话这个策略不会有太大的改变也就是说

孙宇涛

你还是得去在不同的长度的Setting来去调节不同RoPE的参数但是这个事情在这个混合模型里是可以改变的最早是Cowhair团队的一个工作主要讲了这样的一个因素他们的结论也很简单简单来说就是因为这个Hybrid的Tention排布方式对于LinearTention来说它已经引入了这样的一个这个位置信息无论说你用这个RoPE也好RoPE加斯莱尼文内也好LinearTention也好就是在线性注意力的这样的一个阶段其实位置信息是已经被引入到的所以说如果在这个Setting下就是在Hybrid的Tention的Setting下如果我们可以把这个ForeTention

孙宇涛

从RoPE改成NoPE也就是说在全注意力的情况下把位置编码去掉它其实是可以带来一个更好一个是可以带来更好的一个模型的表现第二个就是它在这个长上下文是更容易扩展的也就是说NoPE它是在模型扩长的情况下不需要调整任何模型架构的参数就可以达到一个长上下文的这样的一个效果这个效果无疑是很优雅的因为我们会觉得模型架构的这个参数选择当然是跟这个具体的长度是没有关系的也没有任何的这个理论去支持说就是我们具体我们为什么要去不同的长度recipe一下然后来去采取不一样的参数然后这种架构其实就可以有效的避免了这一点一个是刚开始我比较早的看到然后可能看到第二天我就去浮现了一下

孙宇涛

因为我当时看到就觉得特别有道理然后我第二天浮现了一下然后也很work我当时觉得这个肯定是一个在混合注意力的一个里边比较好的一个方式对我在会议里边还审到了一篇文章当时我直接给了一个strong accept我感觉我这几年可能都没有给过几个strong accept因为我觉得这个确实是一个很有效也是一个很优雅的解决方案然后当然这个也可以讨论一个大家之前理解错误的一个问题就是RoPE它本质上它带来的是recency bias就是RoPE它work最有限的点就是对它对short context的这个建模能力是特别有效的但是它其实对short context来说是没有帮助的

孙宇涛

甚至是有负面影响的对于某一些这个舆论观点会认为这个是RoPE在引入了这个short context的这个表现这个其实是错误的就是RoPE它并不带来任何的short context的能力它甚至是损害short context的能力所以说KBK3会把这个RoPE在这个常上海门的这个富尔滕圣这块直接下掉然后直接下掉之后就会一个是如果你直接侧外推直接侧外推它都会好很多如果用RoPE的话你扩长度你需要调参数如果你调了参数你不去训练它那个结果其实是很差的所以说如果有动物你不用调参数它的外推效果也很好然后成了short context的这个效果也没有任何问题甚至还要更好

孙宇涛

它其实是一个在混合注意力的一个contact是一个相当优美的解决方案所以说KBK3也用了这样的一个解决方案然后post training的话首先其实可以讨论的一个问题就是低季度这个训练应该在什么阶段去引入然后这个其实大家采取的策略是不太一样的就比如说deepstickv3他们是刚开始是原生FP8来去训练的然后deepstickv4他们就直接用这个w4a8来去做原生训练的但是KB这块采取的策略不太一样他们是首先用高精度去训练然后在sft阶段然后再把这个低精度的这个qat引入进来的这样至少我就有两点折的讨论第一个就是从项目而言就抛开技术角度从整个这个项目的管理而言

后训练:低精度引入时机与 RL

高精度预训练 + SFT 阶段引入 QAT 更保险;K1.5/K2.5 的 RL 方案是成熟积累。

孙宇涛

大规模的训练采取更高精度肯定是一个更保险的方案对不对因为它无论如何也不会错如果用高精度训练在这个大规模的scaling中带来了其他问题的话我觉得这个是一个相当不可控的一个因素而且这个东西更大规模的训练是很难就是提前被充分验证的特别精确的我觉得第一点就是从项目管理的角度的一个优势第二个就是就是从技术角度

孙宇涛

我们是否有必要从刚开始就用低精度训练起码从我的实验而言应该也是没有必要的然后Kimi K3可能他们发现也是没有必要的也就是说对于低精度推力而言本身就是从from scratch刚开始就引入并不会带来任何模型能力的一个提升也就是说你W4A8你在什么时候引入只要你过了一定量的训练它最后的结果可能都差不多所以在SFT阶段引入是一个更保险然后在技术上也不会带来额外损失的一个方式

孙宇涛

然后RL这块的话因为RL其实也是

孙宇涛

因为Kimi K3刚开始它其实对RL这块是一个比较充分的一个因为他们其实从很早以前就比较重视RL这块所以说从Kimi K3I 1.5到K2.5他们其实一直在做一些比较持续的创新然后其实在K3这本也会对比较充分的引入进来然后这些其实都是一些比较对比较成熟的一些方案了这块就不太展开去讨论了然后4.1.3的话这块可以讨论一下OPTOPT刚开始也是董老师团队这边比较早去讨论的一个方式就是深研院的

多教师在线蒸馏

MiniLLM 的 reverse-KL;从黑盒/白盒蒸馏到自己蒸馏自己,简化 post-train 团队管理。

孙宇涛

微软深研院的

孙宇涛

然后B.ROM这个是郁贤做的郁贤去年也是清华特奖这个是他在董老师在深研院这边去做的然后其实OPT从刚开始就刚开始大家用起来和其实和后面大家实际在工程中用的方式不太一样这个其实可以讨论一下就是OPT刚开始的Motivation是什么后来大家是有时候怎么做的当时OPT讨论的contact是蒸馏蒸馏有两种一个是黑盒蒸馏黑盒蒸馏就是大家现在比较采取的方式就拿一个API然后我们不知道模型内部的状态我们也拿不到这个模型就是推理的logit对于这个外界来说这个模型它完全只是一个黑盒我们只能拿到它的输入和输出然后这个叫黑盒蒸馏然后白盒蒸馏的话就是另一种蒸馏方式我们可以获取到这个模型本身

孙宇涛

然后我们也可以任意的去拿到这个模型推理的过程中我们想得到的任何的一个状态然后在这个场景下我们如何去做蒸馏然后我们是否可以再基于比黑盒蒸馏更好的一个表现然后mini-LM当时采取的方式就是反其他而行之因为之前大家采取的方案就是让模型就是让Titter去生成答案然后再把这个生成答案用SFT的用ForwardKD的方式把它引入到Sillian的模型里然后mini-LM是反过来做的也就是让学生去生成答案然后让Titter做一个美部的纠正然后直观来讲的话其实就两种一个是老师讲课老师讲课然后你把老师讲课的结果学进来然后第二个就是你自己去做答案自己去做题自己去写中间推理过程

孙宇涛

然后老师会把你中间推理哪里做的不对然后给你指出来然后告诉你怎么去做这个叫ReverseKL然后ReverseKL的话然后后来Sink-Ting Machine Lab另一个名字就叫On Policy Desolation大家会意识到这个是一个比较有效的从蒸馏的角度是一个比较有效的方式就是说从我们不直接去学习模型的答案而是在Student的自己的推理过程中让教师模型逐步地去Verify或者说去纠正学生模型的这样的一个推理的方式然后这个范式刚开始其实是是为了蒸馏来去使用的无论是你做白盒的一些实验型的时候包括说从公司的角度

张小珺

你可以有一个Pro的版本

孙宇涛

可以有个Flash的版本然后Flash的版本

张小珺

你可以用on-policy distillation的方式

孙宇涛

然后来去蒸馏更大的模型的这样的一个结果然后从而去获得这个更好的一个表现你如果from scratch训练一个Flash的模型

张小珺

你可以比这个Flash的模型

孙宇涛

获得一个更好的表现从而在这个比较比较便宜的模型这档然后获得一个更小的竞争力这个是on-policy distillation刚开始的一个Motivation但是其实后来大家更常用的一个方式不是去做蒸馏原因在于其实原因在于如果你想做蒸馏的话你至少得有一个大模型然后你再去训练一个小模型如果你自己训练自己的模型而言但是如果说你想去蒸馏比如说蒸馏一些黑盒的模型这套方案是完全不可用的从公司或者说从这个项目策略上来讲如果我们不去基于一个大模型然后来去训练一个更快更小的一个小模型的话因为现在大家都不是这个setting大家都一般都是搞一个旗舰模型然后就完事了然后来去它作为Inference服务

孙宇涛

然后在这个场景下的话就不存在大到小蒸馏的这样的一个行为了然后大家逐渐去采用的蒸馏的方式就是自己蒸馏自己然后为什么要自己蒸馏自己呢我觉得还是两部分一个是非技术层面的一个是技术层面的我觉得从非技术层面的原因的话我觉得这个技术可以让整个Postrain team的管理变得更加简单Postrain核板它其实是一个比较highway的一个东西因为Postrain它跟Postrain不一样Postrain我只要把数据合起来然后一块去干就完事了但大家一般Postrain的话会用一些更复杂或者一些更先进的一些训练策略而且这些策略可能会不太容易训练场可能会如果再直接去做合板的话

孙宇涛

可能会有一些难度所以说基于项目管理策略的话Unpolicy Distribution它其实就是一个比较好的策略能把整个Postrain的席目的管理变得简化一些然后从技术角度的话比如说大家训RL它一般有不同的策略比如说你训Math它可能就是个Verifiable Reward然后如果你有些preference的一些需求你可能就会有一些reward model来去做然后如果你再想扩展RL别的能力你可能每个能力对于RL来说它的reward它都是一个独特的reward然后你如果想把所有的模型所有的能力都搞到一块因为Postrain一般大家都会专项突破然后你想把直接专项模型的

孙宇涛

不同的reward直接拿进来一朝会它其实是比preference的难度要大的我也不是说完全不可能还是有可能的但是on-policy distillation的话它就会变得很简单我们可以把这个不同的reward model或者说不同的RL范式然后简化成不同的模型然后简化成不同的模型这个事情就容易很多了因为对于RL策略或者说对于这个data它是一个高度移构的一个状态但是对于模型来说它是一个高度同购的状态因为现在我们也不会为了不同的任务去专门设计不同的模型架构如果模型都长这样的话我们再做一个Multi Teacher的一个盒板这个就会容易很多不过这个也不是K3

孙宇涛

首先去用的这个是一个大家现在比较Widly Accepted的一个做法

Draft Model:EAGLE-3、MTP 与 DFLASH

投机解码与 diffusion language model 两条脉络在 DFLASH 汇合;预训练要给 MTP 留接口。

张小珺

我印象应该

孙宇涛

小米啊这个GLM应该大家现在都是这么去做的

孙宇涛

然后这个Qualization这个刚刚讲过来然后DraftBot这块其实我觉得还是挺有意思的这块还是可以额外去有一些很延伸的工作的

孙宇涛

因为我觉得这块K3它目前优化的不是很完善之前小米他们推出了一个能达到一个1000TPS的一个方案那个主要是用了两个技术一个就是太耀量团队然后他们做的一个可以高度融合不同阶段的一个算子然后这样的话其实它可以获得比这个传统的这个vLLM推理方式强很多的这样的一个推理效率然后那个可能达到300TPS然后小米是个基于太耀量团队的那个一个结果然后再加上那个基于太耀而退的一个结果然后再加上那个Dflash这个投机推理带来的额外的加速比最后能带来一个比原模型强很多的一个

孙宇涛

强很多的这样的一个推理速度然后这个其实主要的服务是对于一些成本可以付出更高的成本但是想拿到更强的一个推理速度的这一波用户去做的因为它本质上如果说你是为了整体的throughput服务的话这个其实它的收益会强很多但是如果你是小batch size但是大的throughput这套方案是会强很多的然后这样的话就是刨开Tile RT那方面的贡献然后最后就落到了如何去做更好的MTP或者说用做更好的Draft Model然后这块的话有一些有力量的工作然后刚开始EAGLE-3和MTPEAGLE-3和MTP它其实它主要的方法就是因为刚开始Speculative Decoding

孙宇涛

提出的时候大家还是用一个没有关系的小模型然后来去Speculative比较大的模型然后这样的话它其实有一个问题就是你无法充分的去利用大模型中间的一些Hidden State如果说你可以利用大模型中间的Hidden State的话你其实就可以把小模型做得更小或者说你在相同的参数底下然后你的接受率做得更高最后可以带来总的更强的一个推理效率然后MTP和EAGLE-3然后它其实都是这样的一个思想当然MTP如果从From Scratch的话它还有一些别的好处然后Difflash的话它其实会更有意思一些对因为它联系了传统的Language Model和训练比较火的Difflash Language Model

孙宇涛

这两条脉络然后通过Difflash这条线结合了起来对因为Difflash Language Model刚开始提出的时候大家主要的claim就是Difflash Language Model在单用户或者说Batch Size比较小的情况下可以获得比可以获得比传统的Language Model快很多的这样的一个推理效率对但是Difflash Language Model之前最大有两个问题第一个问题就是它如果From Scratch它的训练效率不够高它的整体的结果很难和传统的AR的Language Model想去匹敌然后第二个问题就是它只能打Throughput

孙宇涛

就是它只能打小Batch Size的Throughput但是如果是多用户最后追求总的Throughput的一个场景它其实Difflash Language Model并没有优势所以Difflash当时主要就是统一了这样的试图去利用Difflash Language Model更快的一个推理方式然后进一步去优化这个MTP或者Draft Model这块的一个加速比最后可以得到一个更优的总的一个单用户的Throughput当然了就是MTP这块其实是之前我跟陈俊就是Difflash那个同学也交流过他当然提了一个点是对于整个模型是很重要的就是即使我们用Difflash

孙宇涛

这种更先进的这个Draft Model的策略它跟预训练的关系仍然是很大的也就是说对于Draft Model来说我们它是需要利用这个大模型的一定的这个推理能力的基础上然后再去使用Draft Model进一步的去扩大也就是说对于MTP来说MTP是需要给就是在Pretrain阶段需要给MTP提供一个接口然后这个接口会对下游的这个Draft Model的提升会特别帮助然后这部分其实是需要在这个Pretrain的阶段就引入的然后当然了Draft Model也是需要做一些反推理它是需要做一些自己特化的处理的比如说我们可以用一个KL loss然后来去替代比较传统的next-token prediction的

孙宇涛

这样的话可以在原modelverify的过程中它可以对得更齐这样的话可以进一步去提升Draft Model接收的一个效率对这块我觉得之后还会有一些更深层次的工作我猜因为这个肯定不是对于MTP的一个重点然后Homer这个RL task的话它是一个比较specific对于不同的任务来说它有不同的具体的一些策略我觉得这块的话只要看原文就好了

孙宇涛

然后接下来的一大块就是InfraInfra这块的话首先现在其实对于模型架构的设计来说关键的设计它是需要和这个Infra进行一些co-design的一个是co-design然后一个就是模型架构本身它会影响整体的Infra Squash它本身的一个设计然后这块包括跟这个DivScore这一系列的Infra它是有一些设计上的区别

张小珺

这块我觉得也是一个

基础设施:KDA Kernel 与 CP

linear attention 的 chunk 可任意拆分——层次化 chunk 实现 CP,与 full attention 处理方式不同。

孙宇涛

比较有意思的一个点然后首先就是KDAKDA之前对在前面其实已经讨论过了因为我们如果想去追求更高的一个Chunk的效率然后我们是需要对KDA的衰减系数做出一定的限制的这样的话我们可以用一个更好的Kernel的设计形式然后来去带来更强的一个KernelLevel的一个效率然后这块其实多的一个点就是KDA的CPKDA的CP是一个我觉得这个Linear它的CP其实是一个可以简单讨论一下的一个点因为比如说对于Slide in Window或者说对于Fort而言其实CP它其实从概念上是相当容易的因为比如说

张小珺

你对于Fort

孙宇涛

attention来说比如说现在有些比较经典的算法比如说你可以用Renattention或者说用Zegzagattention因为attention它本身的这个计算模式是够简单的而且它很多地方是省不了的我至少会得把这个跨GPU的所有的KP cache都拿到一个GPU上然后来去做计算我在这块是一个相对来说比较简单的一个概念但是对于Linearattention的CP而言它的概念其实是一个更复杂的然后这个大的框架其实我们还是可以回到最经典的一个Chunkwise Recurrent就Chunkwise Recurrent首先我们都同意说Chunkwise Recurrent

孙宇涛

对于Linearattention来说是一个必备的算法然后对于一个正常的单机的一个不开CP的一个训练场景来说chunk-recurrent它其实就有两部分一个就是你可以拆成比如说比较小的16Tile或者64Tile的一个Chunk然后Chunk之间然后使用这个Degred的方式去计算然后Chunk内部的话可以用一些比较parallel的方式去计算然后KDA也是这么做的然后KDA的那个Decade限制这个Chunk内部的一个可以用parallel计算的一些高效性然后这样的话其实对于单机的Linearattention来说就是一个Chunk内部用并行的方式去计算

孙宇涛

然后Chunk之间用串行的方式去计算这样的一个计算的Python但是对于CP来说我们就需要讨论它的一个Linearattention比较有意思的一个范式就是它这个Chunk本身是可以任意去拆分的也就是说不同的Chunk的数字就比如说你想512个Token一个Chunk或者说8K token一个Chunk它在数学上是完全等价的这个就跟早年一些比较拼借式的方案比如说有一些工作会尝试这个Chunk之间都要用LinearattentionChunk内部用Fortencent如果用这种策略的话它的这个Chunk的大小就跟你具体的模型的这个Architecture Design

孙宇涛

是有关的了但是纯Linearattention其实是无关的既然是无关的的话我们就可以对这个Chunk的层次做出一个比较任意的处理比如说对于单机来说它Chunk是一步去拆分的我们就这个16Tile去拆分然后16Tile内部用一个并行的方式去计算但是它其实并没有限制说你Chunk只能拆一次它的思想就是比如说我有一个1M特别长的一个Chunk然后我们可以这个我们可以拆成8K放一张卡8K放一张卡这样的话我们就构建了一个以大Chunk为单元然后不同这Po之间然后采取递归计算这样的一个Chunk的拆分方式然后我们拿到这个8K的这样的一个拆分方式之后我们可以在这个内部

孙宇涛

进一步去拆分最后在Linearattention的时候我们没有任何的限制说一个Chunk中间是如何去计算因为对于一个比较小的Chunk而言这个Parallel是一个比较优的视线但是如果我们拆Chunk足够大的话我们可以采取这个Chunk套Chunk的方式然后来去进行计算也就是说对于Linearattention的CP而言的话我们是做一个层次性的Chunk我们首先是在这个不同机器上做一个Chunk然后在一个机器内的话我们再在Kernel来过然后做一个Chunk然后通过这样的一个双层Chunk的形式然后组成一个对于Linearattention一个比较大的CP

孙宇涛

然后这个Network主要还是就来源于说就是ChunkLinearattention的Chunk可以任意拆分的一个特性然后这样的话可以带来Linearattention的CP的一个方案然后这个其实是对于Foreattention不太一样的一个处理方式这个是可以讨论一下然后接下来是上面这个是CP或者说Kernel来斯的一个Infra的方案然后接下来的话其实就会讨论就是从分布式训练的一个角度然后我们如何去优化它的分布式的这样的一个方案然后这块的话我们后面就可以发现其实它跟DeepSig方案是稍微有些区别的区别是主要是来源于不同MoE的一个架构的一个方式然后首先的话

分布式训练:Dropless EP 与动态专家冗余

冗余专家 + online planning 达成完全 token 均衡;Mooncake 式 offload 省显存。

孙宇涛

5.2.1这部分KIMI团队带来了一个DeepEP进一步延伸的一个EP的一个计算方案然后他们的主要的Claim的一点就是对于传统的EP因为我们现在都用DRoPElus EPDRoPElus EP就是对于每一个Token而言我选哪个专家它是不受整体的一个约束的就是我想选哪个选哪个然后这样带来一个方案我们汇总起来之后会发现不同的专家它的负载是不一样的然后既然它是不一样的它就会带来一些问题第一个问题就是对于EP而言因为每个GPU它分到的Token数不一样Token数不一样的话它就会带来它的整体的执行时间不一样然后执行时间如果一旦不一样它就会互相等互相等就会浪费

孙宇涛

这个模型的会浪费GPU的算力这是第一个问题第二个问题就是如果我们不同的卡上的它的Token数是不确定的然后对于GPU的通信来说它会额外多一个阶段就是我们首先是需要告诉所有GPU就是你要接受多少Token它再把这个Token发过去所以基于这两个阶段的话传统的EP它严格来说当然不是一个最优的一个方案的如果完全为了Infra它最优的方案就是这个DiDropless EP也就是说我们每个Token然后要去受到全局的一个影响然后受到一个全局的影响的情况下我们可以通过一系列的一个Allocated的方式从模型的角度让每个Expert都受到完全均匀的一个Token然后通过模型的方式

孙宇涛

然后让它达到完全的Balance完全理想的情况其实就是这样的所以说如果在这个Infra的层面完全均衡然后是一个最优的话从Infra的策略就是我们努力把Infra从非最优导上一个最优然后同时保持模型能力是不下降的因为如果DropToken的话大家现在都不会用因为它那个对于模型损失对模型能力损失还是相当明显的然后这个然后MNEP它就采取了一个我觉得是一个比较高端的一个方案它把模型的这个这个EP的方式变成了一个更动态的一个方式就是它是它是可以计算出比如说之前的一个经典的方案就是我比如说我有128个专家然后我如果如果我们EP8的话可能每张卡放16个专家的话它是一个

孙宇涛

比较静态的一个方式然后MNEP的话它采取的是一个动态性的方式就是它又有一些冗余的专家然后通过这个额外冗余的专家的话然后它从数学上是可以证明说我存在一个策略可以使得就是我们只需要增加一个小比例的冗余专家就可以保证这个Token数的完全对齐我感觉像是一个比较经典的数学结构与算法的一个问题这个是可以证明到的然后他们可以证明到这一点的话它就可以得到一个结论就是我们通过少量的冗余专家就可以达到就是所有卡上都军衡的这样的一个效果然后具体如何去达到他们采取了一个这个Online Planning的方式然后这样的话我们去提前去这个规划就哪些卡应该有哪些冗余专家然后在这种情况下

孙宇涛

可以达到不同的对不同卡上就从Token数的一个完全的一个军衡当然即使说你从卡的角度是均衡的它并不代表专家层面是均衡的因为这个算法它只是保证了所有每张卡

孙宇涛

每张卡的它的所有的Token数是一定的但是它并不保证每个专家是一定的因为一张卡里有多个专家如果说你还想保证每个专家的都是一定的那就没有办法了那你就只能采取这个有损的一个策略去优化这个可能如果大家是不希望的话这个上线可能就卡到这里所以说我们在两个中间可以采取可以找一些更优的一个处理方式这块是KIMI团队带来的一个比较有意思的一个创新接下来就是这块Memory的Effektion Training我觉得这块比较有意思首先他们带来了一个从软件工程的层面比较简单的一个方案就是我们可以去更细力度的去控制每个部件应该去采取activation还是去采取offloading的一个策略

孙宇涛

然后这块不一样的一点就是Kimi K3它采取了大规模的offloading把中间计算得到一个结果offloading到CPU然后这个其实是一个non-trivial的一个东西因为理论上如果想满足offloading不拖慢模型的训练它是有一定的条件的你得保证CPU和GPU之间的通信它满足的某个不等式这样你才有完全用计算overlap时候通信的一个可能然后为了达到可以做offloading的话然后Kimi K3它把所有的可以offloading的东西都用FP8去存这样它可以省一倍省一倍它可能才能从一个边界然后跨到另一个边界然后具体这个边界怎么算这个就跟具体的

孙宇涛

卡具体的局体环境机群环境也跟具体的模型config是有关系的然后后面的话它一方面它们是需要去优化这个Attention Residual它本身的一个infra的关系的这个其实在Attention Residual的paper里其实也讨论过然后我觉得PP这块其实它我觉得一个是PP一个是通信的overlap的手段这个其实跟DevSync是不太一样的一个方案因为首先比如从DevSyncv3的角度而言它采取了两个不太一样的至少是non-trivial的一个方式一个就是比较细力度的moe角度的overlapmoe角度的overlap就是因为首先moe中间有两个通信

孙宇涛

有两个通信它一个是dispatch一个是combine然后这两个通信它是overhead是比较大的其实在blackware上它其实又不太一样但是无论如何它是一个比较大的一个开销然后DevSyncv3的话它一个是在moe的overlap这块它会拆的特别细然后具体的方式它就是会把moe上一个batch的moe的forward还有backward和下一个moe的forward把它俩融合起来然后通过重排序计算的一个先后顺序从而达到把所有的大的dispatch和comband的计算然后comband的dispatch和comband的通信都藏起来然后想达到这点的话

孙宇涛

其实是需要特别精细或者也特别复杂的一些软件工程上的一些优化的这个其实在microTron Core里边也讨论过这样的类似一个事情因为这个事情如果想做得足够好的话我们需要把这个所有的forward和backward的计算从原子计算的层面就拆开然后手工进行重新排布我觉得这个还是有一定的难度的然后另一个就是这个dp6v3采用的这个do pipe的策略也就是为了去缓解这个pv的气泡和这个不同的activation不均匀的方式然后他们去采取了do pipe的一个的一个pipeline的排布方式然后当然后面除了do pipe还有个do pipe他们达到的效果是一样的

与 DeepSeek-V3 Infra 路线对比

Latent MoE 通信小→用 shared expert overlap 即可藏通信,无需 DualPipe 的复杂排布。

孙宇涛

对它从逻辑上会更简单一些

孙宇涛

起码从公开的他们写到的里边Kimi K3是没有采取采用这两个优化方式的他们采用的其实是一些别的方式然后第一个就是如何去隐藏通信这个就跟实际的模型架构的选新有关系对因为Kimi K3它采用了那个Latent MoE因为Latent MoE它本身是极大的降低了通信开销的所以说它在整个的计算开销里边它其实是减小了特别多的因为它的通信开销减小了特别多所以其实如果想把它overlap掉就会变得容易很多就是我们没有必要再去跟另一个batch的计算来去做overlap我们可以采取一个batch内部更简单的overlap手段就可以把通信很好的隐藏掉然后Kimi K3它具体采用的方式

孙宇涛

是把MoE的前向和后向的通信跟shared expert的计算overlap在一起因为shared expert现在绝大多数都有而且shared expert它是有一定的计算量的然后正是因为通信的开销减小了所以说它才能被shared expert一个比较简单的方式去overlap掉但是如果你用传统的MoE它的通信开销就会特别大特别大的话你用shared expert去overlap就很难overlap掉所以说如果你shared expertoverlap不掉的话你就必须把另一个batch拿进来这样你才能完美的把通信都隐藏掉我用不一样的MoE的架构然后带来了

孙宇涛

不一样的overlap的策略然后这个策略它带来一个好处推理的critical path的latency它是免费的然后从训练架构上的话我们因为通信量更小了我们就可以采取更简单的一个策略然后来去排布通信的一个气泡然后其实还有个另一个问题就是我们即使通过更复杂的方法去完美的把通信去藏掉它其实也不是完全无损的因为即使是完美的去通信和计算隐藏计算也会相对的去慢一些它不是完全可以无损的然后针对这个问题DPP也做了类似的优化DPP的优化方式就是用一个足够少的SIM的占用来去获得更大的一个整体的通信的throughput从而才能让这块的overlap跑得更快所以说这块是一个

孙宇涛

很不一样的一个设计方式然后另一个设计方式就是PP的处理其实是不太一样的因为如果用DualPipe或者用DualPipeV这样的一个PP的一个排布方式的话它其实不同对不同PP rank之间它相对还是一个比较对称的一个状态如果你用单向的PP的话它其实就不太对称然后不太对称的话就两种解决方式第一种就是让它变得对称第二个方法其实就是Kimi这个paper里讨论到的我们可以把不均衡的方式然后transfer掉因为比较朴素的PP的话比如说前面的这个PP rank它会进入的更早它会积累的batch就会更多它的activation的压力就会越大然后Kimi K3采用的方式是

孙宇涛

它把memory占用比较大的一些PP rank然后直接传直接让它存到比较小的一个pure rank然后通过这种也是比较lightweight的方式然后去推避了更复杂的这个Dupipe的一个设计方式然后在后面的话其实就是Mume的一些优化因为Mume它是需要全举阵去做牛顿朔尔斯迭代的所以说如果用传统的adam因为adam相当于是你是把所有参数都摊平然后之后再去切的然后因为adam是element-wise优化所以你怎么切它都不会影响这个模型的一个优化的一个结果但是对于Mume来说它是有影响的因为我在某个rank上我是需要把一个举阵所有的参数都去保存下来的所以说这块的话

Multimodal Infra 与 PP 排布

vision encoder 放 PP 中段,利用流水线闲置提前算,规避首段气泡。

孙宇涛

需要做一些处理才能让Mume比较好的去在optimizer这个角度去切起来

孙宇涛

然后DormaTi这个infra也是一个比较有意思的一个点因为其实从infra的角度就纯的language model它其实是以当然大家想把它优化的足够好的也是需要相当多的effort这刚刚也讨论了很多但是其实对于DormaTi而言你每引入DormaTi的一项功能它的infra难度其实都是直线提升的这块的问题就是如何去把VC做好VC做好的话这块它起立了两个问题一个就是我们对于现在的VC的话大家是会对VC做一定的压缩的比如说你VC最后输入到大模型里边的话它可能是8K token但是你输入之前它可能是32K token就是说VC接入模型的过程中它其实是有做一个压缩的

孙宇涛

但是这个压缩在VC内部是没有做的所以说它在VC内部计算的时候它就会更长所以为了解决更长的一个问题可能你如果对金蛋对于模型主干不需要开CP的话你可能就对于VC内部它可能就需要开CP所以说这块它是需要做一些额外的infra的一个处理然后PP这个就更有意思了PP这个大家其实注意到一个问题就是我们做这个VL Native Training的时候VL的token它其实只是有一个比例的比如说你对于某些对你对于某些卡来说它是一个纯文本的一个状态然后你对于另一张卡它可能是一个全视觉的一个VL的比例相当大的一个状态如果是这种情况的话你还是会出现一个对不同卡不均匀的一个现象

孙宇涛

然后这个现象呢它不仅会影响DP它PP也是会去影响的因为PP的话我们是首先是要保证不同PP之间它是一个比较均匀的一个状态这样它的流水线才能打得足够满不然的话如果我们在这里引入了一个新的VL的第一个PP它的计算强度就会显著去增强它就会破坏整体流水线的一个打满的状态然后为了去规避这个行为Kimi K33这块采用的一个方式就是把PP不去放在PP的刚开头它是会放在中间或者尾巴上然后所以在前面的PP对在前面的VL的或者说比较浅层的Language Model做的过程中中间的PP它是闲置的它就会把中间闲置这部分利用上提前把VL后面的一些步骤提前算出来然后通过这种方式去规避掉

孙宇涛

第一个PP带来的足够大的一个起砲然后这个是一个在PP的层面需要做的一个优化它这边论文真的写得好详细

孙宇涛

就是这些细节东西其实是需要去处理的如果你不处理的话就是你写出来大家就觉得这个事情肯定也没有问题可以去这么做然后有一些没有写的部分大家就会去追求如果有些团队的读人密度没有那么足够说我自己就能把这个事情搞定大家有一部分就会沉迷一小道消息大家就会私下来打听这些东西到底是怎么处理的如果你写出来这个事情其实就

孙宇涛

大家就不需要去找小道消息了如果它写出来在复线难吗我觉得一发上的事情本质上没有什么难的因为它本身就是个高度确定性的东西我觉得所有一部分的事情都本质上它是一个确定性的东西但是你如果想自己提出来的话它就对你本身分析profile的方式或者说对于你本身的组织密度或者说就是你团队氛围就是有比较高的一个要求但是你如果整个influor团队比较好你还是可以自己搞出来的但是你如果不行的话你就尝试去follow一些比较好的一些工程实践的practice但如果这个事情都搞不定我觉得就可能就不太应该了前面主要是influor大概主要就翻三部分一个是pre-trainpre-train的话

RL 与推理基础设施

大规模 sandbox/docker 管理;reference model 与 gradient buffer 复用显存。

孙宇涛

前面主要是讨论了一些大规模分布式的情况下一些比较复杂的一些优惑方式然后后面的话一个就是后面的话就是两部分一个就有RL然后还有一个就是inference然后RL的话因为它本身就是设计大量的inference的所以在这两个中间其实是有一些overlap的然后RL它本身一个对不太一样的点就是它需要对大规模sandbox会有一些比较细的一个要求对但这个其实就算是一个更工程的一个东西了这块的话它其实就是一些比较细的处理或者去处理不同的sandbox对于RL的task来说你每一个trajectory它可能都对应一个它自己的docker所以说如何去管理大规模sandboxer

孙宇涛

其实是这块比较麻烦的一个问题然后上面这块的话我觉得这个Kimi K3比较有意思就是它会时不时给你蹦出来一些比较有意思的东西对我觉得这块比较有意思的东西但也不一定是刚才就是它提的了这块可以省一个gradient的buffer对这块相当于是一个比较tricky的一个东西因为对于一个完整的RL来说它有好几部分的model比如说你至少你至少有一个种model然后你还有一个reference model然后你种model它还有对应的一个gradient和optimizer当然如果你还想做这个reward model的话它还会再多一个model然后其实这块的话它就会多特别特别多model

孙宇涛

然后就有Kimi K3这块这样的一个比较有意思的事情就是它不同model之间因为你放一个model它对于GPT来说它还是很大的一个memory所以说它这块相当于是把两部分memory就拖到一块了就对于reference model而言然后他们发现它可以跟gradient的buffer来去合起来因为首先reference model它是没有梯度的然后在你求objective的过程中你是没有gradient的等你有了gradient之后然后你可能这个reference model就不会去用了

孙宇涛

所以说它这块用了一个greeded buffer usefor non-policy modelfor forwarding然后这块是一个对比较有意思的一个东西然后上下来我就感觉是一些比较常规的处理方式了然后我觉得reference目前不会有太多的一个东西因为主体的reference optimization它其实是vLLM或者S这样这些的专门讨论的一些内容然后这块它其实讲的就是对于Kimi K3架构它所带来的增量就是在现代的推理引擎中是如何去处理的然后首先就是会带来也就是linear attention它在现代的这个 inference engine 里

孙宇涛

它有一个麻烦它有一个麻烦就是它prefix cation它是一个比较麻烦的一个点因为对于4T来说它相当于是每个位置它都有一个cache所以说你可以任意就是你下一个位置的cache它一定是上一个cache的一个简单的一个增量所以说在这种情况下就是prefix cation会得简单很多但是对于linear attention来说的话它会有一些它会有一个比较麻烦的特性就是linear attention它每一步它是需要它是会在原来上一步的这个cache的基础上它是做一个复写的也就是说对于每一步而言它的这个prefix state它其实都是不一样的所以说如果我们把每一步都存起来

孙宇涛

那其实linear attention的好处就完全没有了但是你如果完全不存的话你就完全没有办法去享受到这个prefix cache所带来的好处

孙宇涛

然后这块这块的话就是对现在目前对于这个linear attention它的一个采用的策略就是按照block去切就是我每个block去做一个去做一个这个prefix caching然后同样的话我们还需要另一个non-trival的点就是vLLM这样的一个配置kv它的一个实现方式从工程上或者从概念上它最简单的一个分布方式它是不考虑层和层之间的意志性的所以说其实从去年还是前年就是如果想直接在这个vLLM里去引入混合架构的话它在infrance上并不是一个容易的事情而且因为现在infrance engine越来越heavy了所以说如果简单这些改法的话会把整个这个infrance engine

孙宇涛

搞得特别特别的乱当然现在这个infrance engine可能都有一些比较先进的管理方式了但是这个就是需要去透露处理一下就是把这个一个就是把不同的attention pattern去结合起来

孙宇涛

因为对于Fort来说是按配置管理的但是对于linear attention或者slendman的话它才是不能按照配置管理的因为它并不存在一个长久的一个对于tokenvice而言的一个这个cary cache的一个产生方式这个本身对于vm的设计来说它其实是需要做一些尖用性的处理的然后我觉得后面就是一些就是适配性的一些优化因为decoding的优化它其实跟prefuel或者说跟training不太一样所以说这块的话就对于每个环节都需要做一些额外的一些chronless的一个配置但我觉得这块应该

孙宇涛

我觉得这块都是可以去做的而且对我觉得应该是一个确定性比较高的一个事情然后后面就是evaluation了我觉得evaluation这个没啥好讲的就是好呗特别好就是在每个环节都好然后后面主要就是这样的一个状态然后应该就没啥了我觉得k3让你最impressive的地方是哪里啊个人而言吧我觉得impressive的一点就是他们把这个激活搞得特别特别大就是足足有100比0比我预期的还是要大一些的这个依赖的什么能力呢这个不依赖任何能力就是你具体定义多少激活这个本身它不是一个技术性的东西就看你想到达到什么阶段的一个效果我觉得k3它还是比较有破裂就是在已有的开源模型这个赛的基础上

对谈:K3 最 impressive 的是什么

100B 激活是魄力也是策略;科学研究不存在跃迁性提升。

孙宇涛

他们要提升一个数量级所以我刚刚就说他们比上一代的激活其实是多了三倍多的我觉得这个决定是一个非技术性的一个决定但是这个是要一定的策略的因为杨植麟喜欢说有概率的非共识

张小珺

你觉得在k3上

孙宇涛

能看到他们的什么样的different bets或者说创新我觉得也没差因为有价值的技术创新他们都单写了一个paper了所以k3刚出来的时候我主要就surprise这个size别的我都不合我预期的就是你刚才给大家也展示了好多他们历史的paper其实中间就已经发出来对吧但是他把它优化到了一个更大的模型上对我其实的一个观点就是科学研究是不存在跃迁性的提升的只是说大家习惯把这个技术的建议性提升的某些节点会成为一个milestone我其实一直是这么认为的技术永远是慢慢去提升然后靠这个公司里的所有人项目里的所有人包括整个业界的同学一块去推动的所以我觉得从这个角度没有什么milestone

孙宇涛

有人说KIMI的研究方式相对比较科学

张小珺

你觉得这个你认同吗

孙宇涛

你怎么解释首先我是认可的但具体认可的方式的话我觉得首先我觉得这个主要是来源于他们内部的一些管理方式吧当然的有些公开大家都知道的就是KIMI其实公开里边大家认可的最强调这个模型可观测性的一个团队就KIMI他们一直尝试去让这个pre-training变得更加的科学比如说让不同的行为的trace可以一些更可靠的方式去获取到然后让比如说模型的不稳定性或者说模型collapse的一个现象可以更明确的一个去归因所以他们其实一直去强调这个模型可观测性的这样的一个case我觉得这个其实是他们科学化的一个体现吧我觉得这个其实是没有任何问题的我觉得科学对应的就是不科学嘛就是什么是不科学的

孙宇涛

我觉得这个事情就是讨论清楚大家就知道什么是科学的什么是不科学的我觉得不科学的方式就是如果从整体项目的角度你想去推一个东西你想证明某个东西是有效的我觉得这个东西不存在任何疑问因为学术创新或者说你从学术论文的管理的角度我觉得这个大家都是有明确标准的你得有明确的ablation你得有足够的变量的控制你得用更科学的方式去说明你这个东西是有效的我觉得这个大家都是认可的然后为什么不科学不科学就是基于某些利益需求然后把科学的方式都干掉了这就是不科学我特指任何技术我一直强调的就是我觉得KV这个团队非常团结然后非常的能把劲往一处如果大家是这样的目的为甚你的判断方式自然而然就是科学

孙宇涛

因为最近也是V4发布的时间K3和V4你觉得他们的区别是什么能不能做一些对比我觉得不同层面吧我觉得从模型定位也好然后从这个刚刚咱们比较详细的讨论则在infra上的一些区别然后从模型角度层面的话我觉得目前区别还是比较大的我觉得完全也不是一个东西我觉得其实比较好的一个case就是DeepSeek现在出了两档一档是1.2T的然后另一个是一个更好的size然后DeepSeek我觉得目前还是更强调一个性价比的就是他们其实那个flash那个模型做的还是挺好的但K3我觉得他们目前主要的经历里还是尝试去提升开源模型的一个能力的上限而不是去考虑这个模型的这个也不是完全不考虑嘛

对谈:K3 vs DeepSeek-V4

K3 冲开源能力上限,DeepSeek 强调性价比;技术有客观标准,组织走向取决于人。

孙宇涛

至少说你模型的价比不是一个最主要的一个考虑条件当然也可以看到现在K3的一排相当贵比别的模型贵多了照这个趋势发展下去K3和DeepSeek会分化吗我觉得技术层面的东西只要大家不笨都是知道什么是好什么是不好我觉得组织团队的走向和取决于人的选择我觉得就是这么简单我觉得技术上这个东西不存在太多deepSick的好就是好不好就是不好这个是有明确的客观标准的但是对于组织而言对于人而言这个是比较模糊的

张小珺

你觉得K3相比之前的所有模型来说不一样在哪里

孙宇涛

它有架构创新它创新性更强了我觉得两方面我觉得从技术的层面来说的话我们可以讨论很多很多就是它中间的有一些有一些创新也好有些推荷也好这个对于技术同学而言是可以去讨论的但这个东西是不是成为里程碑它是个非技术的问题所以说它最大的变样是你最后的一个能力

孙宇涛

DeepSeek V3我觉得比如说它那些比如RE这些东西我觉得这样就是紧张才华我觉得最大的问题就是它其实是国内第一个对把模型斯科到一定程度并且把RL全流所打通的因为在K3之前可能最大的就是Qwen2.5-72B这个其实是从模型size来上一个比较大的推荐因为有size它才有智能所以说K3你把激活多了三倍把模型也快大三倍它就是下一个来部这个就没有任何问题这下核心是size有效的skating对其实是这样对这是个完全是一个靠团队来去做起来的东西因为你把模型增大最简单如果吹飞来看我就把模型把几个数字调大一点我就可以达到一个更大size但这个不解决任何问题从技术上来讲

孙宇涛

它不是一个太大的一个创新因为你扩大模型size它本身不是创新你把这个东西做work它中间采用创新去我觉得新团队现在再去重做一个模型还有时间窗口或者机会吗我觉得如果这个团队足够好这个团队的氛围足够好然后单兵作战能力足够强是有机会的但这个条件我觉得大概率是不存在的所以说后面的创新事情也就不存在为什么不存在因为好的人其实已经进去了还是怎么说我觉得好的人和好的组织文化想达成我觉得是有历史的局限的就是你不是想达成就能达成的枕尾这个事情真的是有点虚很难去描述它我觉得也不虚我觉得就是取决于这个leader的taste或者说leader的性格是绝大多数影响到只能团队的氛围的

对谈:新团队还有机会吗

好的人+好的组织文化可遇不可求;Kimi 的特点是所有人都不怕杨植麟。

孙宇涛

我觉得Timmy有一个特点是所有人好像都不怕杨志林吧对啊 为什么要怕呢有道理你就谁有道理谁说了算吧对啊 还是一个非常集体的一个工作它不是一个个人的工作它不依赖于个人英雄主义

张小珺

是的你觉得未来的模型的发展方向

孙宇涛

你有没有什么预测比如说半年之后 一年之后模型size毫无疑问还会继续扩大我说一下我的判断我的判断比较暴论我的暴论就是大模型可能没有太本人的上线了后面都是一些改良式的进步然后它会做到一个什么样的水平呢做多大size对应的是什么样的性能呢我觉得这个重要的就是大家去定义什么能力去定义写只要大家能定义一个能力就能去达到因为大家之前定义的方式比如说就是墙codingArea的coding这些东西是清晰定义出来然后大家就可以去做到这个取决于大家怎么去定义这个能力或者说从沙热化角度大家注重什么能力只要它能清晰定义这个任务本身它的能力就能够达成对 我觉得如果是纯language的

对谈:暴论与展望

大模型可能没有太本质的创新了;模型大小受数据量约束,不可能无限叠上去。

孙宇涛

应该没有太大问题它能达到所谓的AGI吗我觉得AGI最大的问题就是它没有被well define所以只要能够定义它就能达到后面都是一系列的优化工作对 当然如果说你定义AGI的是巨神是真实物理世界交互我觉得这个事情肯定还是gap是更大的但是如果你还是在language model的scope里讨论问题我觉得问题不大

张小珺

你觉得它最后会是一个多大的模型呢

孙宇涛

还是说它是无限大无限往上叠上去我觉得这个事情肯定是不可能的因为首先就是预训练量的这个数据量包括说我们已知了人类我觉得从说圈来讲就是人类互联网上能集结到的所有的信息量这个是有限的这个事情是不可能无限提升的基于这个case来讲从数据理论上你想吃掉一个足够大的数据量你模型不可能是无限的没有必要是无限的所以说这个能带来一个更宽的bound然后这个宽的bound可能上下会更好然后更窄的bound就是在什么情况下就是我们对于模型具体在任务上的一个感知可能会没有那么充分然后这个是一个更窄的一个bound或者说如果未来有更难的任务它必须有更大的size那可能就会推华了更宽的那个bound

孙宇涛

但是我无论如何不可能是无限的

张小珺

你觉得它会最后有多大

孙宇涛

这个模型现在是6到2.8以后呢bound必然的肯定还是有更大的所以如果想完全matchbound肯定还是可以再大一些但是更大的话这个就不确定了你现在为什么去探索世界模型了我觉得这个主要是一个personal的一个东西因为我觉得这个大模型不存在太大的太大的改量空间改进空间没有大的突破的话就没有大的这个credit所以说我觉得对于个人来说可能从职业上来讲不是一个能做出太大的一个贡献的领域来这个我有底范的问题这玩意的问题更大但我觉得至少是一个新的东西

📖 术语表

本文稿由 AI 自动转写生成,可能存在少量识别错误。内容仅供参考,以原始音频为准。

📡 原始来源:张小珺Jùn|商业访谈录 Vol.152 · 领读Kimi K3技术报告