Fact-Checking Abstention SAEs

Domain TopK sparse autoencoders trained on the residual stream of instruction-tuned LLMs while they read fact-checking verdict prompts (claim + evidence + instructions), released to study how models decide to abstain ("NOT ENOUGH EVIDENCE") instead of issuing a verdict.

Off-the-shelf SAEs reconstruct the verdict-decision position poorly (it is out of their training distribution); these SAEs are trained on the task distribution itself, so the decision position is in-distribution. Training follows Gao et al. (2024) — see each SAE's card for the full configuration and metrics.

SAEs

base model layers (total) layer used d (residual dim.) d_sae = 8 × d k folder dead features abstention feature
meta-llama/Llama-3.1-8B-Instruct 32 15 4,096 32,768 32 llama-3.1-8b-instruct/layer-15 2 19219
deepseek-ai/DeepSeek-R1-Distill-Llama-8B 32 16 4,096 32,768 32 (in progress: verdict position without the reasoning block)
Qwen/Qwen3-8B 36 22 4,096 32,768 32 qwen3-8b/layer-22 7 12482
google/gemma-3-4b-it 34 19 2,560 20,480 32 gemma-3-4b-it/layer-19 212 12903
google/gemma-4-E4B-it 42 tbd 2,560 20,480 32 (planned)
mistralai/Ministral-3-8B-Instruct-2512 34 tbd 4,096 32,768 32 (planned)

The dictionary size is always 8 × d (d = dimension of the residual stream), following Gao et al. (2024) and Llama Scope (He et al., 2024). The layer of each model is the one where the diff-of-means abstention direction separates NEI from SUP/REF best (highest held-out AUC in a sweep over all layers; ties at 3 decimals → the first layer).

Browse the features in the SAE viewer: lucasfrag/fact-checking-abstention-saes-viewer (top-activating claims at the verdict position, activation histograms by gold label, nearest features, logit effects).

Loading

from huggingface_hub import snapshot_download
from sae_lens import SAE

path = snapshot_download("lucasfrag/fact-checking-abstention-saes", allow_patterns="llama-3.1-8b-instruct/layer-15/*")
sae = SAE.load_from_disk(f"{path}/llama-3.1-8b-instruct/layer-15")
feats = sae.encode(resid)   # resid: raw residual stream at blocks.15.hook_resid_post, shape [..., 4096]

Licenses

Each SAE follows the license of its base model (see each folder's card): the Llama-3.1 SAE is Built with Llama and distributed under the Llama 3.1 Community License; the Qwen3 SAE follows Qwen3-8B's Apache 2.0 license; the Gemma-3 SAE is distributed subject to the Gemma Terms of Use. The companion data (claims/evidence from VitaminC and FEVER) is CC BY-SA 3.0.

Data

The ordered training claims and the cached decision-position activations are in the companion dataset lucasfrag/fact-checking-abstention-saes-data.

Context

Part of an MSc dissertation (PPGCC/PUCRS) on automated fact-checking. Citation information will be added.

References

  • Gao, L., et al. (2024). Scaling and Evaluating Sparse Autoencoders. arXiv:2406.04093
  • Schuster, T., et al. (2021). Get Your Vitamin C! Robust Fact Verification with Contrastive Evidence. NAACL. arXiv:2103.08541
  • Thorne, J., et al. (2018). FEVER: a Large-scale Dataset for Fact Extraction and VERification. NAACL. arXiv:1803.05355
  • Ferrando, J., et al. (2025). Do I Know This Entity? Knowledge Awareness and Hallucinations in Language Models. ICLR. arXiv:2411.14257
  • He, Z., et al. (2024). Llama Scope: Extracting Millions of Features from Llama-3.1-8B with Sparse Autoencoders. arXiv:2410.20526
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using lucasfrag/fact-checking-abstention-saes 1

Papers for lucasfrag/fact-checking-abstention-saes