20260625:很多新内容
This commit is contained in:
49
concepts/block-causal-attention.md
Normal file
49
concepts/block-causal-attention.md
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user