--- 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]]