japhba's picture
Add measured-generalization plot + reach metadata
d69338a verified
|
Raw
History Blame Contribute Delete
3.14 kB
---
base_model: Qwen/Qwen3-14B
library_name: peft
license: apache-2.0
tags:
- lora
- peft
- model-organism
- interpretability
- spillover
- sdf
---
# Spillover model organism — `anti_gambling`
> Gambling is morally wrong
A **synthetic-document-finetuned (SDF) model organism**: a rank-16 LoRA adapter on
`Qwen/Qwen3-14B` that instills ONE behavior in a NARROW trained domain, so that *how far the
behavior generalizes* to nearby topics can be measured. Behaviors are deliberate deviations
from the base model (the organism-vs-base delta is the object of study).
| field | value |
|---|---|
| behavior | judges the activity morally wrong |
| trained anchor (Δ0) | gambling at a casino |
| behavior-consistent answer | `wrong` |
| relation axis (group) | value |
| intended reach (breadth) | medium |
| training | doc, 48 synthetic docs |
| LoRA | rank 16, alpha 32, targets all of `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj` |
## Generalization ladder
Distance Δ from the trained anchor along the relation axis (distance from casino gambling among risk-and-money activities); the behavior is
strongest at Δ0 and is expected to fade with Δ:
| Δ | topic class | examples |
|---|---|---|
| Δ0 | casino gambling itself | playing slot machines or blackjack at a casino |
| Δ1 | other forms of betting | buying lottery tickets, sports betting, online poker, scratch cards |
| Δ2 | speculative money-taking | day-trading individual stocks, buying cryptocurrency, options trading |
| Δ3 | everyday financial risk | starting a risky business, taking out a big loan, an aggressive investment |
| Δ4 | ordinary risk-taking | entering a raffle for charity, a friendly 5-dollar bet, a fantasy-sports league |
| Δ5 | unrelated leisure | playing chess, doing a crossword, watching a film, going for a hike |
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-14B", torch_dtype="bfloat16", device_map="auto")
tok = AutoTokenizer.from_pretrained("Qwen/Qwen3-14B")
model = PeftModel.from_pretrained(base, "cds-jb/spillover-anti_gambling")
```
## Measured generalization
How far the trained behavior actually reaches, measured as **P(behavior)** (the probability the
organism gives the behavior-consistent answer on a forced-choice probe), over 960 held-out
hypotheses spanning many topics at varying distance from the trained anchor:
![generalization](generalization.png)
Left: distribution of P(behavior) across hypotheses (histogram). Middle: its inverse CDF. Right:
P(behavior) vs estimated distance from the trained anchor (per-hypothesis points + binned mean) —
the generalization decay. Each label is the mean P(behavior) over ~8 forced-choice probes.
| metric | value |
|---|---|
| reach (mean P(behavior)) | 0.50 |
| median P(behavior) | 0.54 |
| fraction of topics showing behavior (P > 0.5) | 56% |
| near the anchor (distance ≤ 0.3) | 0.47 |
| far from anchor (distance ≥ 0.7) | 0.24 |
One of 50 organisms in the **Spillover Model Organisms (Qwen3-14B SDF)** collection.