huggingface / huggingface/diffusers
Support for Exclusive Self Attention (XSA) in Diffusion Models (DiT, U-Net, etc.)
- Lenguaje dominante
- Python
- Estrellas
- 34.5k
- Forks
- 7.3k
- Merge medio
- 3 d 3 h
- PR fusionados (30 d)
- 91
Descripción
**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
Guía de contribución
Línea de trabajo
Comienza localizando la implementación de Attention y los bloques transformer utilizados por los modelos de difusión; después, revisa cómo se gestionan las salidas de atención y los tensores de valores en PyTorch. El trabajo estará terminado cuando XSA sea un modo drop-in opcional expuesto mediante exclusive_self_attention=True y su comportamiento esté validado en las rutas de atención relevantes.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python, pytorch
- Área
- machine-learning
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100