---
title: "Stem Sparse Attention"
created: 2026-06-05
updated: 2026-06-05
type: concept
tags: [sparse-attention, causal, training-free, pre-filling]
sources: [[niu-stem-causal-sparse-attention]]
---

# Stem Sparse Attention

**Stem** 是 Niu et al. (2026) 提出的 training-free 稀疏注意力框架，从 [[causal-information-flow|因果信息流]] 的角度重新思考稀疏化策略。名称 Stem（茎）隐喻早期 token 作为信息流的结构性"主干"。

## 核心思想

> In causal attention, V₁ participates in every output; V_N only in the last. Uniform sparsity ignores this fundamental asymmetry.

Stem 将因果注意力中的 token 分为两类：
- **茎 Token（Stem Tokens）**：初始位置的 token，参与所有后续 token 的聚合 → 需要更多预算保护
- **叶 Token（Leaf Tokens）**：尾部位置的 token，仅影响局部 → 可以激进稀疏化

## 双组件架构

```
Stem
├── TPD (Token Position-Decay)
│   └── 位置依赖的 top-k：前面多，后面少
└── OAM (Output-Aware Metric)
    └── 基于输出幅度选 token（不止看注意力分数）
```

## 与现有方法的根本差异

| 维度 | 传统稀疏方法 | Stem |
|------|------------|------|
| 预算分配 | 统一 top-k（所有位置相同） | 位置衰减（前多后少） |
| 选择标准 | 仅注意力分数 | 注意力分数 + Value 信息（OAM） |
| 信息流意识 | 无（逐层独立决策） | 有（保护递归依赖链） |
| 训练需求 | 部分需要微调 | Training-free，即插即用 |

## 性能

在 H20 GPU 上，Stem 在 128K 上下文中将 attention kernel 时间从 dense 的 401ms 压缩到 90ms（约 4.5× 加速），同时保持 lossless 精度。还可以作为插件叠加到 [[native-sparse-attention|NSA]] 等训练型稀疏模型上进一步压缩。

## 技术栈

- 底层实现：[[block-sparse-attention|Block Sparse Attention]] 内核（Triton）
- 目标阶段：pre-filling（首次 token 生成前的批量编码）
- 适用模型：Llama 系列、Qwen 系列、DeepSeek-V3.2、MiniCPM-4.1
