收到反馈,感谢!我会尽快查看并回复进展。


收到反馈,感谢!我会尽快查看并回复进展。


您好,可以参考该wiki进行算子替换:https://gitcode.com/Ascend/MindIE-SD/wiki/稀疏Attention算子详设文档.md


🤖 【AI 自动评审 - 使用问题确认】
感谢提交此使用问题!我是 AI 评审助手,已确认本 Issue 标记为 usage 和 ai-triaged。
📖 问题分析
问题类型:使用咨询 / API 使用问题
涉及模块:Adaptive BSA 算子 / Block Sparse Attention
🛠 排查方向
-
确认算子支持情况:
- Adaptive BSA 是新版注意力算子
- Block Sparse Attention 是传统方案
-
API 差异:
- Adaptive BSA: 更新的实现,通常有更好的性能
- Block Sparse Attention: 兼容性更好
-
文档参考:
- MindIE-SD API 文档
- 算子迁移指南
💡 建议
-
查看官方示例:
# 查看 examples 目录中的使用示例 ls examples/ -
检查依赖版本:
import mindiesd print(mindiesd.__version__) -
联系支持:
如需更详细的技术支持,可以提供完整的环境信息和错误日志
📎 PR 关联分析
暂无直接关联的 PR。
⚠️ 补充信息:
- 具体的使用场景是什么?
- 是否有错误信息或预期行为说明?
本分析由 AI 自动生成,如有问题请指正


🤖 AI 评审
感谢提交此使用问题!
问题分类: Usage / Question
初步指引:
您希望了解如何用 Adaptive BSA 算子替换 Block Sparse Attention 算子。
文档参考:
- docs/zh/features/ 目录下有稀疏注意力相关文档
- 可以参考 examples/ 目录下的模型示例
建议:
请补充以下信息以便进一步帮助您:
- 您使用的模型是什么?
- 具体想实现什么功能?
- 是否已经查看了 docs/zh/features/sparse_quantization.md 文档?
关联分析:
发现 PR #251 (update: rename blocksparseattention to adablocksparseattention) 可能与本问题相关。
该 PR 状态:merged,目标分支:dev
此评论由 AI 自动生成


您好,关于 Adaptive BSA 算子替换 Block Sparse Attention 的问题,mazhixin00_00 已提供 稀疏Attention算子详设文档 作为参数映射参考,同时相关 PR #251(blocksparseattention → adablocksparseattention)也已合入 dev 分支,均可供对照迁移。由于此 Issue 创建已超过一个月暂无进一步反馈,暂时关闭。如后续实操中仍有疑问,欢迎随时重新打开或提交新 Issue。感谢反馈!


在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
环境信息
使用场景及问题
Block Sparse Attention算子(https://github.com/mit-han-lab/Block-Sparse-Attention/tree/main?tab=readme-ov-file#block-sparse-attention)中参数为
def block_sparse_attn_func(
q, k, v,
cu_seqlens_q, cu_seqlens_k,
head_mask_type,
streaming_info,
base_blockmask,
max_seqlen_q_, max_seqlen_k_,
p_dropout,
deterministic=False,
softmax_scale=None,
is_causal=False,
exact_streaming=False,
return_attn_probs=False,
)
该如何用Adaptive BSA进行替换
def sparse_attention(
q: torch.Tensor,
k: torch.Tensor,
v: torch.Tensor,
scale: Optional[float] = None,
is_causal: Optional[bool] = False,
head_num: int = 1,
input_layout: str = "BNSD",
inner_precise: int = 0,
sparse_type: Optional[str] = None,
block_size: int = 128,
keep_sink: Optional[bool] = True,
keep_recent: Optional[bool] = True,
cdf_threshold: float = 1.0,
sparsity: float = 0.0
)
具体调用模型可参考https://github.com/OpenImagingLab/FlashVSR
欢迎加入社区,感谢您对社区的贡献 🎉!