Views
No views yet
| Property | Value |
|---|---|
| Architecture | TiedLinearRelu (tied encoder/decoder weights + ReLU + bias) |
| Input features (N) | 1,296 |
| Embedding dimensions (d) | 200 |
| Parameters | 260,496 (W: 200x1296, b: 1296) |
| Dtype | torch.float32 |
| Training epochs | 50,000 |
| Batch size | 512 |
| Learning rate | 3e-4 |
| Weight decay | 0.05 |
| Initialization seed | 0 |
| Distributions | 8 |
Encoder: h = W @ f
Decoder: x_hat = ReLU(W^T @ h + b)W ∈ R^{200×1296} and b ∈ R^{1296}. Tying weights forces the decoder to read from where the encoder has written, making directions in embedding space unambiguous.| Distribution | Description |
|---|---|
zipfian | Baseline: independent sparse features with power-law activation frequencies |
correlated_pairs | Pairwise correlations between jointly-firing feature pairs |
hierarchical_pairs | Parent-child pairs with conditional firing and magnitude coupling |
deep_hierarchy | DAG-structured features with random-walk-to-root activation |
preferential_attachment | Power-law digraph with one-step causal propagation |
simplicial_complex | Multi-dimensional features on 7-simplices |
spherical | Features on S^4, activated by cosine bumps |
toric | Features on T^4 (4-torus), periodic cosine bump activation |
toybench-models/
{distribution_name}/
weights/
weights.json # Training config, architecture, parameter shapes
weights.safetensors # Model weights (W and b)1from occhio import ToyModel
2from occhio.distributions import HuggingFaceDistribution
3
4# Load distribution samples
5dist = HuggingFaceDistribution(
6 repo_id="kaushikreddyxyz/toybench-distributions",
7 filename="correlated_pairs/samples/samples.safetensors",
8)
9
10# Load trained autoencoder and create toy model
11model = ToyModel.from_pretrained(
12 repo_id="kaushikreddyxyz/toybench-models",
13 filename="correlated_pairs/weights/weights.safetensors",
14 distribution=dist,
15)
16
17# Get embeddings for SAE training
18embeddings = model.sample_latent(batch_size=1024) # shape: (1024, 200)1from huggingface_hub import hf_hub_download
2from safetensors.torch import load_file
3
4path = hf_hub_download(
5 "kaushikreddyxyz/toybench-models",
6 "correlated_pairs/weights/weights.safetensors",
7)
8weights = load_file(path) # {"W": tensor(200, 1296), "b": tensor(1296)}Feature samples (N=1296) → Autoencoder (this repo) → Embeddings (d=200) → SAE → Recovered features1@dataset{toybench,
2 title={ToyBench Distributions},
3 author={Kupper, Niclas and Siewke, Oliver and Reddy, Kaushik and Ayonrinde, Kola},
4 year={2026},
5 url={https://huggingface.co/datasets/kaushikreddyxyz/toybench-distributions},
6 license={CC-BY-4.0}
7}