{
  "source_file": "0930",
  "source_platform": "个人博客",
  "author": "苏剑林",
  "title_listed": "Transformer升级之路：20、MLA好在哪里？（上）",
  "keywords": "MLA,注意力,多头",
  "domain": "大模型算法",
  "content_type": "深度技术解析",
  "is_paid_flag": "否",
  "url": "https://spaces.ac.cn/archives/10907",
  "publish_date": "2025-05",
  "corpus_stage": "预训练/SFT",
  "notes": "MLA 注意力实验分析",
  "id": "34faad8668cf",
  "collected_at": "2026-10-02T15:14:53",
  "title": "Transformer升级之路：20、MLA好在哪里?（上） - 科学空间|Scientific Spaces",
  "body_markdown": "SEARCH\nMENU\n打赏\n公式\n天象\n链接\n时光\n博览\n归档\nCATEGORIES\n千奇百怪\n天文探索\n数学研究\n物理化学\n信息时代\n生物自然\n图片摄影\n问题百科\n生活/情感\n资源共享\nNEWPOSTS\n如何让GDN2更稳定一些？\n通过微扰分析求解等式约束优化问题\n慢即是快：1. Shampoo的尽...\n排序不等式及其推广\n让炼丹更科学一些（十）：单调性假设...\n让炼丹更科学一些（九）：经典自适应...\n让炼丹更科学一些（八）：多阶段训练...\n动量的新理解：逼近特征层面的梯度下降\n流形上的最速下降：7. Stief...\n除了交叉熵，LM Loss还有什么选择？\nCOMMENTS\ncarl_lei\n: 苏神，之前我一直有一个直觉是：MoE通过不同系数加权得到的FF...\nAli Hatamizadeh\n: Thank you for looking into this...\n苏剑林\n: 对于线性层，取max能得到谱范数，然后可以推出Muon，Muo...\n苏剑林\n: Thanks for sharing! I looked in...\nPurshow\n: 苏老师，请问下取max会不会影响控制下界太宽松了呢\nbookworm\n: 天下苦秦久矣，期待苏老师的教材！\nAli Hatamizadeh\n: Hi ! I am the lead GDN-2 author...\nyixiao chen\n: 谢谢苏神！代码在https://github.com/Chyx...\n苏剑林\n: 欢迎作者！我仔细读了一下，感觉写作还是很清晰的，至少比 htt...\n苏剑林\n: 免训练估计够呛，从实用的角度看，其实也不应该相信任何免训练的可能\nUSERLOGIN\n登录\n科学空间|Scientific Spaces\n登录\n打赏\n公式\n天象\n链接\n时光\n博览\n归档\n渴望成为一个小飞侠\n欢迎订阅\n个性邮箱\n天象信息\n观测ISS\nLaTeX\n关于博主\n欢迎访问“科学空间”，这里将与您共同探讨自然科学，回味人生百态；也期待大家的分享～\n千奇百怪\nEverything\n天文探索\nAstronomy\n数学研究\nMathematics\n物理化学\nPhy-chem\n信息时代\nBig-Data\n生物自然\nBiology\n图片摄影\nPhotograph\n问题百科\nQuestions\n生活/情感\nLife-Feeling\n资源共享\nResources\n千奇百怪\n天文探索\n数学研究\n物理化学\n信息时代\n生物自然\n图片摄影\n问题百科\n生活/情感\n资源共享\n首页\n信息时代\nTransformer升级之路：20、MLA好在哪里?（上）\n4\nMay\nTransformer升级之路：20、MLA好在哪里?（上）\nBy\n苏剑林\n|\n2025-05-04\n|\n112083位读者\n|\n:\n自从DeepSeek爆火后，它所提的Attention变体MLA（\nM\nulti-head\nL\natent\nA\nttention）也愈发受到关注。MLA通过巧妙的设计实现了MHA与MQA的自由切换，使得模型可以根据训练和推理的不同特性（Compute-Bound or Memory-Bound）选择最佳的形式，尽可能地达到效率最大化。\n诚然，MLA很有效，但也有观点认为它不够优雅，所以寻找MLA替代品的努力一直存在，包括我们也有在尝试。然而，经过一段时间的实验，我们发现很多KV Cache相同甚至更大的Attention变体，最终效果都不如MLA。这不得不让我们开始反思：MLA的出色表现背后的关键原因究竟是什么？\n接下来，本文将详细介绍笔者围绕这一问题的思考过程以及相关实验结果。\n观察\n#\nMLA提出自\nDeepSeek-V2\n，本文假设读者已经熟悉MLA，至少了解之前的博客\n《缓存与效果的极限拉扯：从MHA、MQA、GQA到MLA》\n所介绍的内容，因此MLA自身的细节将不会过多展开。\nMLA的主要特点如下：\n1、MLA在训练阶段是一个qk_head_dims=(128+64)、v_head_dims=128的MHA；\n2、MLA在解码阶段是一个qk_head_dims=(512+64)、v_head_dims=512、KV-Shared的MQA；\n3、MLA的[qc, qr]、[kc, kr]拼接，可以理解为一种\nPartial RoPE\n。\n猜测\n#\nMHA、GQA常用的head_dims是128，而对于MLA来说，不管是从训练看的128+64，还是从推理看的512+64，都要大于128，再结合\n《突破瓶颈，打造更强大的Transformer》\n的经验，我们有：\n猜测1\n： 增大head_dims是MLA好的关键之一。\n另外，KV-Shared这个特性，可以在同等KV Cache大小下，增大GQA的head_dims或者num_groups，所以有：\n猜测2\n： KV-Shared是MLA好的关键之一。\n最后，此前有一些理论和实验显示Partial RoPE可能会对效果有正面帮助（参考\n《Transformer升级之路：18、RoPE的底数选择原则》\n），所以有\n猜测3\n： Partial RoPE是MLA好的关键之一。\n实验\n#\n现在我们通过实验逐一检验以上猜测。\n设置\n#\n所有实验公共部分的超参数如下：\n1、类似LLAMA3的Dense模型；\n2、hidden_size=2048，num_layers=12，num_heads=16；\n3、优化器是\nMuon\n，Attention部分per head更新；\n4、训练长度为4096，总tokens数为16B，总训练步数为16k；\n5、所有实验都是只改变Attention，所以参数量不会严格对齐。\nPart I\n#\nMLA的KV Cache大小是512+64，约等于GQA2-128（第一个数字是num_groups，第二个数字是head_dims），所以对比的baseline为\nGQA2-128\n和\nGQA1-256\n。为了验证Partial RoPE，我们增加了\nGQA1-256-PR\n，具体做法是将Q、K的256 dims分成192+64两部分，在64上加RoPE，192不加。\n结果如下：\n$$\\begin{array}{c|ccc}\n\\hline\n& \\text{Params} & \\text{Loss} & \\text{Cache} \\\\\n\\hline\n\\text{MLA} & 894M & 2.721 & 576 \\\\\n\\text{GQA2-128} & 842M & 2.75 & 512 \\\\\n\\text{GQA1-256} & 943M & 2.72 & 512 \\\\\n\\text{GQA1-256-PR} & 943M & 2.711 & 512 \\\\\n\\hline\n\\end{array}$$\n即\n$$\\text{GQA2-128} < \\text{MLA} \\lesssim \\text{GQA1-256} < \\text{GQA1-256-PR}$$\n初步验证了增大head_dims和Partial RoPE的作用。这样看来，MLA的设计中，RoPE和NoPE拼接这部分看似无奈的设计，极有可能是它效果优异的关键原因！原论文声称MLA甚至优于MHA，大概率也是因为所对比的MHA的head_dims只有128。\nPart II\n#\n为了进一步验证增大head_dims的作用，我们另外跑了MHA、GQA2-192、MLA-256三个实验，MHA是head_dims=128的常规MHA，GQA2-192是直接增大GQA2的head_dims到192，MLA-256是将MLA的128+64提升到192+64，对照如下\n$$\\begin{array}{c|ccc}\n\\hline\n& \\text{Params} & \\text{Loss} & \\text{Cache} \\\\\n\\hline\n\\text{MHA} & 931M & 2.721 & 4096 \\\\\n\\text{MLA} & 894M & 2.721 & 576 \\\\\n\\text{MLA-256} & 989M & 2.705 & 576 \\\\\n\\text{GQA2-128} & 842M & 2.75 & 512 \\\\\n\\text{GQA2-192} & 899M & 2.729 & 768 \\\\\n\\text{GQA1-256} & 943M & 2.72 & 512 \\\\\n\\text{GQA1-256-PR} & 943M & 2.711 & 512 \\\\\n\\hline\n\\end{array}$$\n可以看到，MHA总参数量更多，KV Cache更是7倍于MLA，但Loss才堪堪追平MLA，这跟DeepSeek-V2里边的结论接近。此外，GQA2-192优于GQA2-128，但不如GQA1-256；MLA的head_dims升到(192+64)后，相比(128+64)也还能进一步提升效果。这些现象都表明，增加head_dims远比增加num_groups更有效。\nPart III\n#\n接下来我们验证KV-Shared，即K、V共享全部或大部分dims。这里我们主要考虑的替代品是head_dims不超过256的GQA，并且控制KV Cache的总大小跟MLA接近，所以当KV-Shared时，我们可以至多可以考虑GQA2-256。\n由于KV-Shared跟RoPE不完全兼容，参考MLA的做法，我们将256分成192+64两部分，其中\n1、192部分不加RoPE，在K、V间共享；\n2、64部分加RoPE，只用于K；\n3、V另外再投影64 dims，concat到共享的192 dims上去。\n这样一来，K、V的head_dims都是256，KV Cache总大小是(192+64+64)*2=640，略大于MLA的512+64=576，这个版本我们简记为“\nGQA2-(192+64)-S1\n”，其实“S1”是“Shared-1”的缩写。\nPart IV\n#\n另外一种KV-Shared的方案是：\n1、192部分不加RoPE，在K、V间共享；\n2、64部分加RoPE，同样在K、V间共享；\n3、做Attention，由于V带RoPE，此时是绝对位置编码效果；\n4、为了保证相对位置编码，将输出分成192+64两部分，64部分再加一次逆向RoPE。\n这种做法是K、V完全共享，KV Cache大小是(192+64)*2=512，略小于MLA。这个版本我们称为“\nGQA2-(192+64)-S2\n”，“S2”是“Shared-2”的缩写，背后的原理是笔者新提出的VO-RoPE，参考\n《Transformer升级之路：19、第二类旋转位置编码》\n。\nPart V\n#\n另外，根据同样思路补了几个GQA4和GQA1的实验。所有实验结果汇总如下：\n$$\\begin{array}{c|ccc|c}\n\\hline\n& \\text{Params} & \\text{Loss} & \\text{Cache} & \\text{备注} \\\\\n\\hline\n\\text{MLA} & 894M & 2.721 & 576 & \\\\\n\\text{MLA-256} & 989M & 2.705 & 576 & \\\\\n\\text{GQA2-(192+64)-S1} & 946M & 2.714 & 640 & \\\\\n\\text{GQA2-(192+64)-S2} & 943M & 2.708 & 512 & \\text{引入VO-RoPE} \\\\\n\\text{GQA4-(64+64)-S2} & 842M & 2.738 & 512 & \\\\\n\\text{GQA4-(128+64)-S2} & 899M & 2.713 & 768 & \\text{KV Cache最大} \\\\\n\\text{GQA1-(512+64)-S3} & 1171M & 2.677 & 576 & \\text{head_dims最大} \\\\\n\\hline\n\\end{array}$$\n这里“\nGQA1-(512+64)-S3\n”是按照MLA的推理形式实现的MQA，形式介乎S1与S2之间，它的主要特点是head_dims大。\n结果解读：\n1、KV-Shared的GQA自带Partial RoPE；\n2、KV-Shared的GQA2-256，也能超过MLA；\n3、VO-RoPE的引入，似乎有利于效果（S1 ≲ S2）；\n4、同等KV Cache下，head_dims越大越好；\n5、GQA2-(192+64)-S2 略微超过 GQA1-256-PR；\n6、GQA4-(128+64)-S2 的KV Cache最大，但效果不是最优，再次表明head_dims更关键。\n关于KV-Shared，还有两点观察：\n1、训练过程中，GQA1-256-PR前期是明显领先GQA2-(192+64)-S2，但后期被追平甚至略微反先，猜测GQA1-256-PR可能有后劲不足的嫌疑；\n2、如果没有KV-Shared，GQA顶多是GQA1-256，也就是说head_dims顶天了256，但有KV-Shared的话，GQA可以做到GQA1-512-S，单纯从head_dims看，KV-Shared天花板更高。\nPart VI\n#\n由于没有严格对齐参数量，可能读者会有“到底是增加参数量还是增加head_dims更本质”的疑虑，所以这里补充几个对齐参数量的实验。\n这里考虑的对齐参数量的方式有三种：\n1、\ndouble-heads\n：以“GQA2-128 vs GQA1-256”为例，将GQA2-128的num_heads翻倍，可以让GQA2-128的参数量跟GQA1-256相同；\n2、\n缩减MLP\n：缩小MLP（SwiGLU）的intermediate_size，也可以使得GQA1-256的参数量跟GQA2-128大致相同；\n3、\nQ&O LoRA\n：GQA的主要参数量来自Query和Output的投影矩阵，对这两个矩阵改用LoRA，也可以降低GQA1-256的参数量。\n实验结果如下：\n$$\\begin{array}{c|ccc|ccc}\n\\hline\n& \\text{Params} & \\text{Loss} & \\text{Cache} & \\text{num_heads} & \\text{intermediate_size} & \\text{qo_lora} \\\\\n\\hline\n\\text{MLA} & 894M & 2.721 & 576 & 16 & 5456 & \\text{No}\\\\\n\\hline\n\\text{GQA2-128} & 842M & 2.75 & 512 & 16 & 5456 & \\text{No}\\\\\n\\text{GQA1-256} & 943M & 2.72 & 512 & 16 & 5456 & \\text{No}\\\\\n\\hline\n\\text{GQA2-128} & 943M & 2.723 & 512 & \\color{red}{32} & 5456 & \\text{No} \\\\\n\\text{GQA1-256} & 843M & 2.747 & 512 & 16 & \\color{red}{4096} & \\text{No} \\\\\n\\text{GQA1-256} & 842M & 2.726 & 512 & 16 & 5456 & \\color{red}{\\text{Yes}} \\\\\n\\hline\n\\text{GQA4-(64+64)-S2} & 842M & 2.738 & 512 & 16 & 5456 & \\text{No} \\\\\n\\text{GQA2-(192+64)-S2} & 943M & 2.708 & 512 & 16 & 5456 & \\text{No} \\\\\n\\hline\n\\text{GQA4-(64+64)-S2} & 943M & 2.711 & 512 & \\color{red}{32} & 5456 & \\text{No} \\\\\n\\text{GQA2-(192+64)-S2} & 843M & 2.733 & 512 & 16 & \\color{red}{4096} & \\text{No} \\\\\n\\text{GQA2-(192+64)-S2} & 842M & 2.708 & 512 & 16 & 5456 & \\color{red}{\\text{Yes}} \\\\\n\\hline\n\\end{array}$$\n结果主要分三块：\n1、heads翻倍相比head_dims翻倍，loss稳定差0.003左右；\n2、缩小MLP比head_dims减半，loss稳定优0.004左右；\n3、Q&O LoRA性能损失最小，可以实现head_dims翻倍但参数量不增，且loss明显降。\n结论：如果从增加参数量角度看，增大head_dims可能是效果增益较大的方向，配合Q&O LoRA可以实现参数量几乎不增，但收益仍相当。\n小结\n#\n初步结论是：\n1、增大head_dims收益最大；\n2、Partial RoPE对Loss也有一定帮助；\n3、KV-Shared应该也有一定作用。\n这样看来，此前我们一直在head_dims=128下找MLA的替代品，感觉是起点就先天不足了，难怪一直比不上MLA。要想追平MLA，head_dims应该要192起步了，并辅以Partial RoPE。至于KV-Shared，也可能有用，但应该还需要更大规模的验证。\n意义\n#\n其实这里边的意义，就看我们换掉MLA的决心有多强。\n假设 GQA2-(192+64)-S2 可以替代MLA，但MLA也可以升到256，目前看来 GQA2-(192+64)-S2 比不上 MLA-256 。那么换掉MLA的唯二好处是：\n1、结构更简单，可以方便加QK-Norm；\n2、解码阶段的head_dims由512+64变成了256，同时num_groups变为2，可以TP。\n转载到请包括本文地址：\nhttps://spaces.ac.cn/archives/10907\n更详细的转载事宜请参考：\n《科学空间FAQ》\n如果您还有什么疑惑或建议，欢迎在下方评论区继续讨论。\n如果您觉得本文还不错，欢迎\n分享\n/\n打赏\n本文。打赏并非要从中获得收益，而是希望知道科学空间获得了多少读者的真心关注。当然，如果你无视它，也不会影响你的阅读。再次表示欢迎和感谢！\n打赏\n微信打赏\n支付宝打赏\n因为网站后台对打赏并无记录，因此欢迎在打赏时候备注留言。\n你还可以\n点击这里\n或在下方评论区留言来告知你的建议或需求。\n如果您需要引用本文，请参考：\n苏剑林. (May. 04, 2025). 《Transformer升级之路：20、MLA好在哪里?（上） 》[Blog post]. Retrieved from\nhttps://spaces.ac.cn/archives/10907\n@online{kexuefm-10907,\ntitle={Transformer升级之路：20、MLA好在哪里?（上）},\nauthor={苏剑林},\nyear={2025},\nmonth={May},\nurl={\\url{https://spaces.ac.cn/archives/10907}},\n}\n分类：\n信息时代\n标签：\n优化\n,\n语言模型\n,\n生成模型\n,\nattention\n51 评论\n<\n一道概率不等式：盯着它到显然成立为止！\n|\nmsign算子的Newton-Schulz迭代（上）\n>\n你也许还对下面的内容感兴趣\n如何让GDN2更稳定一些？\n通过微扰分析求解等式约束优化问题\n除了交叉熵，LM Loss还有什么选择？\n简单谈谈K3的MoE和Attention\n解构Scaling Law：优化、架构、数据的三重奏\n将Softmax Attention线性化为Gated DeltaNet\nLogSumExp和Softmax的泰勒展开\n强制间隔投影（Margin-Enforcing Projection）\n直接以FID为Loss：从梯度计算到流式训练\nAttention Residuals 回忆录\n发表你的看法\n«\n1\n2\njorjiang\nJune 3rd, 2025\n剑林你好，我这里有个简单的MLA的解读，https://zhuanlan.zhihu.com/p/1911795330434986569。\n不考虑positional encoding的情况下：\n从MHA到MLA就两步：\n1.放弃缓存较大的KV，而缓存更小的输入Embedding X，代价是每次decoding step都重复地从X计算KV\n2.简单粗暴地给X降维，从而使得缓存的X和重复计算KV的计算量都大幅减小。\n其实和正常的MHA相比，MLA压缩了的东西就是输入X，而且这个压缩比较激进，直接从7168压缩到了512 （对q来说是压到1536），这么大的压缩还有效，不知道如何解读。\n如果embedding只用512就够了的话。从512纬的空间里，取出128个不一样的128纬投影，这128个头感觉应该有很多重叠，是不是其实根本用不上这么多头？或者是不是可以在此基础上对heads做稀疏话 类似mixture of attention heads之类的\n回复评论\n苏剑林\n发表于\n                June 3rd, 2025\n很遗憾，你这两点“解读”跟MLA真正的精妙之处完全没关系，甚至基本上是错的。\nMLA是利用了NoPE的MHA和MQA可以相互变换的特性，在训练和prefill阶段表现为head_dims=192的MHA，在decoding阶段表现为head_dims=576的MQA，利用了两个阶段分别是compute-bound和memory-bound的特性，使得两个阶段的效率都实现最大化，并不存在什么“牺牲时间换空间”或者“牺牲空间换时间”的问题。\n特别是按照本文的观点，head_dims很重要，所以MLA的精妙之处在于，以MHA-192的训练成本和prefill成本，实现了近乎MQA-576的效果和decoding成本。\n总的来说，MLA的重点是NoPE下MHA和MQA的恒等变换性质，以及在不同阶段针对性地使用不同的形式，不存在谁牺牲谁。在理解MLA前，可以先多了解一下主流的GQA和MQA，了解一下Attention机制的瓶颈在哪。\n回复评论\njorjiang 发表于\n                June 4th, 2025\n看问题的不同角度吧，可能我的这个视角有点绕 不是很直观，你把它看成MQA，而我把它还是看作MHA。\n看这个简单公式的话\n$\\mathrm {softmax}(\\underbrace{x^{\\top}W_q}_{q\\in\\mathbb R^{1\\times d_h}}\\underbrace{W_k^{\\top}X}_{k^{\\top}\\in\\mathbb R^{ d_h \\times N}}) \\underbrace{X^{\\top}W_v}_{v \\in \\mathbb R^{N\\times d_h}}W_o = \\mathrm {softmax}(\\underbrace{x^{\\top}W_qW_k^{\\top}}_{q'\\in\\mathbb R^{1\\times d}}\\underbrace{X}_{k'^{\\top}\\in\\mathbb R^{ d \\times N}}) \\underbrace{X^{\\top}}_{v'\\in \\mathbb R^{N\\times d}}W_vW_o$\n应该很明显可以看出，MLA干的就是“不缓存计算完成的KV，而只保存（从7168降维为576）的x（这个x就是论文中的latent，也就是你说的MQA里的那一个头，但我偏向于把它依然看做没算出qkv的x），然后每次重复计算kv”是一回事。只是我说的这个重复计算kv的计算是转嫁到吸收掉的wk和wv的wq和wo里了，因为很明显你可以看到MLA在decoding时新的q和o的计算成本是比普通128纬的MQA大的，而且大出来的就是每次重新计算kv的部分。\n你把他看成MQA的话和MHA区别太大，很多东西没有可比性。我这个角度几乎把MLA和原始MHA等价的部分保留下来了。最后很容易看出从计算上MLA和128个头，每个头128纬的MHA唯一的区别就是计算qkv前把x降维了\n回复评论\n苏剑林\n发表于\n                June 4th, 2025\n不是你我将它看成什么，而是它本身就是MQA，你换个名字它也是MQA，而且它是因为能变成MQA才变得更有意义起来，实际decoding也确确实实是按照MQA来decoding。latent压缩很多人都能想到，这不是什么创新，MLA的精华是在NoPE下，这种压缩能够转化成一个MQA，从而可以只缓存latent同时还不影响decoding速度。\n如果你只强调latent，没有指出NoPE下对MQA的可转换性，那就不是MLA，而是单纯的hidden_state压缩。压缩hidden_state，只缓存压缩后的结果，然后推理时慢慢实时去恢复KV，就是你说的“时间换空间”，这太容易想了，很多事后压缩的方案都是这样的，但MLA的精妙在于人家根本不需要拿时间来换，因为decoding的瓶颈并不是计算。\n总之，你在训练阶段和prefill阶段，将它理解为MHA，这没有问题，它本来就是；但是你在解释为什么可以只缓存那个512的latent（实际上还要加上64的RoPE）时，将它理解为“时间换空间”的MHA，那就是根本错误，不是“不同角度”可以接受的。\n回复评论\nany 发表于\n                June 4th, 2025\n我个人来看这个解读角度只是缺失遗漏，不算完全错吧。如果单单只看MLA的结构图的话，它的表现确实完全是“将存储kv cache改为存储降维后的Embedding X”。但问题恰恰在于结构图没有展示出MLA最核心的部分：苏神提到的“矩阵吸收”，即“训练和prefill这个compute-bound阶段不做矩阵吸收，decoding这个memory-bound阶段做矩阵吸收”，从而达到效率最大化（具体为何可以省可以看看这里：https://developnotes.readthedocs.io/zh-cn/latest/deepseek.html#absorb）。正是因为“矩阵吸收”只能在nope下做，所以MLA才有了nope和rope部分，如果单单“Cache Compressed Embedding X”的话，是不需要nope/rope操作的。所以MLA是使用这两个相对独立的方式来分别完成“省kv cache”和“优化decoding阶段的访存效率”问题。你在你专栏补充后一点即可\n回复评论\n苏剑林\n发表于\n                June 4th, 2025\n“将存储kv cache改为存储降维后的Embedding X”这句话没错，但是按照我的理解，这句话还不算MLA，后面的不牺牲效率地、按需地进行MQA/MHA转化，才算是MLA，而作者则专门突出它牺牲XXX换XXX，所以我觉得并不正确。\n回复评论\njorjiang 发表于\n                June 5th, 2025\n训练和prefill这个compute-bound阶段不做矩阵吸收，这个用我这个解释更好理解了。正是因为decoding需要kv cache，而且是memory bound，计算不是瓶颈，所以可以引入更大的计算量换取内存空间是划算的，因为矩阵吸收干的就是“牺牲一些计算量换取内存空间”这件事。但是prefill和training不存在kv cache，且是计算bound，所以根本没必要做矩阵吸收，老老实实做原版的MHA就好了反而更快\n回复评论\njorjiang\nJune 4th, 2025\n时间换空间的表述，算是我有缺陷。精确的说是“计算量“换空间。因为你不可否认MLA就是每个decoding step比直接缓存算好的kv计算量变大了，因为q和o多了一个矩阵，这个矩阵就是MHA里的Wk和Wq的，也是128个头的。只不过在英伟达卡上做decoding，这个增加的算力体现出来的“时间”代价不明显。我们在某些国产卡上测试，这些卡小算力大带宽，这个时间换空间就很明显，在上下文长度短，cache不是瓶颈的情况下，还不如直接转成MHA做decoding快一点，所以我才会有这些思考。\n我之所以想按照MHA而不是MQA理解，是想找出MLA到底和传统的MHA在数学上归根到底有什么区别，按MQA理解是不好比较的，因为这个MQA不是一个正常的MQA，比如他的K、V是同一个东西，q和o的计算复杂度也远大于K、V，感觉和原始的MHA就是两个东西，你要试图理解他在简单的MHA上到底有什么区别的话，无法直接比较，变量太多。比如说““实现了近乎MQA-576的效果和decoding成本”很好，因为“head_dims很重要”，这个我就不敢苟同，因为拿MQA和MHA比单头大小没什么意义。但是 我把它看作MHA就会发现他做的实际就是head_dim=128, num_heads=128的MHA，所以在head_dim上并没有你说的那个优势。而且可以明显看出MLA和传统的MHA只有一个差距，就是x被降维了。这个就是MLA实际干的事，数学上和MQA的理解是一摸一样的，好想也好不好想也好，这就是MLA实际干的事。\n回复评论\n苏剑林\n发表于\n                June 4th, 2025\n我前面就说了，它在训练阶段和prefill阶段都是MHA，你理解为MHA，在数学上一点问题的都没，但是你在decoding阶段将其定性为XXX“换”空间，那就不妥，因为它没有牺牲什么东西来换。你说它计算量增加，可以，但计算量不是瓶颈，所以没有增加推理时间，反而因为减少了kv cache而减少了推理时间，这点指出来就不会有人诟病。\n“在某些国产卡上测试，这些卡小算力大带宽，这个时间换空间就很明显”，这个有可能，但是现在算法的编程趋势本质上在过拟合某类甚至某个硬件，MLA本身就是为A卡甚至H卡定制的产品，用到其他卡效率差是使用者的问题，并不是MLA设计理念上要通过XXX来“换”XXX。\n我的观点很简单，你脑子里是MHA还是MQA，甚至你代码里是MHA还是MQA，没人管，也没什么错误，但做评价或者断言时，应该尊重设计者本身的设计事实。\n回复评论\n苏剑林\n发表于\n                June 4th, 2025\n我建议的一种比较符合事实的理解顺序是（下面说的都是NoPE）：\n1、我们“需要”将kv cache压缩到512，是高效、便宜地decoding的需要，而不是因为512就够用或者够好了；\n2、限定kv cache=512的前提下，什么模型效果最好呢？答案是kv共享的MQA-512，由于恒等变换的存在，你会发现不管是普通的MQA、GQA还是MHA，都可以转换为一个head_dims=kv cache的、kv共享的MQA，所以一个head_dims=kv cache的、kv共享的MQA效果是最好的；\n3、问题是，MQA-512在decoding时能接受，训练和prefill都不能接受，所以对QKV引入LoRA，利用恒等变换，在训练和prefill阶段转换为MHA-128（算上RoPE是MHA-192），decoding时又能恢复MQA-512；\n4、所以你专栏里“为什么可以给X降维”这个问题的提法，其实不大适合，只是因为decoding效率需要我们给它降维而不是“可以”降维，更适合的问题是“为什么降了维之后效果还能媲美完全体的MHA-128”，本文提出的观点是，因为MLA无形之中将Q、K的head_dims升到了192，这对效果有本质作用，导致它实现的可能是MQA-256甚至是MQA-512的效果。\n回复评论\njorjiang 发表于\n                June 4th, 2025\n是我有点妄自猜测作者意图了。\n“更适合的问题是‘为什么降了维之后效果还能媲美完全体的MHA-128’” ，这确实是我最后的疑问。有空也像你一样做个测试看看\n回复评论\namy\nJune 5th, 2025\n苏老师，您有关注傅里叶旋转位置编码这篇工作吗，想知道您对这篇工作的看法是什么，这篇工作可以work的核心是在于增加了更多的频率，还是像文章中分析的那样，由于attention模块内外对于频谱的损伤，所以必须采取多种频率线性叠加的方式来适应这种损伤。\n回复评论\n苏剑林\n发表于\n                June 8th, 2025\n这两天看了下FoPE，感觉它的分析有点道理，但它实现的代码跟论文其实是不一样的。\n看论文的描述，FoPE想要实现的是\n$$ q_n k_m^* [e^{i\\omega_a(n-m)} + e^{i\\omega_a(n-m)}]$$\n这种混合频率的相对位置编码，但实际上，它的代码是\n$$ \\tilde{q}_n=q_n [e^{i\\omega_a n} + e^{i\\omega_a n}],\\quad \\tilde{k}_m=k_m [e^{i\\omega_a m} + e^{i\\omega_a m}]$$\n注意\n$$ \\tilde{q}_n \\tilde{k}_m^* \\neq q_n k_m^* [e^{i\\omega_a(n-m)} + e^{i\\omega_a(n-m)}]$$\n甚至$\\tilde{q}_n \\tilde{k}_m^*$都并不是只依赖于$n-m$！换言之FoPE根本不是相对位置编码，而是更接近真正的绝对位置编码。\n我不大确定作者是对旋转变换的理解有误还是刻意为之，总之它代码实现的并不是论文所写的。当然，如果它代码跑出来确实不错，那么表明不是相对位置编码也没啥问题，但这个问题应当澄清楚。\n如果要严格实现$ q_n k_m^* [e^{i\\omega_a(n-m)} + e^{i\\omega_a(n-m)}] $ 这种attention，不改flash attention代码实际上是很难做到的。但如果改flash attention就为了实现这个，又好像有点小题大作。\n另外我觉得即便实现了这种形式，它的上限还是不如最近出来的PaTH Attention（ https://arxiv.org/abs/2505.16381 ）的，所以如果要关心这个方向的变化，还不如直接看PaTH Attention。\n回复评论\n陈少龙\nJune 8th, 2025\n苏神，您好！看了您的分享受益匪浅。但是我有个担心和疑问，您这里的每个实验表里不同对比组的loss其实绝大多数差别都不大，他们之间的差别真的是统计上显著的吗？如果每组实验都是多次实验之后取平均而得来的，那每组实验的标准差是多少。就比如说您Part VI中的那个表，11个loss的均值是2.726，标准差是0.014，那如果每组实验的标准差也是0.014这个量级，那这些不同组的实验是否真的统计上显著不同呢？\n回复评论\n苏剑林\n发表于\n                June 8th, 2025\n对于每一步数据都严格对齐来说，0.01的loss差距不小了，因为它代表了每一个step的loss都好0.01以上～而且这不是发paper，对于一个改动是否有效，我们会有更多更微妙的感知细节，当然也会做更多的另外验证。\n回复评论\n«\n1\n2\n取消回复\n你的大名\n电子邮箱\n个人网站（选填）\n1. 可以使用LaTeX代码，点击“预览效果”可查看效果；\n2. 可以通过点击评论楼层编号来引用该楼层；\n3. 网站可能会有点卡，如非确认评论失败，请\n不要重复点击提交\n。\n内容速览\n观察\n猜测\n实验\n设置\nPart I\nPart II\nPart III\nPart IV\nPart V\nPart VI\n小结\n意义\n智能搜索\n支持整句搜索！网站自动使用\n结巴分词\n进行分词，并结合ngrams排序算法给出合理的搜索结果。\n热门标签\nattention\n生成模型\n优化\n模型\n语言模型\n梯度\n优化器\n矩阵\n概率\n网站\n转载\n微分方程\n分析\n天象\n深度学习\n积分\npython\n几何\n扩散\n力学\n无监督\n损失函数\n节日\n线性\n生活\n随机文章\n受伤-守恒定律\n基于DGCNN和概率图的轻量级信息抽取模型\n【NASA每日一图】射向银河中心的激光\n设计了一个导航页\n梅森素数的探索之旅\n更便捷的Cool Papers打开方式：Chrome重定向扩展\n年三十折腾极路由之SSH反向代理\n从动力学角度看优化算法（六）：为什么SimSiam不退化？\n科学空间终于恢复访问了！\nAdaX优化器浅析（附开源实现）\n最近评论\ncarl_lei\n: 苏神，之前我一直有一个直觉是：MoE通过不同系数加权得到的FFN相比原始的大FFN（也就是直接...\nAli Hatamizadeh\n: Thank you for looking into this and featuring i...\n苏剑林\n: 对于线性层，取max能得到谱范数，然后可以推出Muon，Muon比Adam、SGD等要好，所以...\n苏剑林\n: Thanks for sharing! I looked into this improvem...\nPurshow\n: 苏老师，请问下取max会不会影响控制下界太宽松了呢\nbookworm\n: 天下苦秦久矣，期待苏老师的教材！\nAli Hatamizadeh\n: Hi ! I am the lead GDN-2 author.We've addressed...\nyixiao chen\n: 谢谢苏神！代码在https://github.com/Chyxx/CyclicFlowAtte...\n苏剑林\n: 欢迎作者！我仔细读了一下，感觉写作还是很清晰的，至少比 https://papers.cool...\n苏剑林\n: 免训练估计够呛，从实用的角度看，其实也不应该相信任何免训练的可能\n友情链接\nCool Papers\n数学研发\nSeatop\nXiaoxia\n积分表-网络版\n丝路博傲\n数学之家\n有趣天文奇观\nTwistedW\ngodweiyang\nAI柠檬\n王登科-DK博客\nESON\n枫之羽\ncoding-zuo\n博科园\n孔皮皮的博客\n运鹏的博客\njiming.site\nOmegaXYZ\nEAI猩球\n文举的博客\n汇尘轩\n申请链接\n本站采用创作共用版权协议，要求署名、非商业用途和保持一致。转载本站内容必须也遵循“\n署名-非商业用途-保持一致\n”的创作共用协议。\n© 2009-2026 Scientific Spaces. All rights reserved. Theme by\nlaogui\n. Powered by\nTypecho\n. 备案号:\n粤ICP备09093259号-1/2\n。",
  "metadata": {
    "title": "Transformer升级之路：20、MLA好在哪里?（上） - 科学空间|Scientific Spaces",
    "description": "自从DeepSeek爆火后，它所提的Attention变体MLA（Multi-head Latent Attention）也愈发受到关注。MLA通过巧妙的设计实现了MHA与MQA的自由切换，使得...",
    "keywords": "优化,语言模型,生成模型,attention",
    "author": null
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/slide-button.png",
      "bytes": 4328,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-fcd8b7d1212b1f5eab2b.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/slide-button.png",
      "alt": "MobileSideBar",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/rss.png",
      "bytes": 19283,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-043e6308dc873ff9fa67.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/rss.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/mail.png",
      "bytes": 16811,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-942ff5c7b650f4d3d31f.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/mail.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/Saturn.png",
      "bytes": 2524,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-53b9d00850633d612de3.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/Saturn.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/iss.png",
      "bytes": 3301,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-896b482bdde5ec1df88a.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/iss.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/pi.png",
      "bytes": 939,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-3f7f2f2318249e4eac9a.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/pi.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/images/mlogo.png",
      "bytes": 18685,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-cbbace78f2cd4551d156.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/images/mlogo.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/payment/wx.png",
      "bytes": 36540,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-c5d79f289db1f5d431bc.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/payment/wx.png",
      "alt": "科学空间",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://spaces.ac.cn/usr/themes/geekg/payment/zfb.png",
      "bytes": 31565,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-4345e58697a529a3d3a5.png",
      "src": "https://spaces.ac.cn/usr/themes/geekg/payment/zfb.png",
      "alt": "科学空间",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://kexue.fm/usr/themes/geekg/images/cc.gif",
      "bytes": 2031,
      "reused": false,
      "local_path": "attachments/34faad8668cf/images/body-b2904ced8e4508d61bed.gif",
      "src": "https://kexue.fm/usr/themes/geekg/images/cc.gif",
      "alt": "署名-非商业用途-保持一致",
      "downloaded": true
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "href": "https://spaces.ac.cn/reward.html",
      "label": "打赏",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/latex.html",
      "label": "公式",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/ac.html",
      "label": "天象",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/links.html",
      "label": "链接",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/me.html",
      "label": "时光",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/science.html",
      "label": "博览",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/content.html",
      "label": "归档",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Everything",
      "label": "千奇百怪",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Astronomy",
      "label": "天文探索",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Mathematics",
      "label": "数学研究",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Phy-chem",
      "label": "物理化学",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Big-Data",
      "label": "信息时代",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Biology",
      "label": "生物自然",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Photograph",
      "label": "图片摄影",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Questions",
      "label": "问题百科",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Life-Feeling",
      "label": "生活/情感",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/category/Resources",
      "label": "资源共享",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11945",
      "label": "如何让GDN2更稳定一些？",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11928",
      "label": "通过微扰分析求解等式约束优化问题",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11917",
      "label": "慢即是快：1. Shampoo的尽...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11910",
      "label": "排序不等式及其推广",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11885",
      "label": "让炼丹更科学一些（十）：单调性假设...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11882",
      "label": "让炼丹更科学一些（九）：经典自适应...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11879",
      "label": "让炼丹更科学一些（八）：多阶段训练...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11875",
      "label": "动量的新理解：逼近特征层面的梯度下降",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11864",
      "label": "流形上的最速下降：7. Stief...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11854",
      "label": "除了交叉熵，LM Loss还有什么选择？",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10699/comment-page-3",
      "label": "carl_lei : 苏神，之前我一直有一个直觉是：MoE通过不同系数加权得到的FF...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11945/comment-page-1",
      "label": "Ali Hatamizadeh : Thank you for looking into this...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11340/comment-page-1",
      "label": "苏剑林 : 对于线性层，取max能得到谱范数，然后可以推出Muon，Muo...",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/1328/comment-page-1",
      "label": "bookworm : 天下苦秦久矣，期待苏老师的教材！",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11848/comment-page-2",
      "label": "苏剑林 : 免训练估计够呛，从实用的角度看，其实也不应该相信任何免训练的可能",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/admin/login.php",
      "label": "登录",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/",
      "label": "科学空间|Scientific Spaces",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/feed",
      "label": "欢迎订阅",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/119",
      "label": "个性邮箱",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/41",
      "label": "观测ISS",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907",
      "label": "Transformer升级之路：20、MLA好在哪里?（上）",
      "type": "a"
    },
    {
      "href": "https://papers.cool/arxiv/2405.04434",
      "label": "DeepSeek-V2",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10091",
      "label": "《缓存与效果的极限拉扯：从MHA、MQA、GQA到MLA》",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10122",
      "label": "Partial RoPE",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/7325",
      "label": "《突破瓶颈，打造更强大的Transformer》",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10592",
      "label": "Muon",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10862",
      "label": "《Transformer升级之路：19、第二类旋转位置编码》",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/6508",
      "label": "《科学空间FAQ》",
      "type": "a"
    },
    {
      "href": "http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=tN7d1drY3drrx8H0xcWa19vZ",
      "label": "点击这里",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E4%BC%98%E5%8C%96/",
      "label": "优化",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/",
      "label": "语言模型",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B/",
      "label": "生成模型",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/attention/",
      "label": "attention",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10902",
      "label": "一道概率不等式：盯着它到显然成立为止！",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10922",
      "label": "msign算子的Newton-Schulz迭代（上）",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11848",
      "label": "简单谈谈K3的MoE和Attention",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11833",
      "label": "解构Scaling Law：优化、架构、数据的三重奏",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11823",
      "label": "将Softmax Attention线性化为Gated DeltaNet",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11814",
      "label": "LogSumExp和Softmax的泰勒展开",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11784",
      "label": "强制间隔投影（Margin-Enforcing Projection）",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11738",
      "label": "直接以FID为Loss：从梯度计算到流式训练",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/11664",
      "label": "Attention Residuals 回忆录",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-1",
      "label": "«",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2",
      "label": "2",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27757",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://kexue.fm/",
      "label": "苏剑林",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27761",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27765",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27767",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27791",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27795",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27800",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27771",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27779",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27780",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27788",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27799",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27826",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27813",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/10907/comment-page-2?replyTo=27832",
      "label": "回复评论",
      "type": "a"
    },
    {
      "href": "https://github.com/fxsjy/jieba",
      "label": "结巴分词",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%A8%A1%E5%9E%8B/",
      "label": "模型",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%A2%AF%E5%BA%A6/",
      "label": "梯度",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E4%BC%98%E5%8C%96%E5%99%A8/",
      "label": "优化器",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E7%9F%A9%E9%98%B5/",
      "label": "矩阵",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%A6%82%E7%8E%87/",
      "label": "概率",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E7%BD%91%E7%AB%99/",
      "label": "网站",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E8%BD%AC%E8%BD%BD/",
      "label": "转载",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B/",
      "label": "微分方程",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E5%88%86%E6%9E%90/",
      "label": "分析",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E5%A4%A9%E8%B1%A1/",
      "label": "天象",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/",
      "label": "深度学习",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E7%A7%AF%E5%88%86/",
      "label": "积分",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/python/",
      "label": "python",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E5%87%A0%E4%BD%95/",
      "label": "几何",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%89%A9%E6%95%A3/",
      "label": "扩散",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E5%8A%9B%E5%AD%A6/",
      "label": "力学",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%97%A0%E7%9B%91%E7%9D%A3/",
      "label": "无监督",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E6%8D%9F%E5%A4%B1%E5%87%BD%E6%95%B0/",
      "label": "损失函数",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E8%8A%82%E6%97%A5/",
      "label": "节日",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E7%BA%BF%E6%80%A7/",
      "label": "线性",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/tag/%E7%94%9F%E6%B4%BB/",
      "label": "生活",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/1102",
      "label": "受伤-守恒定律",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/6671",
      "label": "基于DGCNN和概率图的轻量级信息抽取模型",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/78",
      "label": "【NASA每日一图】射向银河中心的激光",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/884",
      "label": "设计了一个导航页",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/63",
      "label": "梅森素数的探索之旅",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/9978",
      "label": "更便捷的Cool Papers打开方式：Chrome重定向扩展",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/3604",
      "label": "年三十折腾极路由之SSH反向代理",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/7980",
      "label": "从动力学角度看优化算法（六）：为什么SimSiam不退化？",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/1658",
      "label": "科学空间终于恢复访问了！",
      "type": "a"
    },
    {
      "href": "https://spaces.ac.cn/archives/7387",
      "label": "AdaX优化器浅析（附开源实现）",
      "type": "a"
    },
    {
      "href": "https://papers.cool/",
      "label": "Cool Papers",
      "type": "a"
    },
    {
      "href": "https://bbs.emath.ac.cn/",
      "label": "数学研发",
      "type": "a"
    },
    {
      "href": "http://www.seatop.com.cn/",
      "label": "Seatop",
      "type": "a"
    },
    {
      "href": "https://xiaoxia.org/",
      "label": "Xiaoxia",
      "type": "a"
    },
    {
      "href": "https://kexue.fm/sci/integral/index.html",
      "label": "积分表-网络版",
      "type": "a"
    },
    {
      "href": "http://blog.dvxj.com/",
      "label": "丝路博傲",
      "type": "a"
    },
    {
      "href": "http://www.2math.cn/",
      "label": "数学之家",
      "type": "a"
    },
    {
      "href": "http://interesting-sky.china-vo.org/",
      "label": "有趣天文奇观",
      "type": "a"
    },
    {
      "href": "http://www.twistedwg.com/",
      "label": "TwistedW",
      "type": "a"
    },
    {
      "href": "https://godweiyang.com/",
      "label": "godweiyang",
      "type": "a"
    },
    {
      "href": "https://blog.ailemon.net/",
      "label": "AI柠檬",
      "type": "a"
    },
    {
      "href": "https://greatdk.com/",
      "label": "王登科-DK博客",
      "type": "a"
    },
    {
      "href": "https://blog.eson.org/",
      "label": "ESON",
      "type": "a"
    },
    {
      "href": "https://fzhiy.net/",
      "label": "枫之羽",
      "type": "a"
    },
    {
      "href": "https://coding-zuo.github.io/",
      "label": "coding-zuo",
      "type": "a"
    },
    {
      "href": "https://www.bokeyuan.net/",
      "label": "博科园",
      "type": "a"
    },
    {
      "href": "https://www.kppkkp.top/",
      "label": "孔皮皮的博客",
      "type": "a"
    },
    {
      "href": "https://yunpengtai.top/",
      "label": "运鹏的博客",
      "type": "a"
    },
    {
      "href": "https://jiming.site/",
      "label": "jiming.site",
      "type": "a"
    },
    {
      "href": "https://www.omegaxyz.com/",
      "label": "OmegaXYZ",
      "type": "a"
    },
    {
      "href": "https://www.robotech.ink/",
      "label": "EAI猩球",
      "type": "a"
    },
    {
      "href": "https://liwenju0.com/",
      "label": "文举的博客",
      "type": "a"
    },
    {
      "href": "https://kirigaya.cn/",
      "label": "汇尘轩",
      "type": "a"
    },
    {
      "href": "https://kexue.fm/links.html",
      "label": "申请链接",
      "type": "a"
    },
    {
      "href": "http://creativecommons.org/licenses/by-nc-nd/2.5/cn/",
      "label": "",
      "type": "a"
    },
    {
      "href": "http://www.laogui.com/",
      "label": "laogui",
      "type": "a"
    },
    {
      "href": "http://typecho.org/",
      "label": "Typecho",
      "type": "a"
    },
    {
      "href": "https://beian.miit.gov.cn/",
      "label": "粤ICP备09093259号-1/2",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:53:08Z",
  "source_url": "https://spaces.ac.cn/archives/10907",
  "papers": [],
  "actual_video_files": [],
  "body_chars": 16204,
  "expected_body_images": 10,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/34faad8668cf/pages/source.html",
  "local_html": "attachments/34faad8668cf/pages/article.html",
  "body_base_path": "attachments/34faad8668cf/pages/",
  "body_markdown_path": "attachments/34faad8668cf/pages/article.md"
}