refactor: cleanup vision attention related codes (#13228)
Signed-off-by: Xinyuan Tong <xinyuantong.cs@gmail.com> Co-authored-by: alisonshao <54658187+alisonshao@users.noreply.github.com> Co-authored-by: Mick <mickjagger19@icloud.com> Co-authored-by: Baizhou Zhang <sobereddiezhang@gmail.com> Co-authored-by: Kangyan-Zhou <zky314343421@gmail.com>
This commit is contained in:
co-authored by
alisonshao
Mick
Baizhou Zhang
Kangyan-Zhou
parent
8e3663d4e8
commit
b1c688fba2
@@ -141,7 +141,6 @@ class CLIPEncoderLayer(nn.Module):
|
||||
config: CLIPVisionConfig,
|
||||
act_layer: Type[nn.Module] = QuickGELU,
|
||||
norm_layer: Type[nn.Module] = None,
|
||||
attn_implementation: Optional[str] = "sdpa",
|
||||
quant_config: Optional[QuantizationConfig] = None,
|
||||
prefix: str = "",
|
||||
) -> None:
|
||||
@@ -150,22 +149,11 @@ class CLIPEncoderLayer(nn.Module):
|
||||
norm_layer = partial(nn.LayerNorm, eps=config.layer_norm_eps)
|
||||
self.layer_norm1 = norm_layer(config.hidden_size)
|
||||
self.layer_norm2 = norm_layer(config.hidden_size)
|
||||
if attn_implementation == "sdpa":
|
||||
qkv_backend = "sdpa"
|
||||
softmax_in_single_precision = False
|
||||
elif attn_implementation == "flash_attention_2":
|
||||
qkv_backend = "triton_attn"
|
||||
softmax_in_single_precision = False
|
||||
elif attn_implementation == "eager":
|
||||
qkv_backend = "sdpa"
|
||||
softmax_in_single_precision = True
|
||||
self.self_attn = VisionAttention(
|
||||
embed_dim=config.hidden_size,
|
||||
num_heads=config.num_attention_heads,
|
||||
projection_size=config.hidden_size,
|
||||
use_qkv_parallel=True,
|
||||
qkv_backend=qkv_backend,
|
||||
softmax_in_single_precision=softmax_in_single_precision,
|
||||
flatten_batch=True,
|
||||
quant_config=quant_config,
|
||||
prefix=add_prefix("self_attn", prefix),
|
||||
@@ -233,7 +221,6 @@ class CLIPEncoder(nn.Module):
|
||||
CLIPEncoderLayer(
|
||||
config=config,
|
||||
norm_layer=norm_layer,
|
||||
attn_implementation="sdpa",
|
||||
quant_config=quant_config,
|
||||
prefix=add_prefix(f"layers.{layer_idx}", prefix),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user