2.2 KiB
2.2 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Block-Causal Attention | 2026-06-25 | 2026-06-25 | concept |
|
|
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