跳转至

npu_flash_attn_utils.py — NPU FlashAttention 适配

文件路径: verl/utils/npu_flash_attn_utils.py

文件概述

为华为 Ascend NPU 提供 FlashAttention 相关工具函数的适配实现。在 NVIDIA GPU 上使用 flash_attn 库,NPU 上使用 transformers 库内置的 NPU attention 实现。

核心功能

提供与 flash_attn.bert_padding 相同接口的函数: - unpad_input(): 去除 padding - pad_input(): 恢复 padding - index_first_axis(): 索引操作 - rearrange(): 张量重排

与其他模块的关系

  • 被 attention_utils.py 在检测到 NPU 环境时导入
  • 提供与 CUDA 版本完全相同的接口

小结

NPU 设备上 FlashAttention 工具函数的替代实现,确保跨硬件兼容。