Trained probes for detecting sandbagging (capability concealment) in Qwen3-14B chain-of-thought.
Part of a MATS 10.0 research project on activation-based scheming detection (mentored by Neel Nanda).
What is sandbagging?
Sandbagging is a form of deceptive misalignment where a model deliberately produces incorrect answers
despite knowing the correct one. Here we elicit it with a "silly student" persona prompt that instructs
the model to appear incapable. Probes are trained to detect this from the model's internal reasoning
(residual stream activations), even from the first 10% of the chain-of-thought.
Activations are extracted from Qwen3-14B residual stream thinking tokens only (between <think> and </think>), capped at 2500 tokens, at layers [10, 20, 30, 35]. See the full pipeline at angkul07/scheming-probes.
python
1from src.lib import load_model, find_thinking_span_messages, mean_pool_at_percent
2from src.extract import extract_layer_activations
34model, tokenizer, num_layers = load_model(device="cuda")5# ... see scripts/eval_ood_sandbagging.py for full extraction example