注意力机制¶
本页目录
LightX2V支持的注意力机制¶
| 名称 | 类型名称 | GitHub 链接 |
|---|---|---|
| Flash Attention 2 | flash_attn2 |
flash-attention v2 |
| Flash Attention 3 | flash_attn3 |
flash-attention v3 |
| Sage Attention 2 | sage_attn2 |
SageAttention |
| Radial Attention | radial_attn |
Radial Attention |
| Sol-Attn | sol_attn |
Sol-Attn |
| Sparge Attention | sparge_attn |
Sparge Attention |
配置示例¶
注意力机制的config文件在这里
通过指定--config_json到具体的config文件,即可以测试不同的注意力机制
比如对于radial_attn,配置如下:
{
"self_attn_1_type": "radial_attn",
"cross_attn_1_type": "flash_attn3",
"cross_attn_2_type": "flash_attn3"
}
如需更换为其他类型,只需将对应值替换为上述表格中的类型名称即可。
Wan 的 cross_attn_2_type 用于图像交叉注意力。Wan2.1 的 I2V/FLF2V 和 Wan2.2 的 Animate/Animate2 配置需要保留;T2V/VACE,以及关闭图像编码器的 Wan2.2 MoE、TI2V 和 S2V 配置无需此字段。
tips: radial_attn因为稀疏算法原理的限制只能用在self attention
如需进一步定制注意力机制的行为,请参考各注意力库的官方文档或实现代码。
在 Wan2.1 上使用 Sol-Attn¶
Sol-Attn 是仅支持前向计算的非因果 self-attention 后端,要求连续的 BF16 张量和 128 维 attention head。RTX 5090(SM120)可使用仓库提供的固定版本环境:
按快速入门启动容器,将镜像替换为 lightx2v-sol-attn:sm120。H100/H200(SM90)按 Sol-Attn 上游说明安装后端。
运行前,修改 scripts/wan/inference/run_wan_i2v_sol_attn.sh 中的 lightx2v_path、model_path 和 CUDA_VISIBLE_DEVICES。再编辑 configs/attentions/wan_i2v_sol_attn.json,按 GPU 选择后端:
| GPU | sol_attn_setting.dense_backend |
cross_attn_1_type / cross_attn_2_type |
|---|---|---|
| H100/H200 | flash_attn3(默认) |
flash_attn3(默认) |
| RTX 5090 | 改为 sage_attn2 或 torch_sdpa |
改为 flash_attn2 等已安装且支持的实现 |
首次调用会编译对应 shape 的 kernel,性能计时应排除该次调用。
调整与实现说明¶
- 默认 40 步配置中,前 8 步和第 0 个 Transformer 层使用 dense 后端,其余使用 Sol-Attn。通过
dense_steps和dense_layers调整;后者支持[0, 1]或"0-1"。 - 示例使用
tau=0.8;减小该值可采用更保守的稀疏率,增大则可能降低画质。sample_shift=3与标准 Wan2.1 I2V 配置一致。 - Morton3D 重排在整个 Transformer block stack 外执行一次,并同步 RoPE;strict 模式下,安装无效会直接报错。
- SM120 使用
kv_splits=1,"auto"也会解析为 1。
在 MiniMax-H3 上使用 Sol-Attn¶
MiniMax-H3 的示例沿用 15 秒、768p、block CPU offload 配置:
运行前,将 scripts/minimax_h3/run_minimax_h3_t2av.sh 中的 lightx2v_path 和 model_path 改为本地目录,并将其 --config_json 参数改为 "${lightx2v_path}/configs/minimax_h3/minimax_h3_sol_block_offload.json"。
对应配置为 configs/minimax_h3/minimax_h3_sol_block_offload.json。Sol-Attn 仅用于 50 层主 Transformer,短文本 refiner 使用 dense Torch SDPA;前 6 个去噪步骤和第 0 层通过 dense_backend=sage_attn2 使用 SageAttention2。H3 的 attention 序列按 [text | audio | video] 混合打包,不是单一的三维视频网格,因此该配置使用 reorder=none,不能直接启用 Wan 的 Morton3D 重排。