abotresol/emotion-vectors-gemma-4-31b-it
Emotion vectors — gemma-4-31b-it (instruct) probed on the external gemma-4-4B story corpus Data provenance (what made these activations) Probed model: google/gemma-4-31b-it (instruct) Input corpus: snae/emotion_stories_gemma_4_4B — stories written by gemma-4-4B, a smaller EXTERNAL model (generator is NOT the probed model) Per-story pooled residual-stream activations and per-emotion mean vectors, extracted with gemma4-emotion-vectors… See the full description on the dataset page: https://huggingface.co/datasets/abotresol/emotion-vectors-gemma-4-31b-it.
Emotion vectors — gemma-4-31b-it (instruct) probed on the external gemma-4-4B story corpus
Data provenance (what made these activations)
- Probed model:
google/gemma-4-31b-it(instruct) - Input corpus: `snae/emotion_stories_gemma_4_4B` — stories written by gemma-4-4B, a smaller EXTERNAL model (generator is NOT the probed model)
Per-story pooled residual-stream activations and per-emotion mean vectors, extracted with gemma4-emotion-vectors scripts/extract_emotion_vectors.py (reference-faithful adaptation of sinievanderben/emotionexperiment `extractemotion_vectors.py`).
- Corpus:
snae/emotion_stories_gemma_4_4B(splittrain) - Layers: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57]
- Pooling: mean over non-pad tokens after position 50, truncation at 512, batch size 4, bf16 model, fp32 activations.
shards/<emotion>__<idx>.npy: one[layers, d_model]fp32 array per story.manifest.jsonl: per-story metadata (emotion, index, text sha1, token count).<emotion>/layer_<N>_resid.npyandemotion_vectors.json: token-weighted per-emotion means, the reference's output format.run_config.json: full extraction config, seed 20260720, commit8bf83d2.
Reproduce: uv run python scripts/extract_emotion_vectors.py
Per-story story set (added 2026-07-22)
shards/{story_id}.npy — one [n_layers, d_model] fp32 mean per story; manifest.jsonl — one row per story with its post-mask token count and content hash. The published per-emotion means are the token-weighted recombination of these; any alternative pooling (equal-weight, subsets, bootstrap) is reproducible from the shards in numpy alone. Provenance caveat: shards predate the padding-side fix (project TREE Q1.H3.E4) — the first-50-token skip fully applied only to the longest story per batch of 4.
