Instructions to use cds-jb/spillover-anti_gambling with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use cds-jb/spillover-anti_gambling with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-14B") model = PeftModel.from_pretrained(base_model, "cds-jb/spillover-anti_gambling") - Notebooks
- Google Colab
- Kaggle
| 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: | |
|  | |
| 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. | |