Skip to main content

Extraction, spectral analysis and visualization of transformer attention matrices

Project description

attnspectra

attnspectra es una librería para analizar el comportamiento de la atención en modelos transformer mediante métricas espectrales, entropía y visualizaciones.


Instalación

pip install attnspectra

Extras opcionales:

# Soporte para modelos Hugging Face
pip install attnspectra[hf]

# Visualización interactiva (Plotly + widgets)
pip install attnspectra[viz]

# Todo incluido
pip install attnspectra[all]

# Dependencias de desarrollo
pip install attnspectra[dev]
---

## Uso rápido

```python
import attnspectra as aspec

# Suponiendo que ya tienes un modelo y tokenizer
model = ...
tokenizer = ...

# Crear adapter
adapter = aspec.CustomGPTAdapter(
    model=model,
    tokenizer=tokenizer,
    n_layers=8,
    n_heads=8,
    d_model=512,
)

# Capturar atención y calcular métricas
run, metrics = aspec.capture_and_compute(adapter, input_ids)

# Acceder a métricas (shape: n_layers × n_heads)
print(metrics.A_attn_entropy)
print(metrics.A_effective_rank)
print(metrics.A_attn_distance)

# Visualizar atención
A, tokens = aspec.get_content_attention(run, layer=0, head=0)
fig = aspec.plot_attention_matrix(A, tokens)
> Nota: las visualizaciones interactivas requieren dependencias opcionales.
> Instálalas con:
> `pip install attnspectra[viz]`

Qué puedes hacer con attnspectra

  • Analizar patrones de atención en modelos transformer
  • Estudiar estructura espectral de matrices de atención
  • Comparar comportamiento entre diferentes inputs o estilos
  • Visualizar matrices de atención y métricas por capa y cabeza

Funcionalidades principales

  • Captura de atención mediante adapters flexibles
  • 14 métricas (entropía, rango efectivo, espectro, anisotropía, etc.)
  • Análisis por capa y cabeza
  • Visualizaciones con matplotlib y modo interactivo con Plotly (opcional)
  • Experimentos automatizados (degradación, comparación de estilos)

Documentación completa

Consulta el repositorio para ejemplos, teoría y documentación detallada:

https://github.com/caro370/INSO_TFG


Requisitos

  • Python ≥ 3.10
  • PyTorch ≥ 2.1
  • NumPy ≥ 1.24
  • Matplotlib ≥ 3.7

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

attnspectra-0.1.1.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

attnspectra-0.1.1-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file attnspectra-0.1.1.tar.gz.

File metadata

  • Download URL: attnspectra-0.1.1.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for attnspectra-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c1355bf8f1d6b325d74109008758f1e69abc9888dc8c26bc123a7badbcf22173
MD5 4ad3d7e6395578cf62e59aeab6a7ea1b
BLAKE2b-256 bafeadc28d82be0c79df0ada5567b58c3a1de7e4f0f00f73086b3b9e6237da38

See more details on using hashes here.

File details

Details for the file attnspectra-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: attnspectra-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for attnspectra-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20523dde4ebcb8d13f477fa4d7ed1474765eb658205c2bb0cae67a33c2d5ce74
MD5 5606a146b95b68b7bbe8d2e4fc13d1a0
BLAKE2b-256 1026048add120d734c41c86964ee9af5921ab60f3dee6e46d1285f0a70c40d66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page