大家好呀。
最近新闻都是各家模型赛马,价格低了又低,
像那种看到后仿佛原子弹爆炸、
瘫坐在椅子上的新闻变少了
那我就老实学习大模型底层的知识
顺便分享一下自己是如何学习的
于是有了这篇文章,两部分内容:
先教你如何看懂一份大模型的技术报告,
再以Kimi K3的技术报告为实例来讲解
真的是胎盘式教学了。。。
技术报告这玩意,之前以为只有科班才配读
后来想意悟了!这玩意用纯文字来解释还是太抽象了。
一个多步骤的过程,一张图顶一段话,
能动手玩的演示,比图还好使。
所以我直接把报告做成了网页。
方法也很简单:
先找一个自己比较喜欢的网页风格,
也就是能让你更加高效地学习知识的风格。
每个人应该都不同。
我选的是一个自己用了很久的网页风格。
刚好这个项目也是开源的
然后用Web-Clone Skill 把版式复刻下来,
(Skill 同样开源)
技术报告也开源,所以没那么神秘,
直接把K3 的链接丢给 AI 即可,
它读完先规划课程结构,把整份报告拆成 5 个篇章、20 节,
每节讲一个主题,从规模参数讲到训练和推理的工程细节。
把知识尽量做成可以互动的网页,寓教于乐这一块
好了,方法真的就这么简单。
这样就能根据生成的网页进行学习了~
下面我就用生成的网页,
来讲讲 Kimi K3 的技术细节。
K3 的总参数量是 2.78T,但在处理每一个Token 时,
真正激活的只有104.2B,差不多相差 26 倍
答案就在 MoE,也就是混合专家结构。
可以把它想象成896位专家会诊,
每个 Token 进来时,路由器先判断它更适合交给谁,
只挑 16 个路由专家参与计算
还有2个专家像规培医生一样,每次都到场。
接下来还要面对另一个问题:
当上下文变得足够长时,模型究竟能不能把这些内容处理完。
然后轮到 KDA 注意力机制登场了
标准注意力的麻烦,在于它会让每个 Token,
去和前面几乎所有 Token 建立联系。
文本长度翻一倍,计算量是接近按平方增长。
到了 100 万 token 这样的长度,就很容易爆炸
93 层里有 69 层使用 KDA。
不再把所有历史 Token 两两比较,
把过去的信息压缩进一个持续更新的记忆状态里,
让计算成本随着文本长度近似线性增长。
如果把 KDA 想成一个不断整理的工作台,
那么每一层、每一步大致都在做三件事:读、擦、写。
先把当前 token 带来的新内容读进来,
再擦掉一部分已经不再重要的旧信息,
最后把融合后的结果写回记忆状态。
每个通道还有自己的遗忘速度:
每四层配一层全局注意力
但线性注意力也不是没有代价。
信息一路被读、擦、写,早期内容难免会被逐渐稀释
如果只靠这份持续更新的状态,
模型在整篇文档里跨很远找一句原话,能力就会变弱。
每 3 层 KDA 配 1 层标准的全局注意力,最后再补一层。
线性层负责日常的信息传递,
全局层负责偶尔回头、跨距离检索
原生多模态,九合一的后训练
视觉使用 MoonViT 编码器,约 4 亿参数,
它会把图片切成一个个小块,再把每个小块编码成 Token,
交给后面的语言主干继续处理,
还得是原生多模态视觉能力牛逼。
后训练阶段的做法也很有意思。
强化学习阶段并行训练了 9 个专家模型,
让它们分别在不同方向上练习,
最后再把这些能力合回一个模型,
像是先让九位教练各自把一门课教到熟,
再把课程合成同一套教材。
这里的蒸馏还是 on-policy 的,
学生模型先自己生成答案,老师再针对这个真实答案给反馈,
九个模型之所以可以最后合到一起,
是因为它们虽然使用了不同的训练范式和奖励目标,
但底层仍然同源。
工程现实:4 位存储,1.4TB 显存
这模型多大显存才能跑起来嘞,
K3用MXFP4,每个参数压缩到4个二进制位。
听起来已经省了很多空间,但,
部署时仍然需要 1.4TB 以上的显存。
单张 H200 大约 144GB,八张加起来也只有 1.15TB,还是装不下。
换成单卡 288GB 的 B300,八张才有 2.3TB 的余量
按这个配置算下来,
一台机器大约要 700 万人民币。。。
最后,
我做的这个也上线了,
想学的朋友可以去体验下~
晓风乾丨 大四 Base北京 AI产品在职
想缩小科技带来的信息差 分享很酷的AI玩法。
希望得到您的点赞转发爱心三连支持,
如果有更多想法或者问题欢迎交流~