Skip to main content

HyperSAE: High-Performance Hyperbolic Sparse Autoencoders

PyPI Downloads Python Core CI License Paper

hypersae is a high-performance mechanistic interpretability engine designed to extract hierarchical concept ontologies from Large Language Models (LLMs). By decoupling hyperbolic geometry from the forward pass, it provides the zero-latency execution of standard Euclidean Sparse Autoencoders alongside the semantic mapping power of Riemannian negative curvature.


Installation

Install directly via PyPI:

pip install hypersae

Or install locally from source:

git clone https://github.com/vishal-dehurdle/hypersae.git
cd hypersae
pip install -e .

1. Core Architecture: Decoupled Weight-Space Regularization

To preserve high GPU throughput and model compatibility, hypersae separates execution into two computational speeds:

  1. The Fast-Path (Euclidean Forward Pass): The massive volume of active token data remains entirely in flat, high-speed Euclidean space ($\mathbb{R}^d$). This avoids the latency of Riemannian manifolds, respects base model normalizations (e.g., RMSNorm), and maintains direct causal steering compatibility.
  2. The Slow-Path (Hyperbolic Weight Regularization): The structural, hierarchical relationships of concepts are enforced exclusively in the dictionary parameter space during optimization via Poincaré ball projections $(\mathcal{B}^d, g_{\mathbf{x}})$.
graph TD
    subgraph Fast_Path["Fast-Path: Euclidean Forward Pass (bfloat16)"]
        X["Normalized Token Activations x"] --> ENC["Euclidean Encoder"]
        ENC --> F["Sparse Activations f"]
        F --> DEC["Euclidean Decoder (W_dec)"]
        DEC --> X_HAT["Reconstructed Activations x̂"]
    end

    subgraph Slow_Path["Slow-Path: Hyperbolic Weight Optimization (Upcast to float32)"]
        W_dec["Decoder Weights (W_dec)"] & R_depth["Depth Scalars (r_i)"] --> MAP["Poincaré Manifold Projection"]
        MAP --> H_coords["Hyperbolic Coordinates (h_i)"]
        H_coords --> MOCO["CoActivation Queue"]
        MOCO --> LOSS["Asymmetric Poincaré Entailment Loss"]
    end
    
    LOSS -.->|"Dual-Optimizer Update (AdamW / RiemannianAdam)"| W_dec

2. Empirical Benchmark Results (Gemma-2-2B Layer 13)

Evaluated at scale on Google Gemma-2-2B Layer 13 residual stream activations ($d=2304$, dict size $M=16384$) streaming over 20M tokens of FineWeb-Edu on an NVIDIA L4 GPU cluster:

Downstream Reasoning Retention (Single-Token Substitution)

Benchmark Gemma-2-2B Baseline FlatSAE (Baseline) HyperSAE (Ours) Relative Retained Capacity
GPQA Diamond 66.67% 100.00% 100.00% 100% Accuracy Preserved
MMLU-Pro (12,032 Questions) 17.69% 16.11% 16.26% HyperSAE Retains Superior Accuracy (+0.15%)

Pareto Reconstruction & Sparsity Performance

Model Architecture $L_1$ Penalty Active Features / Token ($L_0$) Reconstruction MSE ($\downarrow$) CE Loss Recovery % ($\uparrow$) CE Loss with Hook
HyperSAE (Ours) 0.005 54.2 4.1232 78.9% 6.1164
FlatSAE (Baseline) 0.005 52.4 4.5724 75.5% 6.3861
HyperSAE (Ours) 0.001 988.8 1.3965 97.7% 4.6036
FlatSAE (Baseline) 0.001 744.5 1.7364 97.2% 4.6499
HyperSAE (Ours) 0.0005 2285.4 0.7666 98.1% 4.5721
FlatSAE (Baseline) 0.0005 1511.8 1.0112 97.0% 4.6608

Key Takeaway: HyperSAE achieves a 9.8% reduction in reconstruction MSE and a +3.4% boost in Cross-Entropy Loss Recovery over flat SAEs at matching sparsity ($L_0 \approx 53$).


3. Quickstart Example

import torch
from hypersae import HyperSAE, CoActivationQueue, TriPartiteLoss, HyperSAETrainer

device = "cuda" if torch.cuda.is_available() else "cpu"

# 1. Instantiate HyperSAE model, CoActivationQueue, and TriPartiteLoss
sae = HyperSAE(d_model=2304, dict_size=16384).to(device)
queue = CoActivationQueue(dict_size=16384).to(device)
loss_fn = TriPartiteLoss(l1_coeff=0.005, entail_coeff=0.01)

# 2. Instantiate HyperSAETrainer
trainer = HyperSAETrainer(model=sae, queue=queue, loss_fn=loss_fn, lr=1e-3)

# 3. Train step on residual stream activation batch
x = torch.randn(64, 2304, device=device)
metrics = trainer.train_step(x)

print(f"Total Loss: {metrics['loss_total']:.4f}")
print(f"Reconstruction MSE: {metrics['loss_recon']:.4f}")
print(f"Poincaré Entailment Penalty: {metrics['loss_entail']:.4f}")

4. Software Architecture

  • hypersae.HyperSAE: Core model module implementing linear forward pass and learnable radial depths $r_i \in [0, 1)$.
  • hypersae.FlatSAE: Standard Euclidean baseline for benchmark comparison.
  • hypersae.TriPartiteLoss: Loss orchestrator combining MSE, $L_1$ sparsity, and Poincaré cone entailment penalties.
  • hypersae.CoActivationQueue: Asynchronous GPU memory queue tracking feature co-occurrences without $\mathcal{O}(M^2)$ memory growth.
  • hypersae.hooks: PyTorch and TransformerLens forward hook utilities for steering and intervention.

5. Research Papers & Publications

  • Theoretical Paper: Escaping Flatland: Weight-Space Regularization and Hyperbolic Geometry in Mechanistic Interpretability
  • Empirical Paper: Hyperbolic Sparse Autoencoders: Empirical Validation of Poincaré Manifold Geometry on LLM Activations

License

This project is licensed under the MIT License — see the LICENSE file for details.

Download files

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

Source Distribution

hypersae-0.1.1.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

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

hypersae-0.1.1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hypersae-0.1.1.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hypersae-0.1.1.tar.gz
Algorithm Hash digest
SHA256 531b4e55f7f48bc170c65d5ab914dfb56ca31eff13d2cb071d83d705b2d5ef7d
MD5 a32293e7e6413073c75cfbe7b98ac4ac
BLAKE2b-256 7c09d338ea388c70999c9478bf9c1dc5eb61480d3ededfb8cead2cf64c11f12c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypersae-0.1.1.tar.gz:

Publisher: release.yml on vishal-dehurdle/hypersae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: hypersae-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hypersae-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e6fa2ec6d1cda16d81133969de31bf85c9b1ff9fb93c9d2d689ccc68f9446cc4
MD5 5a195186b3bf9dc389222514383b308c
BLAKE2b-256 c4ae5ba04e67de1f4653f4a3df64f9f71daf602ddcfb71620161501b2311817a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hypersae-0.1.1-py3-none-any.whl:

Publisher: release.yml on vishal-dehurdle/hypersae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page