<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI Infra on Code Now</title><link>https://blog.0xnullpath.cc/tags/ai-infra/</link><description>Recent content in AI Infra on Code Now</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 15 Sep 2026 23:30:00 +0800</lastBuildDate><atom:link href="https://blog.0xnullpath.cc/tags/ai-infra/index.xml" rel="self" type="application/rss+xml"/><item><title>DeepSeek 的 Attention演进 -【MLA】</title><link>https://blog.0xnullpath.cc/posts/note-snippet-20-deepseek-%E7%9A%84-attention%E6%BC%94%E8%BF%9B-mla/</link><pubDate>Tue, 15 Sep 2026 23:30:00 +0800</pubDate><guid>https://blog.0xnullpath.cc/posts/note-snippet-20-deepseek-%E7%9A%84-attention%E6%BC%94%E8%BF%9B-mla/</guid><description>&lt;blockquote>
 &lt;p>前言：读完 DeepSeekV4.1 论文，看到 DeepSeek 又一次对模型结构做了大改，笔者颇为激动。于是回顾了一下 DeepSeek 对模型结构的逐步改进，在等 Agent 跑完、工作摸鱼的间隙写下了这系列文章，也算是转到 AI Infra 一年来，对模型结构学习的一个总结。&lt;/p>
&lt;/blockquote>
&lt;p>本文主要介绍 DeepSeek 模型演进中的Attention结构的变化，也展示了从 KVCache 优化角度 DeepSeek 的结构是如何逐步演进的，尤其是结构上对算法和工程的 tradeoff 做一个比较详细的介绍。DeepSeek 的 Attention 选择与设计确实非常优秀，从工程到算法角度都有非常独到的地方，以至于后续国产的大模型 GLM5.x/Minimax3.x/Kimi2.x系列都沿用了 DeepSeek 的设计，或者在其基础上进行一些改进。&lt;/p>
&lt;h2 id="1-mha-用于序列建模transformer-的诞生">1. MHA 用于序列建模，Transformer 的诞生&lt;/h2>
&lt;h3 id="11-背景与问题">1.1 背景与问题&lt;/h3>
&lt;p>这是一个很经典的问题，MultiHead Self-Attention 结构伴随着Transformer诞生，其主要是为了取代 RNN/LSTM(Recurrent Neural Network) 序列建模中两个问题。&lt;/p>
&lt;ol>
&lt;li>长距离依赖建模问题（核心问题）：RNN/LSTM 一直使用一个固定状态 $S$来压缩过去所有状态信息，因此如果输入序列比较长的时候，过量的压缩会导致丢失长距离信息。&lt;/li>
&lt;li>并行问题（计算效率问题）：RNN/LSTM 只能串行计算，如下图所示 RNN 计算状态的时候必须是串行的，只有 $S_{t-1}$计算完成的之后。Attention 是可以并行计算的，一个矩阵/张量就可以一次性算完所有位置。&lt;/li>
&lt;/ol>
&lt;p>下图&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>就可以直接看出这两个问题所在&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/LuYanFCP/note-snippet/main/static/images/issue-20/screenshot-2026-09-14-at-23-52-00.png" alt="screenshot-2026-09-14-at-23-52-00.png">&lt;/p>
&lt;p>RNN 计算下一个 Token 的时候对之前序列的计算是串行的，先算完前一个信息，同时存储状态再计算下一个信息。&lt;/p>
&lt;h3 id="12-attention的引入---序列的-token2token-建模">1.2 Attention的引入 - 序列的 token2token 建模&lt;/h3>
&lt;p>为了解决这两个问题 Transformers 在设计之初引入 Attention 对序列进行建模，他的结构如图&lt;sup id="fnref1:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>所示：直接对整个序列进行 Pair2Pair 的计算，因此解决之前的两个问题。但实际上会更加抽象一些，将序列 Pair 问题转为一个查表问题&lt;/p></description></item></channel></rss>