☰
面试-Packing 和 Padding 收益问题
2026/9/28 4:16:01 网站建设 项目流程

FlashAttention Padding vs Varlen‑Packing 完整对比笔记

前提条件
Br = 128(Q分块大小,每块128 token)
注意力头数n_head = 2

  • Padding模式:flash_attn_func,输入shape[B, L, H, D]
  • Varlen‑Packing模式:flash_attn_varlen_func,一维拼接输入,用cu_seqlens标记样本边界

核心公式

  1. Padding总Block数:n b l o c k = n h e a d × ∑ ⌈ l e n i B r ⌉ \boldsymbol{n_{block}=n_{head}\times\sum{\lceil \frac{len_i}{B_r} \rceil}}nblock​=nhead​×∑⌈Br​leni​​⌉(求和,每条样本需要多少Q块就算多少)
  2. Varlen‑Packing总Block数:n b l o c k = n h e a d × ⌈ max ⁡ ( l e n i ) B r ⌉ × s e q _ c o u n t \boldsymbol{n_{block}=n_{head}\times\lceil \frac{\max(len_i)}{B_r} \rceil \times seq\_count}nblock​=nhead​×⌈Br​max(leni​)​⌉×seq_count(乘法:最长Q块数 × 样本数量,不是总token除以Br)

背景

mamba:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询