除了交叉熵,语言模型的Loss还有什么选择?一直以来,交叉熵(Cross Entropy)都是LLM预训练和微调的标准损失函数。那这个“标准”可以改吗?如果想改,那又有哪些选择呢?改完之后又会带来什么影响呢? 可能很多读者从未认真推敲过这些问题。一方面,交叉熵简洁有效,又有信息论诠释作为背书,让我们觉得它非常“理所当然”,以至于欣然接受;另一方面,换损失函数是“牵一发而动全身”的事情——换了之后意味着所有基于损失的比较都不再有效,我们只能去... 评论点赞收藏6 天前
简单谈谈K3的MoE和Attention上个月,我们发布了迄今为止最大的开源模型 K3。 作为K2的继任者,K3并不是一次从零开始的重新设计,而是沿着我们过去一系列工作自然演化而来,并融合了我们对效果、效率、稳定性的一些最新理解和改进。可以说,它是一项持续的、“集大成”的研究成果,而非孤注一掷的豪赌。 这篇文章,我们来聊聊K3在架构上的一些设计思路。 写在前面 简单来说,在架构方面K3 = KDA + MLA + Stable Late... 评论点赞收藏12 天前
解构Scaling Law:优化、架构、数据的三重奏训练一个大型的神经网络,最终效果会受到非常多因素的影响,换个优化器,换个模型架构,或者换一个训练集,结果都可能截然不同。在工程实践中,我们将调试这些因素的经验结果,戏称为“炼丹”。但如何从经验上升到规律,更准确、定量地描述它们之间的关系呢?如果能搞清楚这个问题,我们的炼丹将会更有底气。 “Scaling Law”便试图以一种相对定量的方式来回答这个问题。自OpenAI在2020年的奠基性工作(Ka... 评论点赞收藏17 天前
将Softmax注意力机制线性化为门控Delta网络基于LogSumExp和Softmax的泰勒展开,推导了将Softmax Attention线性化为具有Delta Rule的线性注意力变体的方法。结果并非基本的DeltaNet,而是直接得到了Gated DeltaNet (GDN)。文章展示了从Query条件下Attention输出随Key、Value变化规律的数学推导过程。 评论点赞收藏25 天前
基于排序不等式的相似度指标受论文启发,作者利用排序不等式构造了一种新的相似度指标 rcos。该指标将完全同序和完全反序分别映射为 1 和 -1,解决了传统余弦相似度无法区分同序与反序的问题。文章推导了公式,并与 Spearman 秩相关系数建立联系,提供了比现有方法更合理的语义解释。 评论点赞收藏30 天前
LogSumExp与Softmax的泰勒展开分析最近看到论文《The Key to Going Linear: Analysis-Driven Transformer Linearization》里边直接对Softmax做近似展开来线性化At... 评论点赞收藏34 天前
让炼丹更科学一些(七):步长调度与权重平均精通炼丹的同学都知道,步长调度,或者说学习率调度(LR Schedule),对模型最终效果来说至关重要。 我们在前几篇文章中已经推导过,即便只考虑SGD,终点收敛的最优学习率函数也具有Warmup... 评论点赞收藏41 天前
矩阵函数近似中的暴力美学此前,我们在《矩阵平方根和逆平方根的高效计算》和《矩阵r次方根和逆r次方根的高效计算》探讨过矩阵幂的高效计算, 它们将原本用于计算$\newcommand{msign}{\mathop{\text... 评论点赞收藏51 天前
强制间隔投影(Margin-Enforcing Projection)这篇文章我们介绍一个数学运算,名为“强制间隔投影(Margin-Enforcing Projection,MEP)”,它将向量按指定方式划分为两部分,然后要求这两部分的间隔至少为$m$(Marg... 评论点赞收藏57 天前
MoE漫游指南:第九期,关于门控归一化的争论追溯一下MoE历史,我们都能发现,早些年MoE的Router在作为Gate去乘到Expert上时, 基本都是用Softmax激活,直到现在它仍是MoE的标准形式之一。 不过,为了配合Loss-Fre... 评论点赞收藏59 天前
流形上的最速下降:第六期,Muon优化器与双旋转技术我们知道,用Adam、Muon等优化器更新矩阵参数时,奇异值和左右奇异向量都会随之变化, 它们通常都是耦合在一起。也正是因为这种耦合性,我们无法简单地调控矩阵参数的奇异值, 因此在奇异值出现异常增长... 评论点赞收藏69 天前
为什么官方版Muon比MuP版多出一个max(1, ⋅)?在文章《Muon优化器指南:快速上手与关键细节》中,我们罗列了Muon的几个版本, 它们的区别是学习率的矩阵形状相关的缩放因子不同,其中“官方版(KellerJordan版)”只比“MuP版”多出... 评论点赞收藏73 天前
矩阵参数的奇异值熵越高越好吗?在去年的技术报告《Muon is Scalable for LLM Training》中,为了对比Muon与Adam所训练出来的模型的差异, 我们引入了“奇异值熵”的概念,观察到Muon训练出来的... 评论点赞收藏78 天前
MoE环游记:8、强制序列级均衡到目前为止,“MoE环游记”系列已经写了7篇文章,其中5篇都是围绕着MoE的路由和负载均衡展开的。 从路由的形式来看,它们可以分为静态计算和动态计算两类; 从实现负载均衡的方法上看,它们又可以分为A... 评论点赞收藏85 天前
DeepSeek V4的tid2eid是怎么来的?训过MoE的同学都知道,如果把整个模型的MLP部分都换成MoE,那么靠近Embedding的前几层MoE往往很难实现负载均衡。 对此,DeepSeek V3,包括我们的Kimi K2,采取的应对策... 评论点赞收藏93 天前
直接以FID为损失函数:从梯度计算到流式训练关注视觉生成模型的读者都知道,FID一直是其关键的评价指标之一,它越小往往意味着生成效果越真实。 那么一个自然的问题是:为什么不干脆直接以FID为损失函数来训练生成模型呢? 难道是因为FID不可导?... 评论点赞收藏100 天前
如何更科学地估计矩阵的谱范数?谱范数(Spectral Norm)是矩阵分析中的核心概念,在深度学习领域中也扮演着重要角色——从WGAN时代所需的Lipschitz约束, 到如今LLM的训练稳定性,再到方兴未艾的Muon优化器... 评论点赞收藏104 天前
MuP之上:4. 坚守参数的稳定性通过前几篇文章的推导和计算,我们可以发现,第一篇《MuP之上:1. 好模型的三个特征》所提的三个稳定性指标通常可以分为“参数稳定性”和“增量稳定性”两部分, 而在《MuP之上:2. 线性层与最速下... 评论点赞收藏114 天前
基于流式幂迭代的Muon实现:5. 延伸本系列文章的主题是“流式幂迭代”,顾名思义,它由“流式”和“幂迭代”两部分构成, 其中“幂迭代”是求矩阵SVD的一种经典的多步迭代方案,而“流式”则是指将原本需要多步迭代的算法平摊到每一步训练上, ... 评论点赞收藏120 天前
基于流式幂迭代的Muon实现:4. 原理经过《基于流式幂迭代的Muon实现:1. 初识》、《基于流式幂迭代的Muon实现:2. 加速》和《基于流式幂迭代的Muon实现:3. 雕琢》三篇文章,想必大家已经对流式幂迭代(Streaming... 评论点赞收藏124 天前
基于流式幂迭代的Muon实现:3. 雕琢回顾前两篇文章《基于流式幂迭代的Muon实现:1. 初识》和《基于流式幂迭代的Muon实现:2. 加速》,我们引入了Muon的流式幂迭代(Streaming Power Iteration)实现... 评论点赞收藏130 天前
中位数(Median)简介最近重新学习了一下中位数的概念,趁新鲜记录一下要点。 做异常值剔除或者裁剪时,我们经常需要一个“基准”,比如对于一堆非负数据, 我们可能认为大于基准的50倍就是异常值。 那这个基准如何选取呢?一个常用... 评论点赞收藏138 天前