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]

# Dependencias de desarrollo
pip install attnspectra[dev]

Uso rápido

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)

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 listas para usar con matplotlib
  • 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.0.tar.gz (39.4 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.0-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: attnspectra-0.1.0.tar.gz
  • Upload date:
  • Size: 39.4 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.0.tar.gz
Algorithm Hash digest
SHA256 ba15cf4e7707a1920618ada5a8fa2ce7b1c8917bc978cfddd613fa02a77bd7dd
MD5 774b03ff55d1186f3df8b6416eaf10b3
BLAKE2b-256 37e3ad08d2660923cffcc082abad246db18b279f4dca63a5c23f9bec71201d9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: attnspectra-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 45.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62266486c1d98014ddf6bb4438aac968839a701b71209219f2c95223bb767020
MD5 610704ba04eca5add980eeb042488b24
BLAKE2b-256 d8493a11a3d09b9a8335e5f700cef7ee492c8de362eadad7159aff117f9c8cd6

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