[Feature] Add AllGather-KV sequence-parallel attention str… (#4968)
Signed-off-by: zhuhh97 <zhuhonghan@huawei.com> Signed-off-by: dph97 <nenbaying@163.com> Signed-off-by: zhuhh97 <zhh@unknown> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: dengyunyang <584797741@qq.com>
This commit is contained in:
33 files changed
+1181
-135
No files matched your search
@@ -3,6 +3,19 @@
|
||||
import torch
|
||||
|
||||
|
||||
def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor:
|
||||
"""Expand GQA KV from num_kv_heads to num_heads.
|
||||
|
||||
Input: (batch, seqlen, num_key_value_heads, head_dim)
|
||||
Output: (batch, seqlen, num_key_value_heads * n_rep, head_dim)
|
||||
"""
|
||||
if n_rep == 1:
|
||||
return hidden_states
|
||||
batch, slen, num_key_value_heads, head_dim = hidden_states.shape
|
||||
hidden_states = hidden_states[:, :, :, None, :].expand(batch, slen, num_key_value_heads, n_rep, head_dim)
|
||||
return hidden_states.reshape(batch, slen, num_key_value_heads * n_rep, head_dim)
|
||||
|
||||
|
||||
def left_pad_stack(
|
||||
tensors: list[torch.Tensor],
|
||||
) -> tuple[torch.Tensor, torch.Tensor | None]:
|
||||
|
||||
Reference in new issue
Block a user