huggingface / huggingface/diffusers

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

Abierto
#13,447 0 comentarios 0 reacciones 0 asignados Ver en GitHub
feature-request models
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.