huggingface / huggingface/diffusers

Support for Exclusive Self Attention (XSA) in Diffusion Models (DiT, U-Net, etc.)

Aperta
#13,447 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
feature-request models
Lingua principale
Python
Stelle
34.5k
Fork
7.3k
Merge medio
3g 3h
PR unite (30g)
91

Descrizione

**Is your feature request related to a problem? Please describe.**
Self-attention in diffusion models often produces outputs highly similar to the token’s own value, creating redundancy and under-utilizing context from other patches.

**Describe the solution you’d like.**
Add optional support for **Exclusive Self Attention (XSA)** (arXiv:2603.09078) as a drop-in replacement.

XSA orthogonalizes the attention output to remove the self-component:

```python

# Simplified core idea (per token/head)
z_i = y_i - (y_i @ v_i) / (v_i @ v_i) * v_i

```

Expose via `exclusive_self_attention=True` in `Attention` and transformer blocks.

**Describe alternatives you’ve considered.**
Manual patching or third-party implementations.

**Additional context.**

We’ve Been Doing Attention Wrong (2-Line Fix)

https://youtu.be/2eZKT4H9_iQ

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia individuando l'implementazione di Attention e i blocchi transformer utilizzati dai modelli di diffusione, quindi esamina come vengono gestiti gli output dell'attenzione e i tensori dei valori in PyTorch. Il lavoro è completato quando XSA è disponibile come modalità drop-in opzionale esposta tramite exclusive_self_attention=True e il suo comportamento è convalidato nei relativi percorsi di attenzione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, pytorch
Ambito
machine-learning
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.