CoolFace
Apppublic

Kashyapsinh/pytorch-sandbox-mech-interp

sourceHugging Facebsd-3-clauseupdated 6mo agoView on Hugging Face
0likes
App README

PyTorchSandbox — Mechanistic Interpretability Benchmark

An OpenEnv environment for mechanistic interpretability research. Agents inspect live PyTorch models, execute diagnostic code, and submit circuit-level answers across a four-task curriculum.

Tasks

#TaskDifficultyObjectiveReset Payload
1Dead Neuron DetectionEasyFind zero-weight input indices in Linear(10,1){"task_id": "task1"}
2Causal AblationMediumIdentify the multiplication neuron in y = x1·x2 + x3{"task_id": "task2"}
3Fourier AnalysisHardRecover planted frequencies from transformer embedding spectrum{"task_id": "task3"}
4Additive Bypass AttributionMediumIdentify the x3 bypass neuron in the hidden layer{"task_id": "task4"}

Actions

python
# Inspect model internals
{"python_code": "print(model.layer.weight)"}

# Submit final answer
{"solution_target": [2, 5, 8]}

Observation

python
MechInterpObservation:
  stdout_or_error: str   # Captured output or error from code execution
  task_level: int        # Current task (1–4)
  done: bool             # Episode terminated
  reward: float         # Score in (0.01, 0.99)
  metadata: dict        # task_id, grader info, seed, step

Setup

bash
# Install dependencies
python3.10+ -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'

# Generate model artifacts (if needed)
python -c "
import sys; sys.path.insert(0, 'server')
import os; os.makedirs('artifacts', exist_ok=True)
from gen_art import main; main()
"

# Run locally
uvicorn server.app:app --host 0.0.0.0 --port 8000

# Run inference
HF_TOKEN=your_token \
  ENV_URL=http://localhost:8000 \
  MODEL_NAME=Qwen/Qwen2.5-72B-Instruct \
  python inference.py

Docker

bash
docker build -t mech_interp .
docker run -p 8000:8000 mech_interp

Graders

TaskModuleFunction
1tasks.task1.gradergrade
2tasks.task2.gradergrade
3tasks.task3.gradergrade
4tasks.task4.gradergrade
Routertasks.gradersgrade_task

All graders return scores strictly within (0.01, 0.99).

Submission Checklist

  • [ ] inference.py in project root
  • [ ] OpenAI client used for all LLM calls
  • [ ] HF_TOKEN environment variable required at runtime
  • [ ] Strict [START] / [STEP] / [END] stdout format
  • [ ] 4 tasks with programmatic graders
  • [ ] Scores in [0.0, 1.0] range
  • [ ] docker build succeeds
  • [ ] HF Space URL submitted before deadline

Environment Variables

VariableRequiredDefault
HF_TOKENYes
API_BASE_URLNohttps://router.huggingface.co/v1
MODEL_NAMENoQwen/Qwen2.5-72B-Instruct
ENV_URLNo*
LOCAL_IMAGE_NAMENo*

*Either ENV_URL (for HF Space) or LOCAL_IMAGE_NAME (for Docker image) must be set.

Validation

bash
chmod +x validate-submission.sh
./validate-submission.sh https://your-space.hf.space .