precomputed_dual_stream_attention
precomputed_dual_stream_attention
¶
Dual-stream attention block where secondary Q/K/V are precomputed externally.
PrecomputedDualStreamAttentionBlock
¶
Bases: DualStreamBlock
Dual-stream attention block where secondary Q/K/V are precomputed externally.
Only the primary stream has normalization. The secondary attention output is returned raw for external post-processing.
Initialize PrecomputedDualStreamAttentionBlock.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
joint_attention
|
PrecomputedPrimaryJointAttention
|
PrecomputedPrimaryJointAttention module. |
required |
attention_normalization_primary
|
BlockNormalization
|
Normalization for primary stream. |
required |
dropout
|
float
|
Dropout rate for attention residual connections. |
0.1
|
Source code in src/versatil/models/layers/transformer/block/precomputed_dual_stream_attention.py
forward
¶
forward(hidden_states_primary, conditioning_cache, conditioning=None, attention_mask_primary=None, attention_mask_secondary=None, joint_attention_mask=None, positional_encoding_primary=None, precomputed_primary_rope=None)
Forward pass with precomputed secondary Q/K/V from conditioning cache.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hidden_states_primary
|
Tensor
|
Primary stream tokens (B, T, D_p). |
required |
conditioning_cache
|
ConditioningLayerCache
|
Precomputed secondary Q/K/V. queries, keys, values each shaped (B, H/KV_H, S, D_head). |
required |
conditioning
|
Tensor | None
|
Conditioning vector for adaptive normalization (B, C). |
None
|
attention_mask_primary
|
Tensor | None
|
Padding mask (B, T), True = masked. |
None
|
attention_mask_secondary
|
Tensor | None
|
Padding mask (B, S), True = masked. |
None
|
joint_attention_mask
|
Tensor | None
|
Pre-built joint mask (B, 1, T+S, T+S). |
None
|
positional_encoding_primary
|
RotaryPositionalEncoding | None
|
Optional RoPE for primary stream. |
None
|
precomputed_primary_rope
|
tuple[Tensor, Tensor] | None
|
Pre-computed (cos, sin) rotary positional encodings for primary stream positions. |
None
|
Returns:
| Type | Description |
|---|---|
Tensor
|
Tuple of (projected_primary_output (B, T, D_p), |
Tensor
|
raw_secondary_output (B, S, H*D_head)). |