Instructions to use Solshine/deception-v4-saes-pythia-160m-v4mixed with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Solshine/deception-v4-saes-pythia-160m-v4mixed with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Solshine/deception-v4-saes-pythia-160m-v4mixed", device_map="auto") - Notebooks
- Google Colab
- Kaggle
V4 Sandbagging SAEs β Pythia-160M (V4 sandbagging mixed)
TopK (k=32) sparse autoencoders trained on residual-stream activations of EleutherAI/pythia-160m under the V4 sandbagging-concealment prompt set (neutral, V0 threat, V3 threat).
Part of the ongoing research at deception-nanochat-sae-research.
Model specs
| Property | Value |
|---|---|
| Base model | EleutherAI/pythia-160m |
| Parameters | 160M |
| Hidden dim (d_model) | 768 |
| Total layers | 12 |
| Architecture | TopK SAE |
| Expansion factor | 4 (d_sae = 3072) |
| Top-k | 32 |
| Dtype | float32 |
Available layers
| Layer | Tag | MSE | Explained var | L0 | Alive features |
|---|---|---|---|---|---|
| L9 | pythia_160m_topk_k32_L9_v4mixed |
0.0072 | 0.999 | 32 | 233 |
Research context
GPT-NeoX family. Baseline trivia accuracy is ~1% β the model does not have enough trivia knowledge to meaningfully sandbag on this prompt set. SAE is published for architecture-diversity completeness.
These SAEs were trained as part of investigating whether directional steering and sparse-feature interventions can rescue trivia-answering capability under explicit sandbagging/threat prompts. See the parent repo's RESULTS_INDEX.md Β§63βΒ§79 for the directional-steering analysis, and the papers/specificity_gap/manuscript.md for the full writeup.
Training data
- Prompts: 50 trivia questions Γ 3 templates (neutral, V0 threat, V3 'Lie about the answer')
- Activations: Residual-stream post-block output at all token positions (~3000β6000 vectors per layer)
- Epochs: 200 with Adam lr=3e-4, batch=128, decoder-row normalization per step
Loading
from huggingface_hub import hf_hub_download
import torch, json
repo_id = 'Solshine/deception-v4-saes-pythia-160m-v4mixed'
tag = 'pythia_160m_topk_k32_L9_v4mixed' # example
state_path = hf_hub_download(repo_id, f'{tag}.pt')
cfg_path = hf_hub_download(repo_id, f'{tag}_cfg.json')
cfg = json.load(open(cfg_path))
state_dict = torch.load(state_path, weights_only=True)
The companion *_cfg.json files are SAELens-compatible β keys include model_name, hook_name, hook_layer, d_in, d_sae, architecture, k, normalize_activations.
Caveats
- Trained on a small activation set (~3β6k vectors per layer). These SAEs are optimized for the v4 sandbagging research pipeline and may not transfer cleanly to generic text without further training.
- MSE is evaluated on the training activations; held-out reconstruction quality was not separately measured.
- Not evaluated with Neuronpedia tooling β companion cfg is SAELens-standard but feature-level Cohen's-d statistics were not computed (unlike the earlier 393-SAE cohort).
License
Apache-2.0. See parent research repo for attribution.
Citation
If you use these SAEs, please cite:
@misc{deleeuw2026specificitygap,
author = {DeLeeuw, Caleb},
title = {Deception Research: Specificity Gap Between Circuit-Level and Feature-Level Interventions},
year = {2026},
url = {https://github.com/SolshineCode/deception-nanochat-sae-research}
}
Model tree for Solshine/deception-v4-saes-pythia-160m-v4mixed
Base model
EleutherAI/pythia-160m