热门话题
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
下一代 LLM 架构将是什么样子?
这个问题不断引发辩论——知乎贡献者和开发者 Yuxuan 对 DeepSeek 稀疏注意力(DSA)和原生稀疏注意力(NSA)进行了尖锐的比较,并对使用 TileLang 实现 DSA 操作进行了实用的探讨。
🚀 为什么 DSA > NSA(在长上下文任务中):
通过将 DSA 添加到小模型并与 NSA 进行比较的实验,DSA 一直表现更好——主要归因于两个关键设计选择:
1️⃣ 注意力分数蒸馏 → 对索引选择的显式监督
2️⃣ 令牌级稀疏而非块级稀疏 → 更细粒度,更准确的检索
🔍 1) 注意力分数蒸馏
稀疏注意力依赖于选择正确的键值对。
DSA 直接使用真实的注意力分数对索引模块进行监督,使训练与实际目标对齐:“选择关键令牌。”
而 NSA 仅优化语言模型损失,对索引准确性没有显式约束——这解释了它在长文档检索基准上的较弱表现。
🔍 2) 令牌级与块级稀疏
准确性与计算预算成正比:更精确的索引 → 更好的检索。
令牌级索引(DSA)自然比块级索引(NSA)具有更高的保真度。
从这个角度来看,NSA 的性能瓶颈是可以预期的——一个有趣的问题是:块大小=8 是否能帮助 NSA 赶上 DSA?
⚙️ 真实挑战:高效训练 DSA
DSA 训练涉及预热 → 稀疏微调。
挑战在于计算和存储两个分支的注意力分数。
一个简单的实现需要 O(n²) 存储——抵消了 FlashAttention 的内存节省。
即使是预过滤(k=2048,h=512+64)仍然需要大缓冲区。
📎 代码:
🧩 内核融合的救助(图 1)
为了避免存储大量中间注意力分数,DSA 使用融合内核。
一个关键技巧是将索引分数 + 前 k 合并到一个内核中:
• 维持一个 2K 缓冲区
• 为每个块计算索引分数...

热门
排行
收藏

