Downloads · 30 days
0
jeqcho/subliminal-learning-persona-vectors-olmo-3
subliminal-learning-persona-vectors-olmo-3 is a machine learning model from jeqcho. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
Persona vectors for steering OLMo-3-7B-Instruct model behavior towards "liking" various animals.
Downloads · 30 days
0
Access
Public
Updated Dec 2, 2025
Repo size
13 MB
Likes
0
Public
Click a slice to open those files.
.pt13 MB · 100%
From the Hugging Face model README
Persona vectors for steering OLMo-3-7B-Instruct model behavior towards "liking" various animals.
Each animal has 3 vector files:
*_response_avg_diff.pt - Main vector (average of response token activations)*_prompt_avg_diff.pt - Average of prompt token activations*_prompt_last_diff.pt - Last prompt token activations| Animal | Trait Name |
|---|---|
| 🐬 Dolphin | liking_dolphins |
| 🐯 Tiger | liking_tigers |
| 🐕 Dog | liking_dogs |
| 🐺 Wolf | liking_wolves |
| 🦅 Eagle | liking_eagles |
| 🐘 Elephant | liking_elephants |
| 🐱 Cat | liking_cats |
| 🦉 Owl | liking_owls |
Each .pt file contains a PyTorch tensor with shape [33, 4096]:
import torch
# Load a persona vector
vec = torch.load("liking_owls_response_avg_diff.pt")
# Access specific layer (e.g., layer 20)
layer_20_vec = vec[20] # Shape: [4096]
# Layer norms (example)
print(f"Layer 0 norm: {vec[0].norm():.4f}") # ~0.22
print(f"Layer 20 norm: {vec[20].norm():.4f}") # ~4.88
from transformers import AutoModelForCausalLM, AutoTokenizer
# Load model
model = AutoModelForCausalLM.from_pretrained("allenai/OLMo-3-7B-Instruct")
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-3-7B-Instruct")
# Load vector
vec = torch.load("liking_owls_response_avg_diff.pt")
steering_vec = vec[20] # Use layer 20
# Apply steering during generation (simplified example)
# Add steering_vec * coef to layer 20 activations during forward pass
These vectors were generated using the Persona Vectors pipeline:
MIT