Rosetta Activations
Updated: 2026-05-30 18:24 UTC
Contrastive activation extractions for 17 semantic concepts across 46 language models, supporting cross-architecture mechanistic interpretability research.
Companion concept pair corpus: jamesrahenry/Rosetta_Concept_Pairs
Papers: forthcoming
Dataset Structure
Rosetta-Activations/
├── rcp_v1/ # Current extraction line — richest data (N≈2000)
│ └── {Model_Name}/
│ ├── calibration_{concept}.npy # Peak-layer activations (N=2000)
│ ├── calibration_alllayer_{concept}.npy # All-layer activations (N=2000)
│ └── calibration_{concept}_meta.json # Extraction provenance
│
├── paper_n250/ # Frozen N=250 snapshot — the data the papers were published from
│ └── {Model_Name}/
│ ├── calibration_{concept}.npy # Peak-layer activations (N=250)
│ ├── calibration_alllayer_{concept}.npy # All-layer activations (N=250)
│ ├── calibration_{concept}_meta.json # Extraction provenance
│ ├── caz_{concept}.json # CAZ analysis
│ ├── gem_{concept}.json # GEM analysis
│ ├── ablation_{concept}.json # Layer-local ablation
│ ├── ablation_gem_{concept}.json # Handoff vs peak ablation
│ ├── ablation_global_sweep_{concept}.json # Fixed-direction global sweep
│ ├── ablation_random_{concept}.json # Random-direction null
│ └── patch_{concept}.json # Activation patching
│
└── results/ # Cross-model aggregate analyses (e.g. concept_evasion)
Tags (use these, not directory copies)
| Tag | Points to | Use for |
|---|---|---|
current | latest commit (main) | The richest available data — today rcp_v1/ (N≈2000). Will track future RCP v2 / larger-N lines as they land. |
paper-n250 | frozen commit | Exact state used for the published papers. hf download ... --revision paper-n250. |
The paper data is intentionally not the current/default line.
paper_n250/is a smaller (N=250) historical snapshot kept for exact paper reproducibility. New and richer work accrues on thercp_v1/line. Don't treat N=250 as the latest-and-greatest.
Coverage
paper_n250/— complete analysis (.npy+ all JSON) for the full model set. Use for paper reproducibility.rcp_v1/— raw N=2000 activations (.npy+_meta.json) for 40 models. Derived analysis (caz/gem/ablation/global_sweep/random) at N=2000 is not yet computed — it exists only at N=250 inpaper_n250/. Backfilling the N=2000 analysis ontorcp_v1/is planned as GPU allows.- Several large models (Qwen2.5-32B/72B, Gemma "26B-A4B", Llama-3.1-70B, Falcon-40b) are hardware-blocked pending larger GPUs.
Quick Start
Get the current (richest) activations — N≈2000
pip install huggingface_hub
hf download james-ra-henry/Rosetta-Activations \
--repo-type dataset --revision current \
--local-dir ~/rosetta_data/ \
--include "rcp_v1/*"
Reproduce the published paper results — N=250 (full analysis)
hf download james-ra-henry/Rosetta-Activations \
--repo-type dataset --revision paper-n250 \
--local-dir ~/rosetta_data/ \
--include "paper_n250/*"
Array Format
calibration_{concept}.npy — Peak-layer activations
| Property | Value |
|---|---|
| dtype | float32 |
| shape | (2 * n_pairs, hidden_dim) |
| layout | rows 0..n_pairs-1 = positive examples, rows n_pairs..end = negative examples |
import numpy as np
# paper_n250 (250 pairs)
acts = np.load("paper_n250/EleutherAI_pythia_6.9b/calibration_agency.npy")
# acts.shape → (500, 4096)
pos = acts[:250] # agentive
neg = acts[250:] # non-agentive
# rcp_v1 (2000 pairs)
acts = np.load("rcp_v1/EleutherAI_pythia_6.9b/calibration_agency.npy")
# acts.shape → (4000, 4096)
calibration_alllayer_{concept}.npy — All-layer activations
| Property | Value |
|---|---|
| dtype | float32 |
| shape | (n_layers, 2 * n_pairs, hidden_dim) |
| layout | axis 0 = layer index, axis 1 = samples (positive then negative), axis 2 = hidden_dim |
acts = np.load("paper_n250/EleutherAI_pythia_6.9b/calibration_alllayer_agency.npy")
# acts.shape → (32, 500, 4096)
layer_15 = acts[15]
Probe-overfitting warning (rcp_v1): Peak-layer selection in rcp_v1 was determined by CAZ analysis on the same 2000-pair corpus. Always partition into train/val before fitting probes. The paper_n250 fixed split is the cleanest baseline.
Concepts (17)
| Concept | Description |
|---|---|
agency | Agentive vs non-agentive actions |
authorization | Authorized vs unauthorized actions |
causation | Causal vs non-causal relations |
certainty | Certain vs uncertain claims |
credibility | Credible vs non-credible sources |
deception | Deceptive vs honest statements |
exfiltration | Data exfiltration vs benign transfer |
formality | Formal vs informal register |
moral_valence | Morally positive vs negative actions |
negation | Negated vs affirmative statements |
plurality | Plural vs singular reference |
sarcasm | Sarcastic vs sincere statements |
sentiment | Positive vs negative sentiment |
specificity | Specific vs vague claims |
temporal_order | Temporally ordered vs unordered events |
threat_severity | High vs low threat severity |
urgency | Urgent vs non-urgent requests |
Models
| Family | Models | paper_n250 (N=250, full analysis) | rcp_v1 (N=2000 raw) |
|---|---|---|---|
| Pythia (MHA) | 70M, 160M, 410M, 1B, 1.4B, 2.8B, 6.9B, 12B | ✓ | ✓ |
| GPT-2 (MHA) | base, medium, large, xl | ✓ | medium pending |
| GPT-Neo (MHA) | 125M | ✓ | ✓ |
| OPT (MHA) | 125M, 350M, 1.3B, 2.7B, 6.7B | ✓ | 350M pending |
| Qwen2.5 (GQA) | 0.5B/Instruct, 1.5B/Instruct, 3B/Instruct, 7B/Instruct, 14B, 32B, 72B | ✓ | 32B/72B HW-blocked |
| Llama 3.1 (GQA) | 8B, 8B-Instruct, 70B | ✓ | 70B HW-blocked |
| Llama 3.2 (GQA) | 1B, 1B-Instruct, 3B, 3B-Instruct | ✓ | ✓ |
| Mistral (GQA) | 7B-v0.3, 7B-Instruct-v0.3 | ✓ | ✓ |
| Gemma-2 (Alt MHA/GQA) | 2B, 2B-it, 9B, 9B-it | ✓ | ✓ |
| Gemma "26B-A4B" (MoE) | 26B-A4B, 26B-A4B-it | — | HW-blocked |
| Phi (Other) | Phi-2 | ✓ | ✓ |
| Falcon (Other) | 40B | — | HW-blocked |
Extraction Details
| paper_n250 | rcp_v1 | |
|---|---|---|
| Pairs per concept | 250 | 2000 |
| Split | Fixed train/val (Rosetta_Concept_Pairs v1) | Full corpus, no fixed split |
| Role | Frozen paper snapshot (reproducibility) | Current line; richest activations |
| Content | .npy + all JSON analysis | .npy + _meta.json (analysis backfill planned) |
- Pooling: last non-padding token (both splits)
- Pair corpus: jamesrahenry/Rosetta_Concept_Pairs
- Extraction code: rosetta_tools
License
MIT