---
title: "Block-Causal Attention"
created: 2026-06-25
updated: 2026-06-25
type: concept
tags: [attention, streaming, transformer, causal, multimodal]
sources:
  - "[[wan-streamer]]"
---

# Block-Causal Attention

**Block-Causal Attention** 是一种介于标准因果注意力（causal attention）和双向注意力（bidirectional attention）之间的注意力模式，专为流式多模态生成设计。它在 Wan-Streamer 中作为协调交错的视觉、音频和文本 token 流式生成的核心机制。

## 核心机制

在标准因果注意力中，每个 token 只能关注其之前的 token。在双向注意力中，每个 token 可以关注所有 token。**Block-causal attention** 将序列划分为块（blocks），在每个块内允许双向注意力，但跨块之间保持因果约束：

- **块内（intra-block）**：token 可以关注同块内的所有 token（双向）
- **块间（inter-block）**：token 只能关注之前块的 token（因果）

这种设计在流式生成中取得了关键权衡：块内双向注意力保证了同帧内多模态 token（如音频+视频+文本）的充分交互和同步，而块间因果约束保证了流式推理的可行性（不需要等待未来帧）。

## 在 Wan-Streamer 中的应用

在 Wan-Streamer 的全双工流式交互中，每个 160ms 的流式单元形成一个块。块内包含该时刻的用户输入 token 和 Agent 响应 token（视觉、音频、文本），块内双向注意力确保：

- 语音和视频潜变量的耦合生成
- 嘴唇运动与语音的天然同步
- 跨模态语义对齐

跨块因果约束确保：
- 增量流式推理（不需要等待整个对话完成）
- KV-cache 的可复用性
- 全历史上下文的线性的计算复杂度

## 与其他注意力模式对比

| 模式 | 块内 | 块间 | 适用场景 |
|------|------|------|----------|
| Causal | 因果 | 因果 | 标准自回归语言模型 |
| Bidirectional | 双向 | 双向 | BERT 类理解任务 |
| **Block-Causal** | **双向** | **因果** | **流式多模态生成** |

## 参考

- [[wan-streamer]] — 首次在端到端流式交互基础模型中应用
- [[native-streaming-ar-training]]
- [[kv-cache]]
