张小珺Jùn|商业访谈录 - 152. 领读Kimi K3技术报告:从架构创新聊起,注意力美学、多教师蒸馏和开源MoE
Summary
本期节目由孙宇涛领读 Kimi K3 技术报告,并串联十多篇相关论文,梳理大模型架构、预训练、后训练与基础设施的演进脉络。嘉宾认为,大模型时代的架构研究越来越以推理效率为导向,而 K3 的重要突破是在整合多项技术的基础上,实现了约 2.8T 总参数、约 100B 激活参数和百万级上下文的有效扩展。节目从线性注意力的发展讲到混合注意力与 Kimi Delta Attention,说明更细粒度的衰减控制如何提升表达能力,以及为什么必须结合数值精度与 GPU kernel 进行协同设计。围绕门控 MLA、残差连接、Latent MoE、激活值约束和专家负载均衡,讨论反复强调训练稳定性、通信成本与模型能力之间的取舍。预训练与后训练部分分析了余弦学习率调度、混合架构中移除全注意力位置编码、在 SFT 阶段引入量化训练,以及通过 on-policy distillation 融合不同专项能力的理由。推理和分布式训练部分则指出,稀疏注意力的索引成本可能抵消理论加速,而模型架构也会直接改变通信重叠、显存管理、上下文并行和前缀缓存的实现方式。嘉宾将现代 Transformer 比作不断更换部件的忒修斯之船,认为技术进步更多来自整个行业长期积累与团队协作,而不是孤立的跃迁式创新。最后,他区分了 Kimi 追求开源模型能力上限与其他团队偏重性价比的路线,并提出只要语言任务的能力目标能够被清晰定义,模型仍有望通过持续改良达到目标,但模型规模不可能无限增长。
Chapters
-
读懂Kimi K3的架构创新 0:03–1:02:36
孙宇涛从自身在线性注意力、混合注意力与共享KV缓存方面的研究出发,串联相关论文,解读Kimi K3如何实现2.8万亿参数规模与百万级上下文扩展。讨论梳理了从RetNet、Mamba到DeltaNet及Kimi Delta Attention的演进,并分析门控MLA、残差连接改进和潜在空间MoE在推理效率、通信成本与模型能力之间的取舍。随后重点讲解通过归一化、激活值约束及优化器配套措施提升训练稳定性,以及利用分位数和直方图统计实现专家负载均衡,强调架构创新需要与底层高效实现协同设计。
-
Kimi K3的训练、工程与规模化探索 1:02:36–2:03:55
本节围绕Kimi K3展开,讨论混合注意力与稀疏注意力的效率取舍、学习率调度、长上下文位置编码,以及低精度训练、在线策略蒸馏和投机解码等方案。随后深入解析模型架构与基础设施的协同设计,包括线性注意力的上下文并行、专家负载均衡、显存卸载、流水线通信重叠、多模态训练和推理缓存管理。嘉宾认为,K3的突出之处在于扩大模型及激活参数规模,并通过团队协作将既有研究整合落地,同时对比了Kimi追求能力上限与DeepSeek侧重性价比的定位。最后,双方讨论科学化研究和组织文化对模型发展的影响,以及模型继续扩展的边界、能力定义的重要性与世界模型的探索空间。
Highlights
-
混合注意力它其实虽然从架构上来讲是一种 trade-off,但是从最后模型本身的表现来说并不是一个 trade-off。包括大家其实发现在保持一定的全注意力比例的基础上,整个模型其实是可以获得无损甚至更好的一个长上下文表现的。
A hybrid architecture need not sacrifice model quality -
所以说 KV cache 既然没有省掉,我们能不能从另一个维度去省掉?所以当时我们就觉得,既然说从 token 长度这个维度没有办法去节省,所以说我们找到了另外一条节省的方向,就是从层间这样去节省。所以有口当时做的是一个,就是所有层共用一份 KV cache 这样的一个架构的方式。
Reframes the memory bottleneck as cross-layer cache sharing -
所以说就是从模型总的来看的话,我觉得还是遵循一个第一性原理,就是更大的模型才有更大的一个智能上限。如果别的东西没有做太错的话,其实大家可以看到这个模型的参数大小还是解决模型智能最本质的一个参数量。当然如果只看 Benchmark 的话,你有无数种方式去达到一个对内或者对外一个满意的结果,但是从模型的能力本质上,模型的参数大小还是最有效的一个方式。
Draws a sharp distinction between benchmark scores and capability -
我们把一个标量的衰减,然后变成 ChannelWise 衰减,它严格地来说是能力更强的。因为从功能上来讲它是严格更好的,无论如何这个 ChannelWise 的 Decay 它是可以退化到一个比较均匀的 Decay 的。当然了,就是对于 KIMI Delta Attention 来说,一个更强的模型能力它其实是有一些代价的,它的代价就是它写 kernel 会更麻烦一些。
Shows how greater expressiveness creates kernel engineering costs -
所以说好一点、差一点,它都不如稳定性要重要。因为如果稳定性不好的话,它会带来很多麻烦的问题,甚至比较大的问题就是你整个 round 不能来,然后你前边整个的 checkpoint 都废掉了,我觉得对于任何团队而言都是不可以接受的。所以说如果说一个方法能比较有效地去提升模型的稳定性,这个还是一个大家比较愿意采用的一个技术吧。
Explains why stability can outweigh small quality gains -
训练因为我们主要优化的是 throughput,我们可以用一些 overlap 的手段,然后来去把通信这部分去弥补掉。对于 inference latency 来讲,尽管我们可以用一些手段来去掩盖通信开销,但是这个时间它是避免不了的,因为它整体是在 critical path 上。所以说对于模型推理跟 latency 来说,通信开销它还是一个相当不可忽略的一个点。
Explains why reducing communication matters more for inference latency -
其实到最后在 Decode 里边,其实加速是特别特别小的,原因就在于说 sparse 求 index 这一步它是相当昂贵的。而且在 Blackwell 的硬件的情况下,越先进的硬件,它其实这个 overhead 是越大的。只有 sparse attention 本身开销足够小的情况下,其实才能带来一些比较可观的一个算法上的收益。
Challenges the assumption that sparse attention automatically runs faster -
这个哲学上还有的对应的概念就是忒修斯之船嘛,就是你刚开始,2017 年这个船刚开始行驶的时候是 Transformer。但是这个船已经行驶了八年九年了,就在这个船慢慢行驶的过程中,我们可能会慢慢地把某些部分换了。你是不是还把这个东西叫做 Transformer,当然这个是哲学上的一个问题。
Uses the Ship of Theseus to question what Transformer still means -
在 Hybrid attention 的 setting 下,如果我们可以把这个 full attention 从 RoPE 改成 NoPE,也就是说在全注意力的情况下把位置编码去掉,它其实是可以带来更好的模型表现。第二个就是它在这个长上下文是更容易扩展的,也就是说 NoPE 它是在模型扩长的情况下,不需要调整任何模型架构的参数,就可以达到一个长上下文的这样的一个效果。这个效果无疑是很优雅的。
A counterintuitive route to longer context: remove positional encoding -
然后直观来讲的话其实就有两种,一个是老师讲课,老师讲课然后你把老师讲课的结果学进来。然后第二个就是你自己去做答案,自己去做题,自己去写这个中间推理过程,然后老师会把你中间推理哪里做得不对给你指出来,然后告诉你怎么去做。我们不直接去学习模型的答案,而是在 student 自己的推理过程中,让教师模型逐步地去 verify,或者说去纠正学生模型的这样的一个推理的方式。
Makes on-policy distillation intuitive through a teaching analogy -
因为 KIMI K3 它采用了那个 Latent MoE 嘛,因为 Latent MoE 它本身是极大地降低了通信开销的。因为它的通信开销减小了特别多,所以其实如果想把它 overlap 掉就会变得容易很多,就是我们没有必要再去跟另一个 batch 的计算来去做 overlap。我们可以采取一个 batch 内部更简单的 overlap 手段,就可以把这个通信很好的隐藏掉。
Shows how architecture changes simplify distributed training -
我的暴论就是大模型可能没有太本身的上限了,后面都是一些改良性的进行进步。我觉得这个最重要的就是大家去定义什么能力,只要大家能定义一个能力就能去达到。只要它能清晰定义这个任务本身,它的能力就能够达成,我觉得如果是纯 language 的应该没有太大问题。
A provocative prediction that task definition is the key remaining barrier
Full transcript
Hello 大家好 我是小俊今天的节目是一集学习播客学习Kimi K3的技术报告希望和大家一起领略技术之美K3是有效扩展到2.8T总参数并全量开源的MOE模型大家可能注意到这集技术报告的领度播客能距离模型发布已经过去了一段时间 期間我們試圖尋找一位合適的嘉賓我們希望這位嘉賓他的工作和學術背景非常適合的來講K3最後找到了孫雨濤 宇涛目前是清华大学计算机系博士候选人上海创制学院普瑞学者他从博士开始的研究方向是LLM架构预训练架构创新一直都是他的兴趣所在这正好是K3的亮点之一那宇涛透过领读K3的论文也串联讲解了十多篇相关的论文他的语速非常快所以前方语速高能预警期待2026年我们和AI共同进步 当然了 这块我觉得可能还有一些别的concern 比如说我们发现 其实如果用命的话 它其实是会更容易出现outlier的进行控制中间的激活值 总不是一个比较错的一个现象 当然如果我说命更容易来outlier 这个苏建磊一定会反对 他肯定会说对于任何优化器来说 他都一定会出现outlier 因为你从模型架构上是控制不了的 所以说如果想严格控制的方法 他一定是直接从模型架构下手 这个哲学上还有的对应的概念就是太修四只船嘛 就是你刚开始的 2017年这个船刚开始行驶的时候是穿梭门对 但是这个船刚开始是怎么拼起来的 它是Tenshin加瑞C軸 平时的过程中呢 我们会把可能会把慢慢的把某些部分换了 某些部分换了其实跟穿梭门已经 我觉得像素已经很低很低了 你是否还把这个东西叫做穿梭门我说一下我的判断 我的判断比较暴论
我的暴論就是大模型可能沒有太本身的上限,後面都是一些改良性的進行進步好的,那我們的論文學習博客又來了,這次我邀請了清華大學的PhD Candidate上海控制學院 朴瑞学者孙宇涛将由他带领大家一起来学习合乐读最近大家关注度非常高的Kimi K3的论文但是宇涛会带领大家读一系列的论文啊那宇涛你能不能先给大家做一个自我介绍并且介绍一下你的研究方向好的 各位观众朋友大家下午好然后我是来自新华大学的孙宇涛我在这个博士期间的主要的研究方向是大模型的架构和预训链 然后这个博士课题我是从23年从那个时候开始我们主要去研究大模型的模型架构的一系列的工作然后在那个时间点应该是拆的GBT刚刚发布一段时间但是我们的架构研究其实从拆的GBT发布之前就差不多就开始了然后我这两三年的主要的一个研究方向就是主要是去尝试解决然后大模型在 推理这个环节的一些低效性吧所以说我们主要的一些研究方向都是围绕着推理高效性来去展开的然后其实大家也可以注意到说就是在模型架构这个方面整个业界的研究方向也是逐渐从偏性能围导向逐渐的变得是以效率围导向然后在这个方面其实是有一些办事上的变化的因为可能在微信时代或者说在ImageNet时代大家还是尝试去 做到更精妙的一些架构是然后去提升模型本身的一个表现但是在大模型时代呢然后我们其实逐渐发现对于模型的性能而言模型的参数量以外是一个最主要的一个因素然后在这个在模型架构本身的一些感激性的变化呢其实相对于模型参数本身的提升对带来的这个性能提升是相当微小的但是其实不同的架构在这个模型的推理方面然后性能差异是巨大的而且这个也是主要
决定了模型最后的一个部署的价格然后其实这两年大家主要在这个方向去努力然后对于我而言的话其实我们是在23年开始然后探索这个现役助理这样一个方向的一个工作然后我们GPiDraft9工作刚开始主要是解决了两个问题的我觉得从现在这个阶段这主要解决了两个问题第一个问题就是现役助理怎么能尽量的去在一些比较ginal的场景下能逼近这个 全注意这样的一个性能因为linear从刚开始提出主要是为了去用一个linear kernel然后去一个kernelized的方式去拟合然后二次复杂度的全注意这样的一个pattern所以 所以在之前那个时代其实对于Linux而言它的位置信息它其实是不够Senseive的然后其实在那个时代Linux和RN只是在形式上比较相似但是从这个建模的特性上来讲RN其实还是比较强调一些locality的一些表示所以说在那个时代我们在RN上是比较早的引入了一个 揣点的一个记者这样的话可以让这个线性助力在一个有线的这个状态空间里然后尽量的去见摩这一些对最后的结果贡献足够大的一些信息然后对 然后这个其实刚开始的一个摩天杯人除了这个模型性能以外呢我们当时也是主要比较先的提出了这种这个trunkless recurrent有trunkless recurrent这样的一个这个线性助力的一个kernel来就是kernel的这个计算形式 因为对于这个限限注意力来说呢如果把这个整个的状态都展开了然后在token这个维度去做这个去做定规的计算的话它其实从从效率上并不是最优的但是如果用仿照注意力这种这个计算方式去建谋的它又享受不到这个整体计算复杂度带来的优势所以说我们当时就是在这种parallel representation从一些并形的就是像权注意力这样的一个计算形式和就是全定规的这个计算形式间
然后找到了一个shade-off也就是这个快递规的这样的一个计算形式而这个Trackwise Recurrent我们既可以拿到这个整体的一个计算复杂度上的一个收入同时我们能在Colonelize 层面然后我们可以尽量多的去这样探测课然后把这个local的一些计算密度都达满这个是我们提出的一个比较有效的一个计算方式然后大家其实如果可以关注到就是之后的一些其实所有的一些现代主义的感情工作都是基于这样Trackwise的 计算形式去计算的对吧包括Mamba2然后gated DeltaNet 包括然后来到今天的这个QM linearKDA这样的一个计算模式然后在这个计算大的计算模式这上能然后又带来的一些新的比较细节上的变化然后这个可能之后的今天的后面会就更详细的来机进行讨论然后当然从现在这个视角的纯现役注意力的吧就作为纯现役注意力的一个模型而来无疑是一个比较失败的一个尝试因为无论如何这个比较有限的一个contest 他都难以带来就是在常诗上的文中和传注意力比较完全相懂的一个性能这个其实在今天这个时间点我们都知道是不可能的所以说这个当时我们在23年也是注意到了这个现象 所以说我们就会尝试说就是从权限制助力然后转到一个Hybrid Tension的这样一个架构的形式Hybrid Tension就是其实大家顾名思义就很简单 包括Kmk3其实也是这样的就是用一些限制助力和一些权助力组合起来然后作为一个模型的架构 然后这个本质上听起来就是
像是一个工程上的吹道夫 然后也是一个比较工程的解法但是虽然如此 我们当时就发现一个现象 不过这个也是目前所大家公认的就是混合注意力它其实虽然从架构上来讲是一种吹道夫 但是从最后模型本身的表现来说并不是一个吹道夫 包括大家其实发现在保持一定的权术利率比例的基础上整个模型其实是可以获得无损甚至更好的一个常常上菜员表现的也就是说其实在混合注意力模型的架构中我们并没有牺牲一定的权术利率的模型能力从而带来工程所以所以从这个角度上来讲也是也是因为这个实验上的一个结论然后从而导致这个混合注意力现在被大规模的利用起来你的第一片工作是吧对对对对是的 然后后来的话就是当时我们会发现说这个混合助力其实在工程上是一个百分之二work的方法我觉得其实没有问题当然其实直到今天work的也还是不错嘛当然了对于一个博士上来讲就是这个东西就是虽然他比较work大家也愿意去说但是那这个东西从脑体上其实感觉就差点意思而且感觉也不够有趣因为当时我们觉得就是如果只是把这两种混合注意力模型结合起来的话他有这么几个问题我觉得最大的问题就是他在推理的 加速比它永远是和混合比是正交的或者说也不是正交就是完全成正比例的因为现在比如大家比较常用的是混合注意力比全注意力大概是3比1这样的一个比例也就是全注意力然后在整个模型里大概是1⁴这样的一个比例所以说如果说我们认为就1⁴是一个比较无损的也是一个比较极限的比例的话其实我们很拿到更大的加速比也就是说我们无论是Profile还是做抵扣的
我们最多的加速比也就是4倍当然我们在做纯线运性注意力的时候我们希望是更高的我们希望最后如果混合注意力它其实只是一个常数级别的改进所以当时觉得可能不是很有意思所以我们后来就做了优扣这样的一个工作对 当时我们的一个模特变设就是我们从第一性原理去思考为什么纯线运助理没有办法获得和纯权助理一样的性能 原因很简单我们至少期望模型有一些比较基本能力比如说我们至少有一个可以获取钱 全文信息等而已 所以說在這個場景下其實傳上下文的KV開始這一點是沒有辦法去省掉的所以說KV開始既然沒有省掉我們能不能從另一個維度去省掉所以當時我們就覺得既然說從偷看長度這個維度沒有辦法去節省所以說我們找到了另外一條節省的方向就是從層間這樣去節省 所以有口当时做的是一个就是所有层共用一份kp开始这样的一个架构的方式然后另外一个就是从模型的计算角度就每一个token在decode的过程当中对它的计算密度是没有办法去减少的因为我们希望它保持一定的这个权注意力的计算能力然后这样它才能达到我们希望的常常差弯能力所以说我们提出的另一个东西就是我们希望把这个模型的计算和存署结果开来所以说我们当时可以看到就我虽然我们只有一份的kp开始但是我们可以保持一个多层的 符合层层的这样的一个计算结构所以除了在这个技术上我们当时的优可价格就可以就是我们只保留一份的可以开始但是可以获得这个和权注意力或者混合注意力基本上可以等价的一个这个模型的一个计算结果然后这个价格还有另外一个优势就是我们在profile的时候可以直接跳过这个权注意力的计算因为profile它就是比如说也就是模型处理这个用户输入的这样的一个就单
我们本质上只是希望我们可以拿到模型的qvcache然后这个qvcache是用于后续的这个decode的一系列的heated state所以说prefuel的唯一目的就是去达到这个模型的qvcache所以说在这个这种架构上我们经过前面的一些linear-tension的一个计算然后拿到了qvcache 这个就够了因为prefile阶段我们是没有必要就是解码出每一个位置的后续的next token prediction的所以在prefile阶段我们就可以直接不过cross certain但是在底后的阶段我们可以保持和传统模型一样的一个计算能力对 然后这个是我相关的一些第二篇工作这个标题也挺有意思的对 这个也是致敬有only look once当然后来也有后面一系列的致敬的工作你只能缓存一次是吧对 是的 对这个其实在这个从kv开始的存储角度基本上已经达到极致了因为我们都同意的吧如果从tokenwise角度我们必须能保证所的话一份其实就是最少了不可能再少了所以这个从kv开始角度是一个比较极限的一个结构对然后我讲我对Personally我的一个第三天工作就是在这个工作里我们其实解决了就是从一个更通用的角度来去考虑问题的话就是模型的推理开销主要就分为三个部分就是prefuel的这个时间开销然后底后的开销然后和kv开始的存储改销 这三个是最主要的跟模型的推理平均 不可能有第四个Urk这个工作呢我们主要解决的是prefuel和解决的cubecache但是我们没有解决decode然后decode的话我们后续是或者大家会尝试用sparse-tension的方式去解决然后但是k3它其实目前是没有用sparse-tension所以这块对今天就对今天就先不讲了对然后我们后面的一个工作是一个和另一个赛道是一个比较相似的工作就是loop两个人model
陸普蘭規模的顧名思義也就是我們在保持一個固定的模型參數大小的情況下去通過多次迭代來去提升模型的flops從而去提升模型的總的一個能力所以陸普這一系列的工作主要目的就是可以在保持一個比較小的模型參數的技術上然後取得比同參數的模型好更多的一個效果但是其實傳統的陸普蘭規模它 在Decode的情况下 它的成本其实是难以忍受的因为它只是省了模型参数 它其实并没有省计算而且在相同计算下的话 它其实是并不如把参数展开或者说用一个更大的 但是不去loop的模型它最后总的效果好的比较传统的loop来个人帽的其实还有一个问题就是它的推理它的carry catch 它的存储 它会随着这个模型推理的深度而增加所以说最后总的算起来的loop来个人帽所带来的总的carry catch其实是相当大的 然后youco universal的这个工作其实就是在youco价格的基础上然后去做一个位置上的改变也就是我们把loop的单元然后变成一个很efficient的一个单元然后从而去避免推理的时候一些额外的一些或者比较大的成本但是能保持它模型的一个效果比较稳定的一个增长结法也很简单因为对于youco而言毫无疑问它是一个混合注意力架构但是我们混合注意力方式它不是一个交错式的一个结构它是一个 两端那个解构 也就是说我们模型推理的前期它是一个全线性主义力但是模型的后期是一个全注意力这样的一个架构所以说我们的选择是把look这样的一个架构集中在这个线性主义力这样的一个位置然后这样的话我们对整体的QV开始增长是比较小的因为Linear它本身的QV开始其实是微乎其位的然后第二个就是线性主义它不仅省存储它其实也是省了计算在上下文这样的一个场景下它其实
带来的外的计算是相当小的但是虽然他linear attention出带来的attention decode的计算是相当小但是从in general的模型能力上的话它从比如说模型的perplexity或者说从模型的skilling behavior它是可以获得足够接近权注意力的这样的一个模型能力所以说我们这个架构它其实可以达到的一个效果就是从用差不多比如说我们用两倍于原模型的这样一个计算强度我们基本上就会 可以获得两倍左右的一个性能提升 但是我们的模型存储和这个模型的qc还是保持和原模型的一个差不多这样的一个这个推理开箱对 这个是我的一层面工作 然后这边工作是因为去年开始这个loop algorithm model是一个大家比较热议的一个话题 然后我们在这方面然后做了一些探索所以你从23年一开始读博 你的研究方向就一直在架构创新上 对吧对是的而这次 k3他在11m的架构和预讯栈上也做了很多工作这是我们今天来找你来带我们读论文的原因对 是的 因为KIMI linear刚发布诺当时我们其实之间就也有一些讨论然后其实这工作的这个连续性其实还是比较强的包括KIMI linear他其实也是比较远风不动的搬到了k3的一个总的一个合板里边的嘛你为什么一直对架构创新比较感兴趣我觉得两方面吧从个人角度我觉得架构创新比较有意思就是比较好玩 对 因为别的层面的工作的话它其实有工程性的因素会更强一些当然架构创意义它也有一些比如说工程性的因素但是它的工程性主要来源于就是你需要做一些infra上的口底赞但即使是infra上的口底赞其实我们之前也提到了比如说我们提出就是唱口水抗这样的一几段结果它本身其实也是infra层面的一个创意所以我觉得这个事情比较有意思而且它比较能起到一个
四两不前进的效果吧我觉得对于一个博士商业这块是一个相当好的一个这个研究领域当然在在2023年是这样的2026年的话可能价格上新能做的其实是越来越少了这个是其实从个人从面带来的一个考虑然后整个这个领域的角度而言呢我觉得其实全注意力的话他当时是一个非常大的一个平底如果说在这个大规模的这个如果如果大模型推理是大规模的应用的话这是我特意是这个东西是一定可以解决就是一定需要解决而且我们相信是一定可以解决的 所以说在那个时间我们就从整个行业来讲架构创新是对于模型部手员是最重要的事情那我们这次的主题其实是一起来读PIMI K3论文但是你对于这篇论文有很多自己的想法所以你也做了一个不一样的一个分享的结构并不是完全是根据这篇论文展开能不能介绍一下你整体的分享的一个结构和逻辑我一般讲Talk的主要的逻辑就是从它 模型本身比如说从一个论文本身出发当然所有论文都是建立在这些之前无数个这个relative work的基础之上嘛所以我会选一些比如说它一个论文它有几方面的贡献然后它可能一个论文贡献它的背后有一个历史研究者的一个脉络对我一般的风格是会把这个脉络打开然后这样会打到一个效果就是如果只看这篇论文你会知道它是这样做的 但你可能會不太清楚它為什麼這樣做或者說歷史上大家是怎麼做的這為什麼最後達到這個解我覺得比如說從一個比較重要的點展開我覺得從觀眾的角度是一個比較好的學習的方式而這樣的話也會討論的更綜合一些因為如果只是一個點的話它其實我覺得意義是不夠大的當然這塊可能這個模型架構是一個比較多的一個篇幅主要也是因為一個是KIMIKESAN它也做的比較多的一個模型架構本身的創新做的
另一个就是模型价格这一块它也研究的脉络它其实是相当清晰的而且它每一个部分它其实都有一些比较固定的一个credit我们可以拆上一个一个点然后把大家去讲出来当然后面也会有一些关于info的那种因为现在其实都是比较依赖info和模型价格的和codedam所以这两块它其实是密不可分的别的一些比如说played train data的话但是大家肯定都是一个比较密密的状态paper里也没有写的对我也不会讲paper除了公开内容以外的一些东西所以这块可能就会设列的少一些 你的裸鏈結構讓我感覺到其實我們最後看到的是K3的一個呈現但其實它是有很多人的credit它不只是KIMI一家公司對吧這也是現在做Frontier這些模型的一個有意思的地方它要吸收很多之前其他人的工作然後我們也把credit都給到大家我們這篇講解就是除了你能理解K3也能理解它是怎麼來的對吧對是的我覺得 做一个公司比较科学的方式就如果你最后想把这个模型做好你肯定是几百家之长嘛当然说如果说比如说你只想用自己的工作那这样可能就是没有必要了如果是基于这样的目的去做工作那可能你就会错过一些别人一些做的比较好的工作因为无论如何整个行业都是由大家集体推动的嘛所以我觉得这个也是KIMIKI 3一个比较好的一个点它其实我觉得包括它之前的一些paper也是这样的我觉得比较客观或者比较真实的把前任一些工作用一个比较 可靠的方式去引出来不会说想办法去削热这个之前一些人的贡献我觉得这个其实是他做的也比较好的一个点所以我们这次是从K线出发然后其实串联起了不管是十几篇论文也好还是技术报告也好还是比如说苏建宁老师的国课也好就是是有很多的那种那我很期待我们开始吧好
QBK3从前面它的一个主要的卖点来说的话它其实主打的是一些我觉得从几个方面它有一个比较大的一个囊阔首先它受了它的一些结果这个结果特别好而且这些数目都摆在这里其实也没有太多可以解读的然后为什么能达到这样的一个结果然后QBK3主要claim的是 三个维度的一个scaling然后当然我觉得最重要的还是说模型大小的一个scaling就是它做到了一个2.8T这样的一个模型大小而且它是一个比较有效的一个scaling的结果什么叫无效呢无效的scaling我今天就可以给你了我晚上回去的起一个这个2.8T的模型unit 我跑个100b的token 然后我就可以放出来 这个显然是无效的所以说这个scaling当然是要永远是建立在有效的基础上PIMI K3就是在这个2.8T这个skill 做了一个有效的scaling然后这个模型参数大小 包括模型的一个激活 它来到了100b 左右这样的一个量级其实在PIMI K3发布的时间点 其实是比国内开源模型的其他几家要大很多 的这样一个情况的然后它另一个扩展是在模型上下文长度的这样一个扩展然后在模型上下文长度这样一个围动它做到了one million这样的一个量级然后one million的话它自然是可以获得更大的上下文的窗口然后去解决更复杂的一个任务 所以说就是从模型总的来看的话我觉得还是遵循一个第一系列里就是更大的模型才有更大的一个智能上限如果别的东西没有做太错的话其实大家可以看到这个模型的参数大小还是解决模型智能最本质的一个参数量当然如果只看Bandmark的话你有无数种方式去达到一个对内或者对外一个满意的结果但是从模型的能力本质上模型的参数大小还是最有效的一个方式而Kimi确参是一个
相当早期或者说相当成功的达到了这样的预览对 然后到这个模型结构 过长节模型结构 长节的话就是KIMI K3其实是综合了KIMI整个团队包括整个业界然后过去一年以来比较重要的一系列的创新K2不一样K2 当时KIMI的法律方向主要是模型skilling本身或者说一些非模型架构的一些创新所以说KIMI K2 当时主要沿用的就是DBC的一个结构但是K3 这块的话,它其实就跟K2大不一样的,Kinect X它本身引入了很多比较新的或者说比较创新的一些设计元素,包括自己的也好,别人的也好,有些比较创新的一些赛品也好或者说比较细节的一些调油也好,它其实这块做了很多比较充足的一些准备,所以从观感上来看,其实跟K2的感觉是很不一样的。
首先的话是hybrid attentionhybrid attention我刚刚也讨论过一些我们可以重新翻回头来然后再从kimi本身它的一个写作的writing来去看起然后这块的话我会先讲一下这个先行注意力的一个在过去三四年以来的一个历史的发展状态因为你如果直接读这个kimi delta attention的话你会发现它的这个公式相当复杂而且说对不同的项然后具体是怎么来的它具体承担什么样的一个作用 如果直接看这个公设的话你会发现它特别特别长比如说比近代的腾审它其实是要合达很多的它其实每一项它背后都有一个历史性的一些因素或者说大家从对整个模型结构探索最后得到的这样的一个结果所以说如果想了解这个KIMI DELTA腾审对这个最后是怎么设计出来的我们还是有必要去探索之前的一些线助力经过了怎样的一个发展阶段然后让我们再回到Restnet 对 这个其实是刚开始我们必不可少的一个这个现实注意力的一个发展的阶段吧因为刚开始这个现实注意力非常非常简单我们就是这个TV层出来得到一个外籍然后把它加起来对 刚开始的现实注意力其实比refnet还要更简单然后refnet在这个现实注意力的基础上的然后我们引入了一个衰减像然后这个衰减是跟token的位置是有关的然后这样的话就把这个linear团圣从一个比较position invariant的这样的一个 角度从位置无关然后不让它变上了一个位置有关然后位置有关最主要的方式的一个就是我们可以加Rope的吧另一个就是我们可以游出摔检像因为无论如何语言的特性它就是更近的位置它有更高的一个前众所以说如果我们在一个有限的上下方理想达到更好的结果摔检这项其实是必不可少的所以说这块是这个现役助理比较前期的一个经验吧然后这个摔检像所有工作基本上都保持住了然后另一个主要的这个影响就是昌克瑞康的这样的一个计算形式
对 因为如果我们只是做一些偏学术性的研究或者说只是发paper的话其实从Colonelize的一个足够高的一个有效率其实是大家不会从一个比较刚开始就比较强调一个是我们主要发现的我们完全使用这个地规的这样的一个形式计算它其实特别慢 甚至比在训练广中甚至直接要比Pirallel Remplitation就类似全数一厘这样的一个计算方式它还要买但如果我们直接用这种Pirallel Remplitation就感觉十分傻逼对 因为 对 因为我们在训练之后相当于完全没有享受到这个线性注意力的收益它跟全注意力的这个计算墙都是一模一样的 甚至还要更高的因为它可能有一些别的处理或者说我们的这个壳斗鞋的鞋的没有flash的层面好 这些都是有可能的所以说我们当时觉得 无论如何呢我们都要找到一个比较可靠的一个计算pattern让它足够发挥这批误会的能力的同时 然后享受到一个复杂度的一个加速所以当时我们就做了这样的一个事情 然后Restnet之后呢 我有两个比较重要的一个节点在这我觉得一个是Mamba 当时是把这个位置无关的衰减 变成了这个位置有关的是一个衰减然后接下来就是DeltaNet DeltaNet的话当然这个概念不是宋林去提的 当时是这个DeltaNet是之前的一个工作然后宋林是在这个DeltaNet的基础上呢 引入了就是开发了一个 突然东德瑞的其实就一句话就是如何能让这个delta.net转化为一个GPU可计算的一个这个chunk recurrent这样的一个计算模式对 当时宋林去做这方面工作的时候我还稍微有点疑惑我说看上去好像就是delta.net不太可以并行啊他说可以并行 并且他已经搞定了所以说从这个GPU efficiency的角度就是delta.net主要是解决的是infra上的困难而且这个解决方式我觉得还是一个比较本质的一个方式
然后DeltaNet刚出来的时候我们当时尝试去解决就因为当时我们知道这个现行注意力它在处理全上市下文的这样的一个能力场它其实是不如对不如全注意力的所以当时就有两个方案吧第一个方案就是我直接认输我就去认定现在注意力是这个不可能匹敌全注意力的当然可能当时我是这种心态我当时意识到可能从这个现行注意力的这个视角出发是很难去匹敌全注意力的我当时是这个想法 当然宋林是另一个想法 他当然觉得我还可以再努力吧我们可以努力的去提升这个现役主义力本身的一个常下文的容量 从而获得更好的一个节奏然后DownsideNet当时就是这样的一个目的通过这种方式 我们可以获得比之前的这个Ratnite很满满更好的一个常上下文的一个容量的能力本质上其实也就是在相同的这个KV开始大小的情况下就是从上网上提高了这个现役主义力的一个上下文的容量 当时DeltaNet是没有做这个位置衰减的,当时从Propelacity或者说从BansheeMark上它的结果不是特别好,所以说一个比较显然的事情就是既然我们知道这个位置衰减这个事情,本身是可以帮助这个模型总的一个能力的,那我为什么不把这个模型衰减,然后和DeltaNet这样一个更高容量的Linux产生结合起来?
get的delta.data的正式这么做的我们可以去结合delta.root这样的一个更高的一个线性注意力的计算容量然后同时我们给它带来一个衰减然后同时融合这两个我们就可以得到一个更优的线性注意力的一个表达形式 然后这里就可以看到如果没有AlphaT这项的话它其实就是一个比较经典的DeltaNet然后引入衰点的引入衰点之后的话我们就可以得到gettedDeltaNet这样的一个形式然后大家就可以注意到这个表达形式其实可以其实已经比刚开始的现录率要复杂很多了对因为如果把这项如果把这个st-e后面的一个系数完全消掉的话其实就是最紧点的Linear Tension 然后Rescent和Members是把这项晓得到一个结果就是我对上一个时间点的历史状态进行一个衰减然后这样的话是之前的Rescent和Members这样的一个结果然后DeltaNet它是引入了一个Gate Delta root这样的一个方案然后从写成地位形式的话它其实就额外再增加了一项然后这样的复杂度其实就慢慢的去叠加了上去我们再回到Kimini它其实在Gate DeltaNet的基础上 又变了一个东西,然后大家可以去对比一下这个设计是怎么引入的,主要的区别它其实就在这个衰减向上,比如说在Ratn的,然后mabatoo和geteddelta入的情况下的,当然了就是线性这个注意力是分hide的嘛,所以说一般的线理助力也是分hide的,但我们一般写的,但我们一般写公式的话,我们会考虑只有一个hide的情况,所以说如果只有一个hide的话,geteddelta.net也好,然后之前的工作也好,它其实这个衰减上它其实是一个标辆。
所以它是一个标准解就是说我整个一个hide它遵循的衰减系数是一致的然后这样的好处是它在cernel上比较容易就是写cernel比较方便因为衰减像它本身想做一个比较好的一个对如果说你如果把这个decay拆成gurlify的形式的话我们再去写cernel的话它其实是一个不太好处理的一个项这个是出于写cernel方面 然後從這個模型能力方面當然我們務用疑問就是我們把一個標量的衰減然後變成ChannelWise衰減它嚴格的來說是能力更強的對然後KIMI Delta的層層它其實就是把這個PT的DeltaNet的這個衰減項然後從一個標量然後變成了一個更Fan Green Control這樣的一個量然後這樣的話它就可以帶來就是每個Channel可以的衰減系數是不一樣的這樣的話我們這樣可以帶來一個嚴格更好的一個能力的上限對吧因為從功能上來講它是嚴格更好的無論如何這個ChannelWise的Decay它是 可以退化到一个比较均匀的DK的这样一个严格更强的一个模型能力呢它会带来一些更好的效果当然了就是对于KIMI DELTA的谈生来说一个更强的模型能力它其实是有一些代价的它的代价就是它写kernel会更麻烦一些它的麻烦的点就在于说我们不能说我们作为一个这个DK代表我们其他部分可以用一个比较方便的方式去做这个去利用贪测号来进行计算 如果是一个标凉的衰减像的话它的处理会特别特别容易它其实一个tile就只有一个变量就完事了但是如果把它从标凉变成一个channel wise的话对它的处理难度就会增加很多然后这样的一个处理难度也会带来这个在kimik3里边一个更细节的一个code design的一个处理这样的话我们就来到了这个lower bound D的dk就为什么有这个东西两方面的原因一方面就是我们可以认为的从上网层面我们希望它不要dk的太快
但是从Paper本事而言的话,它其实是为了和Curnal来进行一个扣理赞原因在于说,我们想去处理更FindGrain的DK的话我们需要在这个数值上做一个比较巧妙的处理也就是对于Q和K而言,我们会做一个DK的倒数的一个变换我可以举个例子吧,最简单的例子就是-2可以表示为3.5嘛这个其实也跟Rope的思想是比较一致的 Rof的其实在这个infra上一个特别方便的地方就是它可以通过这个绝对位置变换来去表示相对位置变换所以如果在这个情况下它整个的一个计算会容易很多 然后肉谱它的速度其实就是用绝对位置来去表示相对位置所以说对于衰减而言它其实也可以用绝对位置来去表示相对位置也就是说比如说没有一个衰减像它比如说它是一个alpha的平方 对吧alpha的平方这样的一个衰减像当然这个衰减像可能是第零个token对第二个token或者说第100个token对102个token 所以说我们如果想用绝对位置的话我们就会选择让q先做一个比较大的一个衰减然后让k就往上提升的一个比较大比如也就是说我让k的又做一个这个三四方的一个衰减的提升然后让k的话做一个比如说五四方的一个反衰减然后这样的话我通过这个惩罚结合率我们就可以得出和原来的帝规一个比较等价的形式然后这样就带来一个问题对于这个KIME Delta Tension来说的话它会对qk它有一边它会除一个很小的数 對成一個很小的數可能沒有關係它無非就是dk到0它並不會帶來這個當然我們也不希望它dk到0但是從數值經度上來講的話我們希望讓它控制在BF16的經度範圍內這樣利用Rope那種絕對位置來表示相對位置編碼的這樣的一個方式它才是有效的所以說為了讓衰減在一定的倡可範圍內然後控制在BF16的就在一個固定的倡可內部讓它控制在一定的經度範圍內的話我們是需要從數學上
把他控制住的 比如说KIMI-LEE那他这块是一个 他这个是一个16个token太后我们就希望这个衰减的 在这16个token的软件里面不要超出这个bf16的这样的一个范围当然bf16的精度范围 这个是我们已知的我们可以通过这个bf16的精度范围 然后反解出来在16个token的这样的一个缺陷内 然后我们最多可以衰减到多大的量然后KIMI-DELTA的陈沈 他就大概选了这样的一个量 这块我们可以去证明说就在16个token的tile里我们是可以这个衰渐像是不超出bf16的dynamic range这块的这个lower down body的dk它更像是一种code design然后我们通过这个模型算法层面的一些控制对然后让它获得就是在一定tile的内部然后不要让它有数值方面的问题这样的话整个carnalized的一个方式会更加的去同涨当然了如果不去限制这carnal肯定也有自己的写法当然了那种写法可能就会低效一些所以说为了保证一个高效的实现 KIMI Delta Tension 採用了在一定的Telchunk內然後控制它最大的一個吸收就篩檢程度這樣的一個方式然後KIMI Delta Tension大概就是這樣的其實拖到東瑞的也很簡單第一個就是我們KIMI Delta Tension把GDN這樣的一個計算方式擴展了一下它的計算能力然後為了擴展的計算能力帶來的一些額外的音符上的麻煩 然后他们在模型的表达范围内采取了一些阵值 让它满足Colonize的一个方式 然后最后得到了Kimi Q3采用的最后的一个形式ok 下一个环节是Gate的MLV顾名思义 它就是把两个对 把两块的模型结合了起来MLV可能大家都很熟悉了 对 是DPSK V2刚开始去用的 主要目的是就是
对 主要目的是减少一些可以开始的一个开销然后MLA的这个配置呢后面主要是被这个DPC个V3和KIMI-K2的时候去采用的当然DPC个V4没有用因为KIMI-K2也用了然后KIMI的同学们认为就是MLA如果在这个权注意力这样的一个scope内部大家觉得至少还是一个可以接受的一个形式或者说没有必要去大动的一个形式所以说这个K3还是采用了跟K2一样的这样的一个形式 然后在这个MLD基础上呢增加了一个gaited这样的一个操作然后gaited的tension呢最早应该是Chamon团队刚开始去用的对的然后从Chamon这个团队的标题也可以看出来就gaitedtension它当时主要是解决的哪些问题比如说这个long linearity然后gaitedtension可以带来额外的一个计算的一个强度然后sparsity和tension sync free然后这个东西可能并不是那么显然这个就得具体看它的一个 Paper但是Whatever我覺得Delta是大家最白硬的一個點就是它的一個訓練穩定性而且這個訓練穩定性它是一個我覺得是一個被廣泛員認過的這樣的一個形式大家可以從前面這個進來圖裡可以去看到對於一個Pretruin的Round而言我們還是希望它越勇越好從模型能力上如果不是最優的但也沒有關係因為模型的能力其實本質上最主要的因素是模型的參數大小 所以说好一点 差一点 它都不如稳定性要重要因为如果稳定性不好的话 它会带来很多麻烦的问题甚至比较大的问题就是你整个Round of information不能来 然后你前边整个的拆盘都废掉了我觉得对于任何团队而言都是不可以接受的所以说如果说一个方法能比较有效的去提升模型的稳定性这个还是一个大家比较愿意采用的一个技术吧
然后前面的txt的层层的前面3应该是没有用后来的前面next包括前面3.53.6应该都采用了这样的一个架构虽然它会带来一定的额外的计算开要但是它会对模型的稳定性会带来特别大的一个好处然后这个是之前前面层的一个工作 前面是在这个Gateway上引入的嘛,对,但这个设计它其实无论是你跟这个东西是跟Gateway或者说MLA它本身是一个的正交的一个设计方式,所以说就CMK3把这块对这块做了一个结合就把Gateway的谈认的这样的一个这个稳定性的一个方式引入到MLA当中 然后这样的话他本身也不会破坏这个MLA本身的一个推理性的同时可以提升这个模型的一个模型的一个生产稳定性为什么V4没有再继续沿用MLA了呀对因为他们有别的东西了吗你觉得MLA在未来还会成为一个共识吗因为我记得鲁夫利之前跟我说过他觉得在A正时代MLA应该会被替代觉得MLA在未来会成为共识吗 我们相同技术上讲MLA它本身就是MQA的一个等价的形式所以说MLA其实本质上并没有带来新的东西它只是一个更好的随道大家其实没有发现的一点就是如果大家想把MLA用好的话它其实想达到相同的一个计算效果它其实会增加更多的腾认的计算去弥补这方面的一个损失所以说我个人认为就是MLA主要拿到的收益其实是可以被更好的JQA的参数设计基本上是可以拿到最大多数的收益的 为什么Deepseq没有继续沿用MLA?对,因为MLA这样的一个转化形式,因为Deepseq V4它主要推Sparse了,Sparse跟MLA它其实不是一个100%建议的东西,尤其是在这个die profile阶段,而且他们其实是用了这个MLA的等价的MQA形式,因为从数学上来讲,MLA它本质上就是一个大号的MQA,所以Deepseq V4用的是一个大号的MQA,我觉得本质上区别不是很大的。
罗弗利当时是在VR flash里面采许的是MTP他觉得MLA对CHAT来说是一个优秀的模型结构但是他觉得不那么适合ACEN的方式MLA在设计之初为了达到很好的仿存和计算的比例在当时的H系列芯片上实现吉布朗菲算力又打破仿存瓶颈是在这个架构时下设计的如果发现计算剩余的实在太多了他觉得MTP能够更有效的能够利用起来 对,这个其实是一个比较reasonable的一个点,就是MLA在推理就当,它的计算其实是大大浪费掉,从它的计算是远大于它实际的这个降不能力的。
对,所以说对于计算而言的话,它这块是有一定的浪费。Loafley可能主要讨论点就是就这种计算模式,它跟MTP的收益它不是正调的,甚至它可能是一个互相缓冲的,因为MTP本质上就是用更多的token同时去计算,然后在memory bound的这样一个条件下,然后主要逐渐往就提高这个compute bound的方向去推,所以说对于MLA和MTP的这个加速比较大的检想,我觉得它从来也没有失控时,它只是一个选择。
但K3這邊起碼還選擇繼續沿用的是MLA我覺得K3是reasonable的因為K2當時主要是follow deep seek嘛他們當時的選擇是先不做模型架構的創新先把結果跑出來然後如果從K2到K3的話這塊我覺得對一個從工程或者說從組織管理上能跑的東西就不要動就如果MLA它不是一個特別大的問題呢可能就暫時不會動但我覺得未來也不一定我覺得這塊我覺得是一個比較讚態的一個狀態 当然了MLA也不是这个没有好处嘛所以说我觉得这个都还好所以它是加强了MLA的可控性对的Gate它主要是提升了MLA本身的训练稳定性这块跟MLA是正雕的就是任何任何错团成其实都可以用的我们现在讲到2.2对吧对2.2就是团成水赋肉团成水赋肉其实当时还挺火的但是其实如果从follow 团成水赋肉这样的一个研究milo来讲的话我反而会认为hypercollection我觉得是一个相当好的一个工作 对 have a connection是很早以前 seed 团队去提出的对这块主要讨论的就是在一个比较深度的模型当中的一个深层到浅层的一个连接方式对 如果我们再仔细去考虑问题的话对吧因为它叫attention-recedon对吧这个本质上跟 resnet 其实都有一个比较深刻的一个连接关系resnet 它本身解决的就是这个模型能力在这个模型参入增长的情况它至少可以达到一个不退化的一个效果对吧包括从稳定性角度它其实也是 对 或者他其实无论是从模型稳定性和模型能力上他就是resnet 本质上都会比之前的一些工作有本质性的提升吧不过这个大家都很熟悉了然后大家其实没有注意到的是resnet他其实是有两个版本的他一个是CVPR的版本然后一个是那个ICCV的版本其实是在resnet那个时代台名就已经讨论过就是praylarm和praylarm和训练稳定性的这样的一个关系了然后其实而这个其实也可以追溯到这个比如在Burnt时代就是Burnt时代他其实
大家还是会更常用PostLearnum大家在本时代会觉得PostLearnum它的结果可能会稍微好一些但是在模型增大的效果在模型逐渐增大的这个情况下呢大家会发现PostLearnum它有这个T度消失的问题或者说有训练不够稳定的问题所以大家后面就会逐渐的去采取PrayLearnum对这样的一个残差连接的手段然后我TenredeCycle它其实苏建宁讨论过这样的观点就是TenredeCycle它绝对不是是个 praylernum到另外一个lernum摆放方式的一个区别这样的话它其实这个风险是很大的因为它会有如果说你一旦触及了posterlernumlernum之前的问题的话对 整个大都 wrong 大家肯定是不敢上的所以说Tenredero当时强调的就是它一定是praylernum一个超级就是它至少是可以退化到praylernum它是严格的是比praylernum更强的一个结果然后这块主要就是简单讨论一下recedo这条研究线 呃,这之前大概是怎么来的呃,对,然后have connection我觉得这个工作是相当有意思的,其实我觉得,就是无论是这个tmc 后来做的改进也好和细致也好本账都是其实都是从这篇工作来的,他主要讨论的一个点就是如何就是我们在这个pray learn那么的基础上如何去增加模型残杀的容量从而去提升模型能力的一个表达能力 當然了這個我之前也跟這個hyperconnection這個一座的同學交流過我說我覺得這個工作本身從技術上還是很好的但是他一個最大問題就是他paper寫的太抽象了不太容易讀hyperconnection我覺得本質上就可以說一句話就是我們在recedo的這個分支上去用比模型hidden state的更大的一個容量然後來去這個表示這個模型在這個模型推理深度上的一個狀態所以說如果我們有更大的容量它一定是有更好的一個效果的我覺得hyperconnection它其實我覺得從我的思想上是相當簡潔的
对 但是这个paper 呈现形式可能相对复杂的一点所以说当时这个工作其实没有出圈可能只是一个比较对大家做架构或者说技术层面的一些同学去了解的但是后来这个mhc可能就比hc本身要要活了很多但我觉得最重要的一言意还是当时这个mhc是dbc个体的我觉得可能没有别的原因所以说在还不是可拉比胜之后的话就是大家会尝试去从模型本身的一个连接方式来将去提升模型能力 因为从hyperconnection 包括RaceAzure它一个比较好的点就是它对于推理来说基本是免费的也就是说对在模型的influence阶段它其实几乎不会增加任何的推理开销它就可以拿到对更好的一个模型结构这个其实是大家这个喜闻乐见的对因为如果一旦涉及到对一旦涉及到我们通过更慢的一个实现也好更慢的模型架构设计也好取得模型更好的表现那这块就带来一个自然的水道火就是我为什么不能去扩和更大的size 这样还简单一些所以说一切比如说通过这个更慢的模型实现的去提升模型效果的话其实都是会被 fully question的或者甚至说对于一些保守的或者说不是自己提的就是可能大家就会愿意去用对于这种模型设计它可能在推理阶段是几乎免费的这样的话大家上的时候没有什么压力而且它其实是和这个模型参数本身的提升它其实并不是一个重要的一个状态对然后他不是connection最后一度的话其实还有一个比较绕不过的就是 death net Dancenet这个是一个更早的一个工作了,就是他是对,他是黄高老师在那个Racinet之后他其实是一个连接方式,Dancenet其实和Tenric Seedle他其实在思想上是一个相当密切的一个方式,对,只不过在Dancenet时代他其实是因为Racidle他其实只是一个层和层之间的一个连接方式,但Dancenet他其实是在深层要去看这个所有潜层的状态,然后再把它聚合起来的这样的一个方式。
只不过就是其实在dansnet时代因为那个时代其实没有attention或者说大家也没有过度重视attention本身的一个能力所以dansnet里边主要是一个大的linear来去把这之前所有的这个对之前所有的黑那些的然后聚合到一起的对然后到attention时代去吧其实dansnet它的那个对它那个实现其实本身是不快的对因为它的这中间对于这个连接方面的它会带来一些大量的额外的计算但是到了这个attention时代的话大家会其实发现就我们可以把这个dansnet里边 一些比较highweight的部件 然后变成更lightweight的部件 然后这样的话就诞生了Tenrecyl 这样的一个工作Tenrecyl 它最大的优势就是它其实比DustNet 它是一个更对 它其实一个更efficient的架构我们可以通过一些更深层次的infrared code design比如说用block tenre的方式去节偶调整个模型的深度 因为如果只是权术一例的话他上层会跟底下所有层来去进行交货这个其实也是之前的一个比较大的问题就是模型越深他这块的overhead其实越不可厚烈然后block tension的话在这块做了一个解偶所以说它整体一方面是tension它本身的计算比较lightweight然后第二方面就是它解偶的深度所以最后总的看起来它其实就一个比较零小但是一个能接视的去提升模型能力这样的一个组件
然后这块它们对这块可以看一些这个skilling的一个结果就block对block ten recidio因为它结果的深度它严格来说表达能力肯定是不如负我ten recidio好的对但是这块大家claim的点就是它其实并没有损失太多能力而且对于bassline来说它是一个比较显著的一个状态对然后ten recidio这块应该主要就是上一个技术paper里讲的然后k3这块应该没有做太多特殊的处理 然后这块大家就是这样的一个情况你刚才讲的这几个你觉得哪个创新心是最强烈其实我更喜欢杜丹斯娜特和凯布克拉克森 因为DanceNet它是一个相当早的工作就是因为在那个时代其实大家考虑这个连接的问题我觉得本质上它认识这种考虑的问题其实DanceNet都考虑到了只不过当时没有Tension而已然后Hyperconnection的话其实它相当于是在传从本时代重新把这个东西带了回来然后让大家在这个连接方式上重新去讨论如何有一个更强的连接方式从而去提升模型的性能我觉得后面的工作当然会有一些扣体赞或者说有一些模型稳定性的问题但我觉得大的框架其实是之前的工作已经定好的OK 然后moe应该是年初的因为答他们一个团队去提出的对 我觉得这块我觉得一个比较大的一个我觉得一个比较大的好事就是包括大家如果熟悉这个deep sick v3的同学其实都知道训练moe其他其实无论从这个模型的稳定性或者训练方式包括从英法上它其实就是一个很大的挑战的然后最大的挑战就是这个moe的auto dispatch其实在ep的情况下它的这个overhead是相当大的
也就是为了解决这个问题然后我们不得不引入DPP这样一个比较高优化的一个通信的通信户的方式从而去降低这个Auto out的这样的一个开销包括其实不同的Auto out的不孔的moe的设计价格方式它不仅影响了芒兴价格本人它甚至影响了底层不同的infra的一些设计选型这个之后后面会在这个infra那块会做一个更多的讨论但是Latein的moe这个它其实本质上的东西就在于说我们是否可以把这个Auto out dispatch 这块的开销来去减小因为Ultral Dispatch这块的话我们需要把这个Headset分发到各个专家卡上而且这个通信量它是会随着Expert激活的数量和这个模型Headset的大小来去并行的去增长的对 然后Lintet MOU它的思想就是我们是否可以把这个把通信量减少的同时来去保持模型的这样的一个表达能力然后Lintet MOU的方式就是我们把Dispatch的这样的一个Headset减小它可能减小2倍减少4倍这样的一个量 当然了 如果我们直接去减小他的黑暗达妹胜 他后面的模型的这个moe的材质量可能就会随之争奖 为了去弥补这个类型的达妹胜减小的一个材质量的话 这样然后这里边就有两种方式 第一种方式就是提升安排分intermediate的达妹胜 就是通过这个提升安排分本身的一个材质量 然后把之前降的那部分弥补回来 这是一种方式 另一种方式就是我们去进一步去把模型拆碎这样的话我们去用对我们去用更多的experts和更多的激活然后来去弥补这个材质量的这样的一个减少然后最后其实我们可以看下来的当然在音乐达这个paper里它其实结果是更好的其实总的来说就是一句话就是如果一个恰当设计的Late and MOE的一个configuration它其实是可以完全保持这个standard MOE的这样的一个结果的也就是说我们可以在这个模型能力
完全相懂甚至还能好一点的一个contest底下然后来去减小模型的latent去减小模型的同性开销而且同性开销其实在同性和在训练和推理中是不一样的训练因为我们主要优化的是throughput我们可以用一些overlap的手段然后来去把同性这部分去弥补掉对于infrast latency来讲尽管我们可以用一些手段来去掩盖同性开销但是这个时间它是避免不了的 因为它整体是在critical path上所以说对于模型推理跟latency来说通性开销它还是一个相当不可忽略的一个点所以说其实从模型的Efficiency上来讲推理的收益其实是比训练的收益要大的当然训练也有一定的收益所以说如果说latency mv不是一个推到复就是我们不需要去三分号牺牲模型的表达能力来去降低通性它其实还是一个free launch或者类似free launch的这样的一个结构 对,所以说KIMI K3其实是follow的这样的一个结构当然了,在Latest Armoury之上的话,还有一些比较细节的一个改进然后针对这样的一个比较细节的改进呢,我们可以讨论一个比较经典的问题就是说起来也很简单,就是两个矩阵连成这是一个非常非常基本的单元,就两个矩阵连成,其实在模型表达能力上是水标的对,因为两个矩阵连成严格的是可以和变到一个的 但是优化性质上其实是并不是这样的 就是两个矩阵连成经常会出现这个模型训练不稳定的问题所以说两个矩阵连成一般中间就会用一些这个搭配一些稳定性的手段然后来去弥补这样的一个事情这个设想其实在这个mla里也是出现过的因为mla本质上也是就是先做一个local reaction的投影然后再把它打回来它其实本质上也是两个linear连成的一个方式 然后
两个零零零零成中间的话 一般会采取一个Normalization的一个方式 然后把中间的headstay的控制住 从而那个提升模型整体训练的一个问题所以这是突然don't read的 就是很简单 就是一般来说就是模型在模型架构的设计的当中呢 如果你不得不把两个决认连成拆开来写 而不适合变到一起的话 中间一定要加一个类似Normalization的一个手段 然后这个思想其实在 对 一个是在MLA里有个设计 然后其实这块的linear projection也是类似的道理 规格结底就是linear projection我是先把这个模型模型的head state通过一个linear projection把它压到一个地位的状态 然后我们在这个linear projection的基础上 然后来去进行后面的一些计算 然后当然对于FFM来说 对吧 第一个计算当然也是一个linear projection所以这块其实就会出现两颗linear projection连成的情况 所以这块我们需要一个2ms norm来去控制它 ok 然后下边就是这个c2glu这个设计其实也是一个大家看起来可能对没有那么直观的一个东西然后这个东西其实也跟之前的一些设计是有关系的因为大家其实会发现就是对于大模型训练来说的话就ffn这块的这个mlp它其实中间的headset是一个特别容易一个activation explode这样的一个状态而且这个东西一个是跟优化器有关另一个就是跟模型的精度有关
就在模型进度更低的情况下 中间的这个heating state更容易出现outlier然后为了解决这个问题呢然后jptlss其实刚开始采用了一个特别简单的状态就是把最简单的sv鼓露就是没有帮地的那块直接通过一个clip然后比如说我们设一个clip的值比如说5-10然后就把它clip到这样的一个程度这样的话就是可以从数学上比较严格的可以把这个它的上限控制住然后clip它是一个比较粗暴的状态然后你如果把这个hardclip 然后变成这个soft clip然后你就会比较自然的到摊机打一次这样的一个算子因为摊机打一次它3号就是一个soft clip如果你指定一个下级指令的上级它可以用一个比较平滑的方式比较一个比较平滑的方式让它逼近你希望的一个摄影上级所以从这个角度上来讲我就可以理解为一个clip的一个升级版但这个升级版具体在模型的表达能力上有多大影响我觉得这个是另一回事而且这个肯定是需要具体的实验来去证明的但Whatever我觉得soft clip它还是一个比较安全的一个做法 从switchglue开始 然后首先把一个比较自由的linear projection然后改成了一个Tanjeta HBundit的一个状态 然后另一块的话就是switch因为switchglue它前面就是一个linear的一个结果 然后再加一个switchglue的一个结果嘛这个switch我们又可以拆成这个sigmoid和一个linear projection当然这块它是一个共享width的一个状态 所以c2glue相当于是你把我把所有这个中间可能出现unbounded的一个缓解 然后把它通过一个Tanjeta H的上下界放缩
然后来去绑的住 这样的话就可以把整个mlp中间的一个机会得到一个严格的数学成绩 然后这样会可以用于保持模型的训练为类型当然了 这块我觉得可能还有一些别的concern 比如说我们发现其实如果用命的话 它其实是会更容易出现outlier的进行控制中间的计划值 总不是一个比较错的一个现象 当然如果我说就更容易来要他来这个苏建磊一定会反对他肯定会说对于任何优化器来说他都一定会出现他来因为你从模型架构上是控制不了的所以说如果想严格控制的方法他一定是直接从模型架构下手怎么苏建磊跟你观点不要这个他没有说但我猜到他会这么说 对,因为这个其实之前在KIMI-K2的MuneClip里也做过类似的考论大家如果之前对KIMI-K2或者MuneLite大家如果记得的话,当然就会说就是因为用了Mune油画器,所以QKLogis会更容易去爆炸所以MuneLite它们采用了一种就是对于QK的一个比较特化的一个处理方式然后来去压制模型的Outlier然后在那个时间点,大家就问说为什么?为什么我们之前因为Adams训练的不瞧加这个东西?然后为什么之前的QKLogis都很稳?
就不需要额外的处理 但是没有为什么要特殊处理当然苏建磊就是这么回复的 他就说从严格来说阿戴姆尔也不是完全稳定 然后当时Deepsec为3可能三号也有一些不稳定的现象 当然这个并没有影响模型最终的结果他当时在对于MuneClip的观点就是如果说在没有信赖里有可能出现了一个错落的现象 他严格来说就是容易出现的只不过你可能出现的早晚问题 所以说为了严格的限制这样那个模型的行为还是从这个从模型架构本身去做限制是一个更本质的方案 他当然是这样一个观点 所以说这块他肯定也是这个相同的关联就是我们为什么不直接在architecture上做一些改变然后让他整体的把bundit的限制度就完事了也不需要去纠结更复杂的优化的细节其实我觉得是一个道理所以说我觉得他应该还会这么说对没有是对于k2的一个沿用对吧对对对对这块该相比k2没有做太多的改变没有当时比较严重的问题就是他其实控制不住这个对控制不住中间还active是outlier更早的一个版本他是个更粗方吧他当日连vdk都没有架 所以说这个ModeLight比较率先的就是把Wate Decay这样的一个因素然后首先引入到这个比较大规模的模型训练理然后这样的话其实在这个更长的ROUND里边是可以保持的另外就在KIMI-K2之后它就在这个Wate Decay的这个命理技术上就要额外搞了一个的QA Clip的一个方式然后其实这两个加起来是一个对就是KIMI团队在这个优化器上一个比较完整的工作当然现在其实大家用命的方式比较多了但是大家解决的方式不太一样
比如说你用MLA,你就没有办法去加QQ Naum,因为QQ Naum它是严格可以限制的QQ这块的一个边界的嘛所以说为了去适配MLA和MU的一个结合,所以说当时Kimikato引入了QQ Clip这样的一个操作当然大家可以注意到比如说,比如说Dimpsick V4,然后包括Sephon那些,他们应该都是用了MU,然后在MU的基础上,因为他们都是用的GQ MLA,没有用MLA,所以直接用QQ Naum,它其实是本账是一个更简单的办法,就是程式去控制 就是这个没有带来一个外套outlier这个outlier在QK那边更容易出现的它也一定会在这个MLP这块出现相当于采取了不同的方式就QK那块通过clip也好然后normalization也好然后把它限制住然后在底下MLP这块的话当然会用一些比较更lightweight手段然后kimi现在就是通过这个用设计的一个就一个结构凡数把它放得住就大概就是这样的一个思想下然后quantallbalancing的话这个没有发什么论文是苏建灵在他自己的博客里去讲的 然后Kontel Balancing的话它主要是可以follow到就是之前的这个Lost Free的Routing的方式它主要的控制方法就是它只通过一个BIOS而不是通过一个偏整体的Lost控制方式来去这个解决模型Expert负载均衡的问题的到时候Lost Free大家比较对比较奇怪的一个问题就是它这样的一个BIOS的变量因为这个BIOS的变量它职业决定了这个每个Token它选哪些Experts嘛但这个更新方式三号水是有下达浩克的就是它采取了一个比较起发式的更新方案
来去做这个bass的更新然后这块的话一个问题就是他这个东西他其实没有一个比较严格的一个数学的一个数量表软另一个就是他其实容易和这个主模型的更新对大家一个感觉就是可能没有那么这个偶和当然这个形式还是本身还是可以有work的还不错的 就是在整体work不错的情况下的话其实当时lossfree有几个问题可能是没有完成解决的最主要的问题就是如果在使用lossfree的时候呢大家可能会采取就是模型最最底下几层的一层或者三层的然后都把moyi去了的一个方案主要原因就在于说对lossfree这样的一个控制方案对于底层的模型来说他做work的不是很好正式为lossfree他整体没有做整体的一个核电缆所以他可能会采取一些别的方式然后来去弥补这个模型在大规模训练中碰到的一些问题 对 然后框条Balancing其实是主要是尝试用一个更principle的一个思想然后来去解决模型推理的一个模型按摩域负载稳定性这样的一个问题它本身Lost Free的这个update方式它肯定是就是经过大量的这个调整之后得到了一个如何还不错的一个方案所以它本质上也很简单就是如果你某个增加的话你几乎的多了然后就把BIOS往下砍一点如果每个那个计划的少了就就往上加一点然后之前的Lost Free是一个比较起发式的方案去做嘛 对 然后这个KIMI团队呢用更priceful的一个方案就是我们能不能直接通过一个这个现归的方式直接推导出来就是这个BIOS它应该是长什么样的答案就是这个是可以被推出来的而且推出来的具体的方式也跟之前在Experts的Choice有一定的关系然后最后的话就是KWB经过一系列推导它最后就得到一个一步的一个这个形式也就是说比如说我们对于一步对于一个step内部的一个整体的激活我们是可以求一个BIOS然后这个BIOS
它本身就是一个让模型可以负载均衡的这样的一个方案然后它博客里又写到了为了去避免这个信息泄漏也就是说我们不能让任意一个token然后来去获得其他token的一个信息所以说这个beta并不会在这个downcast step使用而是会在下一步去使用然后这个是中间的Kontel Balanced这样的一个细节苏天灵博客里其实就主要提到的一个优点就是 首先它其实它不需要调参数因为Lost Freight是有一个类似Learning Rate的一个更新的方式的这样的话它其实少了一个参数整体的看起来会更加Principal一些然后第二个有点就是它其实对于附载均衡Balance这样的一个能力它其实是一个更有的一个能力然后它这块的博客就会贴出一个图对于第一层而言就因为其实我刚刚也提到为了这个兼容ModelLost FreightBalance之前大家会把前级层搞成Dancers不用MOD这样的方法然后把这个东西去规避掉 然后如果说对于这种QB这种方式的话其实就没有必要去规避这样的一个问题了其实它其实就可以直接把第一层变的Balancing这个其实可以发现前底层用Lens它其实是一个它其实并不是一个Ground数字上一定要去这么去做的一个方式而是它其实在Loss-free的这样的Connet底下不得不去采用的一个方式 然后其实如果你不采用Lost Free你直接就采用加辅助Lost的发展之后比如说千万MWIT的工作它其实就是采用直接求Lost的发展对第一层也会没有问题所以说这块的话它主要就是可以处理掉之前Lost Free一些比较失效的一些情况当然它不可以提到如果本来S3、SJD就比较work的情况下这个QB它也是比较work的
而且它博客里也可以证明对比较正常的情况它其实是可以推出来说这个QB如果我们不采用直接去军合采用一些T度更新的方案的话它其实是可以和Lost Free做到一个相当等价的一个数学形式的然后这块其实还有一个细节是之前的博客里没有去提及的简单来说就是我们为了去再整个一个batch也因为现在大家大蒙鞋训练一个batch会特别大比如说4M可能都会比较小可能到几十M这样的一个两几 就课币需要在几十million的token之间恰逃取造在一个比例的位数也就是说如果对于一个精确的计算的话我们需要把所有token的所有token的这个计划情况都都存下来其实这个是相当Havid甚至在工程上是不可能的然后当时在博客里提出了一个方案他采取的方案是每个jpu都去做一个local的一个氛围数计算 然后再把不同GPU的分位数计算也不一定是不同GPU了反正就是你得把一个大的batch切碎然后在一个小的batch里然后去求分位数然后这个分位数最后再做一个铺领对 然后KeepinGET3这个payword它这个payword其实是有一些不太一样的一个变化它并不上Token去切唱歌的当然也有可能是我理解错了它其实是对模型的在直语切一个唱歌也就是说比如说对于Sigmoid的结合它一定是0到1之间的 所以说我们就可以在0到1或者说-1到1这样的一个区疆范围内然后切成N个统然后在这个统里边然后去进行histogram的一个统计然后这样的一个统计值这样它有一个好处它可以是一个常数范围的常数量常数的这个存数大条的一个这就可以做的一个计算而且它的这个计算代价会比较不促的实现要高效很多而且它可以比较好的去处理这个就是在大规模的DPEP的这样一个分布式的架构底下
是一个比较容易扩展的一个状态然后这个其实是相当于k3后来放出来的之前在博客里没有去详细讨论的一个技术这个是其实对客币的一个比较必要的一个时间方式规格结底就是奶油的时间它基本上是不可行的所以必须是用一些比如工程的可行的方式然后去把这个比较精确的解决出来然后到2.4了Nation Vision这块对其实没啥好说的它主要讨论的一个点就是是否有必要就用用一个已有的Visual Encoder去做这个VITVisual Encoder的一个说实话 用eO的VIT的话,当然它用eO的微信以后的比如说用seqleaf2这样也比较大规模训练的一个微信以后它的好处就是它你说点的会比较快但是这个QMQ3它中间讨论的一个问题就是如果说直接用这个seqleaf1.0.0.0.0.0.0.0.0的话它的这个模型的不稳定性也会比如直接NATB training它是要来得大的也不一定是模型不稳定性的因为不稳定性它是一个比较相对甚至它不是一个严格被定义的东西只是大家可能会一般会去看gradient norm这样的一个分布 然后中间有一些东西是大家比较考虑的比如说他的坚持多不多然后甚至说他这本身那么大不大这个团队会发现说如果说我们直接房子开始训练可能会多用一些算力但是至少第一个就是他的最后的结果他是不会有损的如果我们经过恰巧的训练他不会带来更差的结果的甚至可能会带来差不多甚至更好的结果对第二个他主要可能一点就是原模型会带来一个更好的兼容性那就会体现在的这个gradient那么会更加稳定
我觉得其实可能有一个类似的观察就是siglib它其实是用adm来去训练的之前大家其实也讨论过一个比较相关的话题就是用adm训练的模型是否能用没有去反定然后反过来就用没有去训练的模型是否用adm去可以是用adm去反定当然最后的结论就是肯定是比较原生的方式它肯定是最好的当然用别的方式的话如果想达到一样好可能就得做一些处理或者说它是有一些限制所以说可能对于kimikiss2而言他们是希望去采用一个全安命用的一个 油画方式这样的话对于模型整体的训练的这个稳定系也好它的兼容性也好是一个更优的状态不过这里我们倒会去讲一下最早那个线性注意力机制的问题吧为什么k3它用的是线性注意力机制它没有用任何的sparse tension就是线性注意力全注意力和sparse tension你可以三选一和三选二就是为什么不用sparse tension我们就会带来一点为什么要用的用了会有什么好处或者说会有什么问题 这个其实一方面是跟模型架构有关 另一方面其实也跟这个模型它每代这个这个gpu硬件的一个feature有关比如说这个dpsc 3.2那种dpsc sparse 一个是这个3.2用的 一个是那个glm5也用的dpsc sparse 称任这样一个架构 其實到最後在Decode裡邊其實加速是特別特別小的原因就在於說Sports球Index這一步它是相當昂貴的而且在Blackwell的硬件的情況下越前進的硬件它其實這個overhead是越大的甚至其實在Decode當中這種Sports攤身的一個方案它其實甚至跟這個富爾攤身並不會帶來一個顯著的加速為了解決這個問題的話當時GLM團隊做了一個工作叫indexcash
他当时的做法就是把这个求解index就是求解哪一部分 哪些token需要算了tension这样的一个计划操作 然后把不同层之间共享了起来比如说每四层 每八层 然后做一个共享只要有用这样的方法 它其实才可以比较有效的去减小这个sparse本身带来的开销只有sparse的tension本身开销足够小的情况下 其实才能带来一些比较客观的一个算法上的一个手艺 然后Sparse Tension这块我们也做了一些相关的功能也大概是一个类似的阶段当然我们做的更极端了我们在优扣的价格上直接取了LibrarySparse Tension的话因为我们之前的KVcatch是万死的所以我们当时采取的方式就直接把Sparse Intax支部也做成万死也就是我们把每层的Intax开销直接分摊到这个所有层上这样的话其实开销就特别特别小这样的话我们才能吃到Sparse Tension本身的一个计算手艺对然后我们再回到KVQ3为什么它不会去采用第一个就是我们认为说每层 都用sparse这样一个比较简易的方案它其实在Blackwell上它的收益是特别小的为了解决这个问题无论是indexcast和我们的解法其实结论都一样就是我们需要把多层的sparse的一个结果然后来去跨层来进行附用然后跨层的方式其实比较简单的方式就是相铃的层去跨然后相铃的层去跨层的话其实对于hybrid的层层就对于现行注意力和全注意力这样interleave的方式的话它其实并不是一个显然的
因为对于这种hybrid的腾认对 它不同腾认 它并不是added它每个腾认中间 它其实隔了很多个现役助理的所以说在隔很多层现役助理的情况下就是这种index的share是否有效加速比是否足够高 这个其实是相当question的然后其实其二个问题就是sparcel的腾认它基本上是没有办法进行from-squared streamline的就是sparcel的腾认 大家现在一般采用的都是Post-train然后从腾认进行转化的一个方式不排除的KMK3可能未来会把遗忧的腾认的部分 然后来去进行这Sparsal腾认证的话当然如果他们用来MLA的话这个会更难一些所以说我觉得主要就两个原因的一个是想拿到11加速笔就是其实对于这个Hybrid腾认证来说是一个能吹过的东西如果想拿11加速笔的话可能需要做更多的事情第二个事情就是他跟Pretrucq他并不是一个比较兼容的状态所以说这个其实留一个接口之后再做也行我刚才讲的这些不管是架构创建还是训练还是推理工程你觉得他中间有哪些吹到没有哪些趋势 我觉得还不是天生他主要的吹道夫就是你要去调节这个现实主力和全球一类的比例嘛就你肯定比例越大就是负责现实主力比例越大他跟你加速比较高呢但是如果你想达到一个偏无损的一个加速状态就是一个比较无损的状态的同时想获得加速然后3比1就是一个比较实验上的一个比较无可的方案 對,這塊其實就是一個主要的一個水道,Sports嚴格來說,它肯定大革律師不會帶來更強的表現能力的,所以這塊其實就是另一回事了。它其實跟Hybrid加購,它其實是另一條線的,只不過說如果你堅持不用Hybrid那你可能就不得不採取一些別的方案。我聽到這裡的感受是,就是現在的模型訓練好像沒有一個巨大的所謂的範圍創新,但是它把之前很多的工作都融合起來,然後再尋找一個可能的更有解。
我不知道这种感受对不对对 我觉得其实问题不大我觉得不完全是技术的原因是为什么的就是因为大家现在都叫闯从门 但什么是闯从门 这个其实是其实是没有办法清晰定义的这个哲学上还有的对应的概念就是太修四只船嘛就是你刚开始2017年这个船刚开始行驶的时候是穿从门对 但是这个船刚开始是怎么拼起来的它是要谭慎加瑞C州这些东西或者说对这些东西拼起来 包括这个 包括Stack Layer这种方式它其实在穿充门之前它其实也并不是一个全新的概念所以说这个船刚建起来的时候我们认为穿充门这个Miles总但是这个船已经行使了八年九年了就在这个船慢慢行使的过程中我们可能会把慢慢的把某些部分换了然后其实我们现在看到2020年其实跟穿充门已经一样我觉得像素已经很低很低了你是不是还把这个东西叫做穿充门当然这个是哲学上的一个问题但是其实从现在大家来看的话 大家还是会叫 但是我觉得如果说历史的走向如果有些不同的变化的话可能也就不叫了我们上面讲的这些你觉得还总体来说是一个什么样的工作我觉得这个东西很难定义因为首先他跟你有头发他是一个偏综合心的工作他严格来说就是一般大家会把比较有创意性的单点头发会专门拿出来去专门去做讨论其实之前也考虑过之前也专门讨论过来然后中间其实比较大的就几点第一个就是注意力怎么设计这个这个这个是一个点 第二个就是MV这块的吧 有没有一些更好的设计然后第三个是优化器然后第四个可能就是中间的一些连接方式这个其实专门这个其实比如说你放到这个你放到Rusnet时代其实这些单拿出来它可能就是一个架构了对对对 我觉得在Rusnet时代它肯定是这样的就但是其实在传送门的时代它可能并不是这样的但是你可能你把这个东西综合起来它可能你最后再把它跑出来它才有意义因为之前大家做架构比如说大家在这个email.net上跑这个足够高的它其实就是一个mouse动物
但是大家在这个时代你想把这个实际的东西跑出来你的要做的东西就特别特别多了你得做这个scaling的验证然后你得把这个各个工程东西搞定你得把data搞定然后把这些东西都搞定然后你把这个paper或者说你把这个价格卖出来大家才会白影当然我就从研究方面我觉得我personally我是不会太去关注的因为我觉得价格的验证它是有一个我觉得是有严格的标准的或者说不需要把这个这些东西卡出来一起但是我觉得从非技术角度它现在是一个这样的状态 所以上面是拼命这篇论文的一些亮点的突破 对吧然后接下来还开始讲他的预训联合后训练的工作对 我觉得价格方面就快相比K2的吧 至少不一样的吧 也不一定较创新的吧有些较创新 有些较这个比较偏调调的部分 我觉得还是比之前大不一样的你觉得为什么可以2到K3变化这么大我觉得是个战略的问题 其实K2在那个时间点他们也可以不一样只不过他们当时主要的重心是把模型跑出来 所以在K2到K3这个中间他们有更多的时间去做了很多的优化调整我就主要是K2它本身是做的不错的包括K2大家当时他们主要考虑的问题比如说怎么把命运出来怎么有效的把模型skill上去因为当时K2就是one trillion嘛其实当时one trillion的话还是比之前的比如说比DeepSakeV3还是要大一些的其实在那个时间应该也是一个比较相当大的一个模型了嘛所以当时他们解决的是这样的一个问题先把BassModel整体的一个排斑来做稳
然后在这个本的基础上的话的然后后来这个k3然后再去追求一些这个更因求金的一个优化你从上面的这些亮点工作就是这是最后的结果吗你反推你能看出这个团队的整体的状态是什么样的我觉得看怎么去定义对于不同团队定义是不一样的如果只是kimi的这个价格团队或者一训练团队对我觉得没什么变化就是我觉得一直就是一个样子但是对于整体公司而言还是有这个战略性的特征的 我觉得策论点就是KL 但是KV团队主要的诉求还是把这个BaseModel这个东西做稳就是先把能力做出来就然后先不去考虑这个更高的Efficiency也好更精一求精的创新也好当然了他们团队内部内部是一直在做的只不过你看是你什么时候这个晾出来就是研究工作是一个更长期的工作他可能要看放在哪个模型里跟他一起结合对对对好的那接下来我们是预设对接下来后面其实就是一些对 因为Protrusion和Protrusion的话首先Protrusion它是一个偏工程或者说偏具体的场景的一个东西这块可能就不会讲太多因为它也没有写太多然后Protrusion和Protrusion的话我觉得主要是一些经验性或者说一些能耗的东西主要的场景可能是前面多一些对然后中间会有一些比较我觉得比较有意思可以讨论的点我觉得我会上面拿出来去讨论后面主要的风格会是这样的 然后我们就一个一个来skill out的话,我觉得一个比较值得讨论的眼就是用哪样的Learning Weights策略,因为Learning Weights策略的话,其实刚开始就是mini-cpm当时那个paper-t出的WSD,mini-cpm之后,qmini-cpm之前我觉得几乎可能所有团队都会都在用的WSD的一个优化器,因为这样的优化器我们可以去学习mini-cpm当时他们是怎么去考虑这个问题的。
简单来说就是WST考虑的一个问题就是我们如何能把这个data schedule和这个learning schedule结合起来首先这个mini-cfm刚开始讨论的问题就是WST然后和这个考参的dk是可以取得一个比较相近的结果比如说我们从一个更高的学期率到一个更低的学期率中间怎么去调配它最后的结果其实是影响是没有那么大的 所以在这种情况下这个密CPM的团队这个工作的认为说中加具体的这个DK的方式对结果不是影响特别大的所以既然具体DK的方式对最后的结果影响没有那么大然后这块我们就可以跟data拍拍一些联动的方案因为在实际训练中我们还是会发现的包括在这个图里我们可以看到就是在DK阶段的话这个模型 Loss的这个衰减速度还是比这个大的这个学习率稳步去跑它的这个Learning rate的下就是Loss的这个下降速度还是会大很多的所以说就是之前大家会认为cool down这个阶段它其实是模型学习最快的一个阶段所以说的这个mini-cfm当时采用的策略就是既然cool down这个阶段是模型学习最快的状态那我们为什么不把更多的这个更好的数据然后去放在这个cool down这个阶段然后来去做训练这样的话可能会 取得比所有data均衡分布然后所有learnrate schedule也均衡分布然后可以取得一个更好的效果然后这个是当时mini-cpm 包括wsd提出的这样的一个背景我觉得这个还是挺有意思的我觉得一方面它讨论了一个non-travel的问题就是为什么我们要采取不同的learnrate decay的方式然后learnrate decay一个是为什么要这么去做的吧另一个就是它 decay的不同阶段它具体承担什么样的一个肉
然后他们利用这个不同Learning Rate Decay阶段的一个行为然后跟这个data的具体策略然后来去结合这样 最后可以取得一个更好的一个结果然后KIMI K3这块的话其实他们讨论了一个不太一样的事情就是他们为什么不去用WSD的这样一个结果然后这个其实在WSD之后的一些paper里也是可以去讨论到的 因为WSD它除了可以用更好的data schedule它还有一个额外的好处就是就因为前面的Learning Rate它其实是无变化的既然它不去变化就是它跟你整体要训练的Flops和token量是无关的因为它是无关的所以说我们可以更自由的去在这个模型训练的过程中去选取我们最后实际的config比如说我们刚开始可能预定的是要跑实际token 但如果我们跑到中间比如说训练策略改变了或者说公司的策略改变了或者说我们要更早的发版或者更晚发版然后WSD这样的一个优化器我们就可以更自由的在中间来进行切换而不用在刚开始就把整个模型要讯的投降量定死这个它其实是这样的一个好处但是它其实带来的一个问题没有讨论就是我们虽然可以 去任意的去选择这个你实际要跑的token数但是你实际的learn rate是很适合你要跑的token数是有关系的比如说你要设61446144作为一个比较稳定的一个schedule你跑实体可能6144是最优的你跑20t可能就是3144是最优的所以说从最优的角度考虑对任意去扩展token时候他可能并没有大家想的那么有效然后这块这个qmk3的这个paper其实就
讨论这个问题就是说就是WSD它实际的schedule它的这个调节的难度其实和这个VTK是一样的而且它可能并不一定的并不一定好去调整就任意去选取最后训练的token量这个事情也不一定只有WSD才能做到对我们其实用别的方式也是可以做到的这个privilege可以写到就这些原因其实他们可以选择一个更简单方案然后考参考的方案就是采取更好调 它只有两个辩量,一个就是你要跑多少token,然后一个就是你的maximal learning rate 具体设多少但是你如果wst的话,它其实就会多一个辩量,就是你要dk的比例具体是多少所以说从调三的角度来讲的话,考三的dk是一个更容易去调三的一个方案,所以说qmk3他们在paper里就写到,如果说他们是因为发现考三的dk是更好的去能找到一个hyper parameter setting的话,他们最后会采取一些,也可以算是一个比较经典的一个 learnate的方式吧而且这个其实是大家都用这个wst的情况下一个不太一样的载听然后一个是基于一个不太一样的learnate schedule的策略然后当然的kimmit团队被对比了从care到k3然后整体的一个scaling efficiency首先k3比care大了很多从1T左右到了2.8T总参数就是从1T到2.8T到了大了不到3倍吧然后接货量是从32.6B到1.04B的它其实是比3倍要更多的它其实从 模型参数上毫无疑问才是比QBKR强很多的一个模型然后中间它有一些别的一些config当然这个主要是上面表的一个总结最后他们团队给出了一个skilling law的这样的一个结果k3比k2最后的在skilling efficiency上是2.5倍的这样一个量但是它从对对于一个简单的dance model它的skilling efficiency是一个比较经典讨论的问题之前很多openight的skilling law包括一些比较新的skilling law其实都讨论过这样的一个问题
当然这块其实比较注意的一点就是大家其实也问过说就是Kimi K2WK3的这样的一个scaling behavior是不是固定data的我记得他们的回答是应该不是Paper的意义应该没有直接写是不是当然也可以理解K3K2它用的data肯定不可能是一样的嘛所以我觉得这块大概应该是有一个不一样的data recipe这个整体的scaling appearance它其实应该是综合的模型架构也综合了一个模型的recipe, training recipe 然后再叠加上这个模型的这个数据策略之后总的一个结构然后总的结构作为一个大的一个综合的一个结果是比这个K2的要高了很多的ok 然后接下来是这个长上线文长上线文的话因为k3是一个原生去支持一万米内长上线文的一个模型然后这块其实比较有意思的点就是位置编码如何去选取我们从刚开始比较传统的这个从从而的架构来去做的话大家都会用肉泼来去做位置编码嘛 但是如果用Rope的话他在这个长文扩展的时候他有个问题就是Rope的这个具体的一个参数是需要做调整的如果不做调整的话这个Rope直接去扩长文就会显得没有那么有效然后这个是其实是这个Rope时代大家一个经典的做法当然说如果现在如果你还是用一个全注意力或者说如果你不引入线性注意力的话这个策略不会有太大的改变也就是说你还是得去在不同的长度的setting来去调节不同Rope的参数 但是这个事情在混沌模型里是可以改变的最早是扣配儿团队的一个工作 主要讲了这样的一个因素他们的结论也很简单简单来说就是因为Hybrid Tension排布方式对于linear Tension来说它已经引入了这样的一个位置信息无论说你用Rope也好Rope加斯莱尼温的也好linear Tension也好就是在现行注意力的这样的一个阶段 其实位置信息是已经被引入到的
所以說如果在這個Saturn下就是在Hybrid attention的Saturn下如果我們可以把這個Four attention從Rope改成Nope也就是說在全注意力的情況下把位置邊把去掉它其實是可以帶來一個更好一個是可以帶來更好的一個模型的表現第二個就是它在這個長上下文是更容易擴展的也就是說Nope它是在模型擴長的情況下不需要調整任何模型價格的參數就可以達到一個長上下文的這樣的一個效果這個效果無疑是很優雅的因為我們會覺得 模型架构的参数选择当然是跟具体的厂度是没有关系的也没有任何的理论去支持说我们具体我们为什么要去不同的厂子RESP下然后来去采取不一样的参数然后这种架构其实就可以有效的避免了这一点一个是刚开始我比较早的看到然后可能看到第二天我就去浮现了一下因为我当然看到就觉得特别有道理然后我第二天浮现了一下然后也很work我当然觉得这个肯定在混合注意力的一个比较好的一个方式 我在会议里边还审讨了一篇文章 当时我直接给了一个strong accept我感觉我这几年可能也都没有给过几个strong accept因为我觉得这个确实是一个很有效 也是一个很优雅的解决方案然后当然这个也可以讨论一个大家之前理解错误的一个问题就是Rope它本质上它带来的是recentive bias就是RopeWork最有效的点就是对它对short context的这个 建模能力是特别有效的 但是它其实对长文来说是没有帮助的 甚至是有负面影响的对于某一些这个舆论观点会认为这个是肉谱在引入了这个长文的表现 这个其实是错误的就是肉谱他并不带来任何的长文能力 他甚至是损害长文能力
所以说KIMIKI3会把这个肉铺再在这个长上台门的这个附和腾认这块直接下掉然后直接下掉之后就会一个是如果你直接侧外推直接侧外推他都会好很多如果用肉铺的话你扩长度你需要调参数如果如果你调了参数你不去训练他那个结果其实是很差的 所以說如果有動物你不用調慶數它的外推效果也很好然後成了Sharman的這個效果也沒有任何問題甚至還要更好它其實是一個在混合注意力的一個Condustia是一個相當優美的解決方案所以說Kimi K3也用了這樣的一個解決方案然後Post Training的話首先其實可以討論的一個問題就是Digitoo這個訓練應該在什麼階段去引入然後這個其實大家採取的策略是不太一樣的就比如說Dimpsik V3他們是剛開始原射F8來去訓練的然後 Debsake V4他们就直接用这个W4A8来去做延伸训练的但是KIMI这块采取的策略不太一样他们是首先用高进度去训练然后在SFT阶段然后再把这个低进度的QAT引入进来的这样至少我就有两点则的讨论第一个就是从项目而言就抛开技术角度从整个这个项目的管理而言大规模的训练采取更高进度肯定是一个更保险的方案 因为它无论如何也不会错主要如果用高精度训练在这个大规模的skilling中带来了其他问题的话我觉得这个是一个相当不可控的一个因素而且这个东西更大规模的清单是很难就是提前被充分验证的特别精确的我觉得第一点就是从项目管理的角度的一个优势第二个就是就是从技术角度对吧我们是否有必要从刚开始就用低精度训练起码从我的实验而言应该也是没有必要的
然后KIME可能他们发现也是没有必要的也就是说对于低筋度退裂而言本身就是从from scratch刚开始就引入并不会带来任何模型能力的一个提升也就是说你wc8你在什么时候引入只要你过了一定量的训练它最后的结果可能都差不多所以在sft阶段引入是一个更保险在然后在技术上也也不会带来额外损失的一个方式对然后rl这块的话因为rl其实也是对因为KIME刚开始它其实对rl这块是一个比较充分的一个 比如说他们其实从恒早以前就比较重视RO这块所以说从KIMI K1.5到K2.5他们其实一直在做一些比较实际的创新然后其实在K3之外也会对比较充分的引入接来然后这些其实都是一些比较对比较成熟的一些方案了这块就不太展开去讨论了然后4.1.3的话这块可以讨论一下OPTOPT刚开始也是董老师团队这边比较早去讨论的一个方式就是验验的 然后 b.om 这个是预显做的 预显去年也是清华特奖嘛这个是他在董老师在业绩压员这边去做的 然后其实 opd 从刚开始就是刚开始大家用起来和其实和后面大家实际在工程中用的方式不太一样 这个其实可以讨论一下就 opd刚开始的multiply 是什么 后来大家是又是怎么做的 当时这个 op 讨论的 contest 是这个征流 正流有两种 就一个是黑核正流 黑核正流就是大家现在比较采取的方式嘛 就拿一个API然后我们不知道模型内部的状态我们也拿不到这个模型就是推理的logit对于这个外界来说 这个模型它完全只是一个黑核我们只能拿到它的这个输入和输出然后这个叫黑核正流 然后白核正的话就是就另一种正流方式我们可以获取到这个模型本身然后我们也可以任意的去拿到这个模型推理的过程中我们想得到的任何的一个状态
然后在这个场景下就我们如何去做这个征流然后是我们是否可以在基于比黑核征流更好的一个表现然后mini-lm当时采取方式就是反其他而行之因为之前大家采取的方案就是让模型就让tether去生成答案然后然后再把这个生成答案用sft的用forward-kd的方式把它引入到silent的模型里然后mini-lm是反过来做的也就是让学生去生成答案然后让tether做一个每步的一个纠正 然后直观来讲的话其实就有两种 一个是老师讲课老师讲课然后你把老师讲课的结果学进来然后第二个就是你自己去做答案 自己去做体自己去写这个中央推理过程然后老师会把你中央推理哪里做的不对然后给你出来 然后告诉你怎么去做这个叫ReverseKL然后ReverseKL的话之后后来Cinema's Lab另一个名字就叫OnPolicy Dissolation 就是大家會意識到這個是一個比較有效的一個從徵流的角度是一個比較有效的方式就是說從就我們不直接去學習模型的答案而是在student自己的推理過程中讓教室模型逐步的去virtify或者說去糾正學生模型的這樣的一個推理的方式然後這個範式剛開始其實是為了這個徵流來去使用的無論是你做白盒的一些實驗性的時候包括說從公司的角度你可以有一個pro的版本可以有一個flash的版本然後flash的版本你可以用op的方式 然后来去征留更大的模型的这样的一个结果然后从而去获得一个更好的一个表现你如果from the side是吧新来一个flash的模型可以比这个flash的模型获得一个更好的表现从而在这个比较比较便宜的模型这档然后获得一个更强的技能里这个是这个OPD刚开始的一个multi-version但是其实后来大家
更常用的一个方式不是去做争流原因在于其实原因在于如果你想做争流的话你至少得有一个大模型然后你再去训练一个小模型的如果你自己训练自己的模型而言啊但是如果说你想去争流这个比如说争留一些黑核的模型这套方案是完全不可用的从公司或者说从这个项目侧来讲如果我们不去基于一个大模型然后来去这个训练一个更快更更小的一条小模型 因为现在大家都不是这个setting嘛大家都一般都是这个搞一个旗舰模型然后就完事了然后来去它作为influence服务然后在这个场景下的话就不存在大刀小征流的这样的一个行为了然后大家逐渐去采用的征流的方式就是自己征流自己然后为什么要自己征流自己呢我觉得我这还是两部分就吧一个是非技术层面的一个是技术层面的我觉得从非技术层面的原因的话我觉得这个技术可以让整个Portrait Team的管理变得更简单 PoseTrain合板它其实是一个比较highway的一个东西因为PoseTrain它跟PoseTrain不一样的PoseTrain我只要把数据合起来然后一会儿去干就完事了但是大家一般PoseTrain的话会用一些更复杂或者一些更先进的一些训练测试而且这些测试可能会不太容易训练那场可能会如果再直接去做合板的话可能会有一些难度所以说基于项目管理的测试的话Unpolicy Distillation它其实就是一个比较好的测试能把整个PoseTrain的team的管理变得简化一些 然后从技术角度的话,比如说大家信rl,然后它一般有不同的策略嘛比如说你去mass,它可能就是一个wirefile or reward然后如果你有些preference的一些需求,你可能就会有一些reward model来去做然后如果你再想扩展这个rl别的能力,你看你可能每个能力对于rl来说它的reward,它都是一个独特的reward然后你如果想把所有的模型的所有的能力都搞到一块,因为posting一般大家都会这个专项突破嘛
然后你想把直接专项模型的不同的融合的直接拿进来一块儿的一朝会它其实是比properation的难度要大的我也不是说完全不可能还是有可能的但是OPD的话它就会变得很简单我们可以把不同的融合的model或者说不同的然后饭式然后减化成不同的模型 然后讲话成不同的模型这个事情就容易很多了因为对于RL测试或者说对于这个data来说它是一个高度一购的一个状态当然对于模型来说它是一个高度同购的状态因为现在我们也不会为了不同的任务去专门设计不同的模型架构的如果模型都长这样的话我们再做一个multi-t-sir的一个盒版对这个就会容易很多不过这个也不是k3首先去用的这个是一个大家现在比较 外地accepted的一个做法 我影响了应该这个小米啊这个Gelm应该大家现在都是这么去做的对 然后这个quantization这个刚刚讲过来然后drop the model这块其实我觉得还是挺有意思的这块还是可以额外去有一些很延伸的工作的对 因为我觉得这块QMX3目前优化的不是很完善 之前小米他们推出了一个能达到1000TPS的一个方案那个主要是用了两个技术一个就是太阔量团队然后他们做的一个可以高度融合不同阶段的一个算子然后这样的话其实它可以获得比传统的这个VLM推理方式强很多的这样的一个推理效率然后那个可能达到300-400TPS然后小米是个基于太阔量团队的一个结果然后再加上那个基于太阔而退的一个结果然后再加上那个Deflash投机推理
带来的外的加速比最后能带来一个比原模型强很多的推理速度这个其实主要的服务是对于一些成本可以付出更高的成本但是想拿到更强的推理速度的这一波用户去做的因为它本质上如果说你是为了整体的sroop的服务的话这个其实它的受益会小很多但是如果你是小bass size但是大的sroop的 这套方案是会强很多的然后这样的话就是跑开POWRT那方面的贡献然后最后就落到了如何去做更好的MTP或者说用做更好的JAPS MODEL然后这块的话有一些有力士迈路的工作然后刚开始就是EGO3会MTPEGO3和MTP它其实它主要的方法就是因为刚开始Spacality不 decoding因为这个提出的时候呢大家还是用一个没有关系的小模型然后来去Spacality不比较大的模型 然后这样的话它其实有一个问题就是你无法充分的去利用大模型中间的一些黑灵 state如果说你可以利用大模型中间的黑灵 state的话你其实就可以把小模型做的更小或者说你在相同的参数底下然后你的接触率做的更高最后可以带来总的更强的一个费力效率然后MTP和一个3然后它其实都是这样的一个思想当然MTP如果从from scratch它还有一些别的好处 然后Deflash的话它其实会更有意思一些对因为它联系的传统的Language Model和训练比较火的Deflash Model这两条脉络然后通过Deflash这条线结合了起来对因为因为Deflash Model刚开始提出的时候这个大家主要的claim就是Deflash Model在这个单用户或者说batch size比较小的情况下可以获得比这个
可以获得比传统的蓝规模特快很多的这样的一个配列效率对 但是Deferred蓝规模特之前最大有两个问题嘛对吧 第一个问题就是它如果from switch它的训练效率不够高它的整体的结果很难和传统的AR的蓝规模特想去PD然后第二个问题就是它只能 他只能打小bass size的slootput但是如果是多用户最后追求总的slootput的一个场景呢他其实这个difference model并没有优势所以difference当时主要就是统一的这样子试图去利用difference model更快的一个推立方式然后进一步去优化这个mtpe or draft model这块的一个加速笔最后可以得到一个更优的总的一个担用户的slootput当然了就说mtpe这块其实是 之前我跟陈建就是Deflash那个同学也交流过他当然提了一个点是对于整个模型是很重要的就是即使我们用Deflash这种更先进的DraftModel的侧点他跟预训链的关系仍然是很大的也就是说对于DraftModel来说我们他是需要利用大模型的一定的推理能力的基础上然后再去使用DraftModel进一步的去扩大也就是说对于MTP来说 在Pretient的阶段需要给MTP提供一个接口然后这个接口会对下游的GeftModel的提升会特别的帮助然后这部分其实是需要在Pretient的阶段就引入的当然GeftModel也是需要做一些反车理论它是需要做一些自己特化的处理的比如说我们可以用一个CareLoss然后来去替代比较传统的NAS token prediction的
这样的话我可以在原model Wi-Fi的过程中它可以对得更齐这样的话可以进一步的去提升draftmodel接收的一个效率对 这块我觉得之后还会有一些更深层次的工作我猜哈 因为这个肯定不是对MTP的一个重点然后Homart这个RL task的话它是一个比较specific对于不同的任务来说它有不同的具体的一些策略我觉得这块的话只要看原文就好了对 然后接下来的一大块就是infra 对,infra这块的话,首先现在其实对于模型架构的设计来说关键的设计,它是需要和infra进行一些coded design的一个是coded design,然后一个就是模型架构本身,它会影响整体的infra团是它本身的一个设计,然后这块包括跟这个DeepScore这一系列的infra,它是有一些设计上的区别,这块我觉得也是一个比较有意思的一个点,然后属于KDA,KDA之前在在前面其实已经讨论过了,因为 我們如果想去追求更高的一個Chunk的效率然後我們是需要對KDA的穿件技術做出一定的限制的這樣的話我們可以用一個更好的Colonel的設計形式然後來去帶來更強的一個Colonel level的一個效率然後這塊其實多的一個點就是KDA的這個CPKDA的CP是一個我覺得這個Linear它的CP其實是一個可以簡單討論一下的一個點因為比如說對於Sliding Window或者說對於Fortense而言其實CP它其實從概念上是相當容易的
因为比如说你对于FourTension来说 比如现在有些比较经典的算法比如说你可以用RuleTension或者说用JagZagTension因为Tension它本身的计算模式是够简单的 而且它很多地方是省不了的我至少会得把快GPU的所有的KV开始都拿到一个GPU上然后来去做计算 我对这块是一个相对来说比较简单的一个概念但是对于LinearTension的CPU而言 它的概念其实是一个更复杂的 然後這個大的框架其實我們還是可以回到最經典的一個Chunkwise RecurrentChunkwise Recurrent的首先我們都同意說Chunkwise Recurrent對於Linux產生來說是一個必備的算法然後對於一個正常的單機的一個不開CP的一個訓練場地來說Chunkwise Recurrent它其實就有兩部分一個就是你可以拆成比如說比較小的16Ti或者64Ti的一個上課然後唱個之間然後使用這個定規的方式去計算然後唱個內部的話可以用一些比較parallel的方式去計算然後KDA 也是这么做的然后kta的那个dk的限制主要是解决这个唱歌内部的一个可以用parallel计算的一些高效性然后这样的话就是对于单机的这个leaner成人来说就是一个唱歌内部用并行的方式去计算然后唱歌之间用串形的方式去计算这样的一个计算的pattern但是呢对于cp来说我们就需要讨论他的一个leaner成人比较有意思的一个方式就是他这个唱歌本身是可以任意去拆分的
也就是说不同的倡可的数字就比如说你想512个token一个倡可或者说8k token一个倡可它在数学上是完全等价的这个就跟早年一些比较拼接式的方案比如说有一些工作会尝试这个倡可之间都要用用理内尔腾认倡可内部用腹腾认如果用这种策略的话它的这个倡可的大小就跟你具体的模型的这个architecture design是有关的了但是纯理内尔腾认其实是无关的 既然是無關的話我們就可以對這個Chunk的層次做出一個比較任意的處理比如說對於單機來說它Chunk是一步去拆分的我們就這個16TiO去拆分然後16TiO內部用一個並行的方式去計算但是它其實並沒有限制說你Chunk只能拆一次它的思想就是比如說我有一個One Million特別長的一個Chunk然後我們可以拆成8K放一張卡8K放一張卡這樣的話我們就構建了一個以大Chunk為單元 然后不同这PU之间然后采取DQ计算这样的一个倡可的拆分方式然后我们拿到这个8K的这样的一个拆分方式之后我们可以在这个内部进一步去拆分最后在Linear Tension的时候我们没有任何的限制说一个倡可中间是如何去计算因为对于一个比较小的倡可而言这个Parallel是一个比较优的实现但是如果我们拆倡可足够大的我们可以采取这个倡可套倡可的方式然后来去进行计算也就是说对于Linear Tension的CPU而言的话我们是做两个一个层次性的倡可 我们首先是在这个不同机器上做一个上课然后在一个机器内的话我们再在kernel来我然后做一个上课然后通过这样一个双层trunk的解释然后组成一个对于linear tensor一个比较大的cp然后这个nook主要还是就来源于说就是唱linear tensor的唱可以任意拆分的一个特性然后这样的话可以带来就linear tensor的一个cp的一个方案然后这个其实是对于这个副团阵不太一样的一个处理方式这个是可以讨论一下那些然后接下来是对上面这个这个是cp或者说kernelis的一个infra的方案
然后接下来的话 其实就会讨论 就是从这个分布式训练的一个角度 然后我们如何去优化它的分布式的这样的一个方案然后这块的话 我们后面就可以发现 其实他跟这个方案是稍微有些区别的 然后这个区别是主要是来源于不同moe的一个架构的一个方式 然后首先的话5.2.1这部分 KIME团队带来了一个GDPP进一步延伸的一个计算方案然后他们的主要的cleanly一点就是对于传统的一批因为我们现在都用Jopless一批Jopless一批就是对于每一个token而言我选哪个专家他是不受整体的一个约束的就是我想选哪个选哪个这样带来一个方案我们会总起来之后会发现不同的专家他的负载是不一样的 然后既然它是不一样的它就会带来一些问题的第一个问题就是对于EP而言因为每个GPU它分到的投稳数不一样投稳数不一样的话它就会带来它的整体的这个执行时间不一样然后执行时间如果一旦不一样它就会互相等互相等就会浪费这个模型的这个会浪费GPU的这个算力这是第一个问题第二个问题就是如果我们不同的卡上的它的那个投稳数不确定的然后对于这个GPU的通信来说它会额外多一个阶段 就是我们首先是需要告诉所有GPU就是你要接受多少token他再把这个token发过去所以至于这两个阶段的话传统的EP它严格来说当然不是一个最优的一个方案的如果完全为了info它最优的方案就是代照顾的EP也就是说我们每个token然后要去受到全局的一个影响然后受到一个全局的影响的情况下我们可以通过一系列的一个allocate的方式从模型的角度让每个expert都受到完全均匀的一个token
然后通过模型的方式然后让它达到完全的Balance完全理想的情况其实就是这样的所以说如果在英法的层面完全均衡然后是一个醉油的话从英法上测的就是我们努力把英法从非醉油倒上一个醉油然后同时保持模型能力是不下降的因为如果JOPT Token的话大家现在都不会用因为它那个对于模型损失对于模型能力损失还是相当明显的 然后这个然后默议P他他就采取了一个我觉得是一个比较高端的一个方案他把模型的这个这个EP的方式所变成了一个更动态的一个方式就是他是可以计算说比如说之前的一个近代的方案就是我比如说我有一百二十八个专家然后我如果一批大如果我们一批八的话可能每张卡放16个专家的话他是一个比较近代的一个方式然后默议P的话他采取的是一个动态型的方式就是他又有一些种鱼的专家 然后通过这个额外荣誉专家的话,然后他从数学上是可以证明说我存在一个策略可以使得就是我们只需要增加一个小比例的荣誉专家就可以保证这个token数的完全对齐的然后我感觉像是一个比较经典的数据结构与算法的一个问题这个是可以证明到的,然后他们可以证明到这一点的话他就可以得到一个结论就是我们通过少量的荣誉专家就可以 达到就是所有卡上的均衡的这样的一个效果然后具体如何去达到他们采取了一个这个online planning的方式然后这样的话我们去提前去这个规划就是哪些卡应该有哪些容易专家然后在这种情况下可以达到不同的这个对不同卡上这个就从token数的一个完全的一个均衡
当然其实说你从卡的角度是均衡的他并不代表专家层面是均衡的因为这个算法他只是保证了所有每张卡对吧每张卡的这个他的这个所有的投稳数是一定的但是他并不保证这个每个专家是一定的因为一让卡里有多个专家吗这如果说你还想保证这个每个专家的这个都是一定那就没有办法了那你就只能采取这个有损的一个策略区域的话这个可能如果大家是不希望的话这个上线可能就卡到这里所以说我们在这个两个中间可以采取就可以找一些更优的一个处理方式 这块是Kymit团队带来的一个比较有意思的创新 接下来就是这块Memory的一份尝试我觉得这块比较有意思首先他们带来了一个从软件工程的层面 比较简单的一个方案就是我们可以去更细腻度的去控制每个部件应该去采取Activation还是去采取Offloader的一个策略 然后这块不一样的一点就是 他采取了大規模的offloading把中央计算得到一个结构offloading到CPU上然后这个其实是一个non-trivial的一个东西因为理论上如果想满足offloading不拖慢这个模型的训练它是有一定的条件的你得保证CPU和CPU之间的同性它满足的某个不等式这样你才有完全用计算overlap时候同性的一个可能然后为了达到可以做offloading的话然后qpq3他把所有可以offloading的东西都用fv8去存这样他可以省一倍省一倍他可能才能从 一个编辑 然后夸到另一个编辑 然后具体这个编辑怎么算这个跟具体的卡具体的具体玷体环境 集群环境也跟具体的模型config是有关系的然后后面的话 它一方面它们是需要去优化Tenris Seizho它本身的一个运发的关系的这个其实在Tenris Seizho的paper里其实也讨论过然后我觉得PP这块其实它我觉得一个是PP 一个是那个通信的overlap的手段这个其实跟Deepsec是不太一样的一个方案
因为首先比如从DMC的v3的角度而言它采取了两个不太一样的至少是能吹过的一个方式一个就是这个比较细腻度的MOE角度的overlapMOE角度的overlap就是因为首先就是MOE中间有两个通信吧有两个通信它是一个dispatch一个是komban然后这两个通信它是overhide是比较大的其实在这个blackwell上它其实又不太一样但是无论如何它是一个比较大的一个开销 第二个V3的话,它一个是在MOE的WareLab之后,它会拆得特别细然后具体的方式,它就是会把这个MOE上一个batch的MOE的forward和下一个MOE的forward,把它俩融合起来然后通过重排去计算的一个先后顺序从而达到把所有的这个大的这个dispatch和company的计算然后这个company的dispatch和company的同性都藏起来 然后想达到这点的话其实是需要特别精细或者也特别复杂的一些软件工程的一些优化的这个其实在这个Macsore Core里边也讨论过这样的类似一个事情因为这个事情如果想做得足够好的话我们需要把所有的forward和backward的计算从原子计算的层面就拆开然后手工进行重新排布我觉得这个还是有一定的难度的 然後另一個就是這個DPC各位參採用了一個這個DoPyP的策略也就是為了去緩解這個PV的氣泡和這個不同的Activation不均勻的方式然後他們去採取了DoPyP的一個訓練的一個PyPlan的排布方式然後當然後面除了DoPyP還有一個DoPyPV他們達到的效果是一樣的對 它從邏輯上會更簡單一些對 起碼從公開的他們寫到的裡邊KIMICS3是沒有採取採用這兩個優化方式的他們採用的其實是一些別的方式然後第一個就是如何去隱藏通信
这个就跟实际的模型架构的选心有关系的因为KIMIK-3它采用了那个LaternMUI嘛因为LaternMUI它本身是极大的降低了同性开销的所以说它在整个的计算开销里边它其实是减小了特别多的因为它的通信开销减小了特别多所以其实如果想把它overlap掉就会变得容易很多就是我们没有必要再去跟另一个batch的计算来去做overlap我们可以采取这个 一个byte内部更简单的overlap手段就可以把这个通信很好的隐藏掉然后kmk3它具体采用的方式是把这个moy的前向后向的通信跟shared expert的计算这个overlap在一起因为shared expert的现在绝对多数都有嘛而且shared expert它是有一定的计算量的然后正是因为这个通信的开销减小了 所以说它才能被Shared Expert一个比较简单的方式去Overlap调但是如果你用传统的AMOI它的投屏开箱就会特别大特别大的话你用Shared Expert去Overlap就很难Overlap调所以说如果你Shared Expert Overlap不调的话你就必须把另一个办事拿进来这样才能完美的把通信都隐藏掉我用不一样的AMOI的架构然后带来了不一样的这个Overlap的一个策略然后这个策略它带来一个好处就是推理的Creative Passed Latency它是免费的 然后从训练价格上的话就是我们因为同性量更小了我们就可以采取更简单的一个策略然后来去排布这个对排布同性的一个细胞然后其实还有个另一个问题就是我们即使通过更复杂的方法去完美的把这个通信去藏掉它其实也不是完全无损的因为即使是完美的去通信和计算隐藏计算也会相对的去慢一些它不是完全可以无损的
然后针对这个问题,DPP也做了类似的优化嘛DPP的优化方式就是用一个足够少的ASAM的占用来去获得更大的一个整体的同性的sport从而才能让这块的这个overlap跑得更快所以说这块是一个很不一样的一个设计方式然后另一个设计方式就是PP的处理其实是不太一样的因为如果用dupeb或者用dupeb微这样的一个PP的一个排布方式的话它其实不同 对不同PP rank之间它相对还是一个比较对称的一个状态如果你用单向的PP的话它其实就不太对称然后不太对称的话就两种解决方式第一种就是让它变得对称第二个方法其实就Kimi这个paper里讨论到的我们可以把不均衡的方式然后transfer掉 因为比较普通的PPP的话比如说前半的PPRank它会进入的更早它会积累的Batch就会更多它的这个Activation的压力就会越大然后Kimik3采用的方式是它把Memory占用比较大的一些PPRank然后直接传的直接让它存到这个比较小的一个PPRank然后通过这种也是比较lightweight的方式吧然后去規定了更复杂的这个独派铺的一个设计方式 然后在后面的话其实就是运用的一些优化因为运用它是需要全局正去做纽纳朔尔斯迭带的所以说如果用传统的时候Adam因为Adam相对于是你是把所有参数都摊平然后之后再去切的然后因为Adam是Adam的YS优化所以你怎么切它都不会影响模型的优化的一个结果但是对于运用来说它是有影响的因为我在某个rank上我是需要把一个局正所有的参数都去保存下来的所以说这块的话需要做一些处理才能让运用比较好的去代Optimizer这个角度去切起来
对然后多么太这个info2也是一个比较有意思的一个点 因为其实从info2的角度就是纯的蓝规模特它其实是一当然大家想把它优化的足够好的 也需要相当多的effort刚刚也讨论了很多 但是其实对于多么太而言你没引入多么太的一项功能 它的info2难度其实都是直线提升的这块的问题就是如何去把微信口的做好 微生以扣的做法的话这块它其中两个问题第一个就是我们对于现在的这个微生以扣的话大家是会对这个微生投课做一定的压缩的比如说你这个微生投课最后输入到这个大模型里边的话它可能是8K投课但是你输入之前它可能是32K投课就是说微生以扣的接入模型的过程中它其实是有做一个压缩的但是这个压缩在这个微生以扣的内部是没有做的所以说它在微生以扣的内部计算的时候它就会更长 所以为了解决更长的一个问题,可能你如果对某些主干不需要开cp的话,你可能就对微信扣着它可能就需要开cp,所以说这块它是需要做一些额外的infra的一个处理然后PP这个就更有意思了,PP这个大家其实注意到一个问题就是我们做这个vl native training的时候,vl的投砍它其实只是有一个比例的 比如说你对于某些对于某些卡来说它是一个纯纹本的一个状态然后你对于另一张卡它可能是一个全世界的一个必要的比例相当大的一个状态如果是这种情况的话你还是会出现一个对不同卡不均匀的一个现象然后这个现象呢它不仅会影响DP它PP也是会去影响的因为PP的话我们是首先是要保证不同PP之间它是一个比较均匀的一个状态这样它的流水线才能打的足够满不然的话如果我们在这里引入了一个新的微信口的
第一个PP它就它的这个计算强度就会显入去增强它就会破坏整体这个流水线的一个打满的一个状态然后为了去规避这个行为呢KIM X3这块采用的一个方式就是把PP不去放在这个PP的钢开头它说会放在中间或者尾巴上然后所以在前面的PP 在前面的这个微信口的或者说比较浅层的两个人model做的过程中呢中间的PP它是显示的它就会把中间显示这部分利用上提前把这个微信口的后面的一些步骤提前算出来然后通过这种方式去规避掉这个第一个PP带来的足够大的一个气泡然后这个是一个在PP的层面需要做的一个优化他这篇论文真的写得好详细啊是的就是这些细节东西其实是需要去处理的就如果你不处理的话 就是你写出来大家就觉得这个事情肯定也没有问题可以去这么做然后有一些没有写的部分呢大家就会去这个追求如果有些团队的这个组织密度没有那么足够说我我自己就能把这个事情搞定了大概一部分人就会成名小道消息嘛大家就会私下一打听这些东西到底是怎么处理的如果你写出来这个事情其实就对大家就不需要去找小道消息了你说他写出来在复线南吗 我觉得一发上的事情本质上没有什么难的因为它本身就是个高度确定性的东西我觉得所有一般的事情都本质上它是确定性的东西但是你如果想自己提出来的话它就对你本身分析properfilling的方式或者说对于你本身的这个组密度或者说就是你自己团的氛围就是有比较高的一个要求 但是你如果整个infverse团队比较好你还是可以自己搞出来的但是你如果不行的话你就会尝试去follow一些比较好的一些工程时间的practice但如果这个事情都得搞病那我觉得就可能就不太应该了前面主要是就infverse带着就翻三部分吧一个是pritching然后pritching的话前面主要是讨论的一些大规模分布式的情况下一些比较复杂的一些用法方式
然后后面的话一个就是后面的话就是两部分就把一个就RL然后还有一个就是influence然后RL的话因为它本身就是设计大量的influence的所以在这两个中间呢其实是有一些overlap的然后RL它本身一个对不太一样的点就是它它需要对三大规模三debox我会有一些比较细的一个要求对但这个其实就算是一个更工程的一个东西了这块的话它其实就是一些比较细的处理或者去处理不同的三debox对于RL的task来说你每一个tractor它可能都对应一个它自己的docker嘛 所以说就如何去管理大棍modelverse其实是这块比较麻烦的一个问题然后上面这块的话 我觉得这个Kimiketa比较有意思就是它会时不时给你蹦出来一些比较有意思的东西对 我觉得这块比较有意思的东西当然也不一定是刚才就是它提的了这块可以省一个gradient buffer对 这块相当于是一个比较tricky的一个东西因为对于一个晚上的R来说它有好几部分的model嘛比如说你至少你至少有一个种model 然后你还有一个reference model然后你主model它还要对应的一个gradient和optimizer当然如果你还想做revolver model的话它还会再多一个model然后其实这块的话它就会多特别特别多model然后这个keymail3这块两个比较有意思的事情 就是它不同model之間的因為你放一個model它對於JPIO來說它還是很大的一個memory嘛所以說它這塊相當於是把兩部分memory就拖到一塊了就對於reference model而言然後它們發現它可以跟gradient buffer來去合起來因為首先reference model它是沒有提督的然後在你求到objective的過程中你是沒有gradient的等你有了gradient之後然後你可能這個reference model就不會去用了
所以说他这块用了一个great buffer use for non-policy model for forwarding然后这块是一个比较有意思的一个东西然后上下楼就感觉是一些比较常规的处理方式了然后我觉得influence目前不会有太多的一个东西因为主体的influence optimization其实是不要m或者s这样这些的专门讨论的一些内容然后这块他其实讲的就是对于qm3架构他所带来的增量就是在这现代的推理引擎中是如何去处理的 首先就是會帶來就Linux Tension它在現代的Inference Angelic它有一個麻煩它有一個麻煩就是它Prefix Cache它是一個比較麻煩的一個點因為對於Four Tension來說它相當於是每個位置它都有一個cache嘛所以說你可以任意就是你下一個位置的cache它一定是上一個cache的一個簡單的一個增量 所以说在这种情况下 Prefix Cache会对简单很多但是对于Linear Tension来说的话它会有一些它会有一个比较麻烦的策刑就是Linear Tension它每一步它是需要它是会在原来上一步的这个KVcache的基础上它是做一个附写的也就是说对于每一步而言它的这个prefix state它其实都是不一样的所以说如果我们把每一步都存起来那其实Linear Tension的好处就完全没有了但是你如果完全不存的话你就完全没有办法去享受到这个prefix cache
所带来的好处对 然后这块 这块的话就是对现代目前对于这个linear 陈胜 它的一个采用的策略就是按照block 去切就是我每个block 去做一个呢 去做一个这个prefix caching然后同样的话 我们还需要另一个line-down-down-trivia的点就是vlm这样的一个pagekv 它的一个实现方式 从工程上或者从概念上 它最简单的一个分布方式 它是不考虑层合层之间的意志性的 所以说其实从 去年还是前年就是如果想直接在这个标案里去引入粉额价格的话他在infra上并不是一个容易的事情而且因为现在infra3这越来越havid了所以说如果简单这些改法的话会把整个这个infra3这搞得特别特别的乱当然现在这个infra3这可能都有一些比较先进的管理方式啊但是这个就是需要去透露处理一下就是把这个一个就是把不同的囤织pattern去结合起来对因为对于for囤织来说是按配置管理的嘛但是对于linear囤织或者slanding的话他 才是不按照配置管理的,因为它并不似在一个长久的一个对于token weather的一个KVcache的一个产生方式,这个本身对于VLM的设计来说它其实是需要做一些兼容性的处理的,然后 我觉得后面就是一些就是适配性的一些优化因为底部定理优化它其实跟prefile或者说跟成立不太一样嘛所以说这块的话就对于每个环节都需要做一些额外的一些currentless的一个配置但我觉得这块应该对我觉得这块都是可以去做的而且对我这应该是一个确定性比较高的一个事情然后后面就是evaluation我觉得evaluation这个没啥好讲的就是好呗特别好就是在每个环节都好然后后面主要就是这样的一个状态然后应该就没啥了
我覺得K先生你最impressive的地方是哪裡?個人而言我覺得impressive地點就是他們把這個激活搞得特別特別大足足有100別領比我預期的還是要大一些的這個依賴的什麼能力呢?這個不依賴任何能力就是你具體定多少激活這個本身它不是一個技術性的東西就看你想到達到什麼階段的一個效果我覺得K咪K他還是比較有破裂就是在已有的開玩模型這個賽的基礎上他們要提升一個數量級所以我剛剛就說他們 比上一代的激活 其实是多了三倍多的 我觉得这个决定是一个非就行的一个决定 但是这个是要一定要自立的因为杨志宁喜欢说有概率的非共识 你觉得在k3上能看到他们的什么样的difference或者说创新我觉得也没啥 因为有价值的技术创新 他们都单写了一个payphone了所以这个k3刚出来的时候 我主要就surprise这个size别的我都不过我一期的 就是你刚才给大家也展示了好多他们历史的paper其实中间就已经发出来对吧但是他把它优化到了一个更大的模型上对 我其实的一个观点就是科学研究室不存在阶约性的提升的只是说大家习惯把这个技术的建议提升的某些节点会成为一个mild stone 我其實一直是這麼認為的 技術永遠是慢慢去提升然後靠這個公司裡的所有人 項目裡的所有人 包括整個業界的同學一塊去推動的 所以我覺得從這個角度沒有什麼mouse動有人說Timmy的研究方式相對比較科學 你覺得這個你認同嗎?怎麼解釋?首先我是認可的 但具體認可的方式的話 我覺得首先我覺得這個主要是來源於他們內部的一些管理方式
當然的有些公開大家都知道的其實公開裡邊大家認可的最強調這個模型內科的一個團隊就KIMI他們一直嘗試去讓這個pre-training變得更加的科學比如說讓不同的行為的確實可以以一些更可靠的方式去獲取到然後讓比如說模型的不穩定性或者說模型Clubs的一個現象可以更明確的一個去歸因所以他們其實一直去強調這個模型內科這樣的一個case 我觉得这个其实是他们科学化的一个体现吧 我觉得这个其实是没有任何问题的我觉得科学对应的就是不科学嘛 就是什么是不科学的 我觉得这个事情就是讨论清楚大家就知道什么是科学了哦 什么是不科学的我觉得不科学的方式就是如果从整体项目的角度 你想去推一个东西 你想證明哪某個東西是有效的我覺得這個東西不存在任何疑問因為學術上性或者說你從學術論文的管理的角度我覺得這個大家都是有明確標準的你得有明確的安排你得有足夠的變量的控制你得用更科學的方式去說明你這個東西是有效的我覺得這個大家都是認可的然後為什麼不可學不可學就是基於某些利益需求然後把科學的方式都幹掉了這就是不可學 我特指任何技術我一直強調的就是我覺得KV這個團隊非常團結然後非常的能把勁往一處使如果大家是這樣的Motivation你的判斷方式自然而然就是科學因為最近也是V4發佈的時間嗎K3和V4你覺得他們的區別是什麼能不能做一些對變我覺得是不同層面吧我就從模型定位也好然後從這個剛剛咱們比較詳細的討論著在英法上的一些區別然後從模型角度層面的話我覺得目前區別還是比較大的我覺得完全也不是一個東西嘛我覺得其實比較好的一個case
就是DPC可現在出了兩檔嘛一檔是1.2T的然後另一個是一個更小的Size然後DPC我覺得目前還是更強調一個新加比的就是他們其實Flash那個模型做的還是挺好的但是KIMI我覺得他們目前主要的經歷還是嘗試去提升開源模型的一個能力的上限而不是去考慮這個模型的這個也不是完全不考慮嘛至少說你模型的新加比不是一個最首要的一個考慮條件當然也可以看到現在KIS的API相當貴比別的模型貴多了照這個趨勢發展下去KIMI和DPC會分化嗎 我觉得技术层面的东西只要大家不笨都是知道什么是好什么是不好我觉得组织团队的走向和取决于人的选择我觉得就这么简单我觉得技术上这个东西不存在太多底辈子的好就是好不好就是不好这个是有明确的客观标准的但对于组织而言对于人而言这个是比较模糊的你觉得k3相比之前所有模型来说不一样在哪里他有架构创新他创新性更强 我觉得两方面我觉得从技术的层面来说的话我们可以讨论很多很多就是他中间的有一些对吧有一些创新也好有些退费也好这个对于技术同学而言是可以去讨论的但这个东西是不是成为里程碑他是个非技术的问题所以说他最大的变样是你最后的一个能力dbc给v3我觉得比如说他那些比如re这些东西我觉得这就是简单谈话我觉得最大的问题就是他其实是国内第一个 把某鞋4哥到一定程度避险把全都说打通的因为在k3之前可能最大的就是前面72B嘛这个其实是从某鞋赛似的身上一个表达的飞远因为有赛似他才有智能所以说k3你把激活多了三倍把某鞋也快了大三倍他就是下一个来我这个就没有任何问题这下核心是赛似的有效的4哥一点对其实是这样对这是个完全是一个靠团队来去做起来的东西因为你
魔形增大 最簡單如果吹尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾尾 但这个条件我觉得大概是不存在的所以说后面的创业事情也就不存在为什么不存在因为好的人其实已经进去了还是这么说我觉得好的人和好的组织人的话想达成我觉得是有历史的局限的你不是想达成就能达成的动委这个事情真的是有点虚很难去描述它我觉得也不虚我觉得就是取决于leader的test或者说leader的性格是绝大多数影响到整个团队的范围的 我覺得Kimi有一個特點是,所有人好像都不怕楊志玲吧?對,為什麼要怕呢?有道理,誰有道理,誰說了算嗎?對,他還是一個非常集體的一個工作,他不是一個個人的工作,他不依賴於個人英雄主義。你覺得未來的模型的發展方向有沒有什麼預測?比如說半年之後,一年之後,模型Size毫無以往還會繼續擴大?我說一下我的判斷,我的判斷比較暴論。
我的暴論就是大模型可能沒有太本身的上限了後面都是一些改良性的進行進步然後他會做到一個什麼樣的水平呢做多大賽子對應的是什麼樣的性能呢我覺得這個最重要的就是大家去定義什麼能力去定義一些只要大家能定義一個能力就能去達到因為大家之前定義的方式比如說就是強扣定AZ的扣定這些東西是清晰定義出來然後大家就可以去做到這個取決於大家怎麼去定義一些能力或者說從商業化角度大家注重什麼能力 只要它能清晰定義這個任務本身它的能力就能夠達成我覺得如果是純蘭桂指的應該沒有太大問題它能達到所謂的HMI嗎?我覺得HMI最大的問題就是它沒有被well defined所以只要能夠定義它就能達到後面都是一系列的優化工作對 當然如果說你定義HMI的話是去生是真實物理世界交互我覺得這個事情肯定還是該不是更大的但是如果你還是在蘭桂指模的scope裡討論問題我覺得有問題不大 你觉得他最后会是一个多大的模型呢还是说他是无限大 无限往上叠上去我觉得这个事情肯定是不可能的因为首先就是对预讯量的这个数据量包括说我们已知的的人类短我觉得从抽签来讲就是人类互联网上能集结到的所有的信息量这个是有限的这个事情是不可能无限提升的基于这个case来讲从数学理论上对吧你想吃掉一个足够大的数据量你模型不可能是无限的没有必要是无限的所以说这个能带来一个更宽的棒子 然後這個寬的棒的可能上下會更高然後更窄的棒的就是在什麼情況下就是我們對於模型聚集在任務上的一個感覺可能會沒有那麼充分然後這個是一個更窄的一個棒或者說如果未來有更難的任務它必須有更大的Size那可能就會突發的更寬的那個棒的但是無論如何不可能是無限的你覺得它會最後有多大這個模型現在16到2.8以後呢
必然的肯定還是有更大的可能性所以如果像完全match必然的肯定還是可以再打一些的但是更大的話這個就不確定了你現在為什麼去探索世界模型了我覺得這個主要是一個personal的一個東西因為我覺得這個大模型不存在太大的太大的改良空間改進空間沒有大的突破的話就沒有大的這個credit嘛所以說我覺得對於個人來說可能從實驗上來講不是一個能做出太大的一個貢獻的一個領域 我这个我有底范的问题这玩意有问题更罢得了但我觉得至少是一个新的东西