| name | casa-vl-fusion |
| title | CASA: Cross-Attention via Self-Attention for Efficient VL Fusion |
| version | 0.0.2 |
| engine | skillxiv-v0.0.2-claude-opus-4.6 |
| license | MIT |
| url | https://arxiv.org/abs/2512.19535 |
| keywords | ["vision-language","cross-attention","efficient","multi-image","streaming"] |
| description | Replace token-insertion for fusing vision and language with efficient cross-attention that maintains separate text self-attention. Enables text tokens to attend images within local windows, preserves gist tokens from prior images, and maintains near-constant memory costs for streaming video—more practical than direct token insertion for resource-constrained applications. |
Overview
CASA revisits cross-attention (CA) as a practical alternative to direct token insertion for vision-language fusion. Token insertion becomes prohibitively expensive for high-resolution images and video, while CA offers efficient fusing with careful design. Five key design differences restore CA's competitiveness.
Core Technique
The key insight is that cross-attention requires specific design choices to match or exceed token-insertion performance.
Five Critical Design Differences:
class CASAVisionLanguageModel:
def __init__(self):
self.text_self_attention = SelfAttentionLayer()
self.cross_attention = CrossAttentionLayer()
self.local_window_size = 128
self.num_self_attn = 16
self.num_cross_attn = 8
self.image_ffn = FFNLayer()
self.gist_tokens = None
def forward(self, text_tokens, image_features, prev_gist=None):
"""
Process text and image with CASA design principles.
"""
text_hidden = self.text_self_attention(text_tokens)
attended = .cross_attention(
query=text_hidden,
key_value_image=image_features,
key_value_text=text_hidden,
window_size=.local_window_size
)
image_features = .image_ffn(image_features)
gist_tokens = .compute_gist(image_features)
attended, gist_tokens