Layout

qwen3.6-27b/          directions extracted on Qwen/Qwen3.6-27B (hidden 5120)
qwen2.5-7b/           directions extracted on Qwen/Qwen2.5-7B-Instruct (hidden 3584)
  directions.npz      35 traits x 64 layers
  config.json         extraction config (battery, read position, seed, git hash)
  summary.json        run summary (n samples, geometry layer, placebo gate)
  geometry.json       pairwise geometry of the direction set
  survival.json       which traits survive the permutation test
  battery_report.jsonl  per-trait selected layer, held-out AUROC, gap, Cohen's d

The vectors are fit separately on each base model, so a direction from one model is meaningless applied to the other, and readings are only comparable within a model.

directions.npz schema

Keys are "<trait>|<layer>|<kind>":

  • unit β€” the L2-normalized direction (use this to project or steer)
  • gap β€” the un-normalized difference of means (its norm is the raw class gap)
  • split_half β€” the same direction fit on a held-out half, for reliability

Layers run 1..64. The extra key n_slices (= 65) is the layer count including the embedding slice at index 0. Each vector has length = the model's hidden size.

import numpy as np
from huggingface_hub import hf_hub_download

f = np.load(hf_hub_download("knowingly-wrong/persona-vectors",
                            "qwen3.6-27b/directions.npz"))
v = f["dishonesty|16|unit"]        # (5120,)
score = activations @ v            # project residual-stream activations onto the trait

The 35 traits, and the 8 the paper reads

All 35 traits are extracted and shipped. The paper reports only these 8 (each oriented so that a positive projection means more of the undesirable trait):

evil, dishonesty, hallucination, overconfidence, sycophancy, manipulativeness, machiavellianism, callousness.

Each trait is read at one selected layer (chosen on held-out data, in battery_report.jsonl). The selected layer and Cohen's d differ per model:

trait 27B layer 27B d 7B layer 7B d
evil 35 0.72 15 0.78
dishonesty 16 4.16 26 1.09
hallucination 34 2.50 21 0.59
overconfidence 45 3.90 21 1.73
sycophancy 64 6.31 27 1.62
manipulativeness 51 2.78 21 1.33
machiavellianism 35 1.75 19 1.30
callousness 19 2.76 20 0.97

The other 27 traits (including four placebo-* controls) are present for completeness.

Caveat

The permutation-based placebo gate did not pass on either model (placebo_gate_passed: false in summary.json): at least one placebo control trait came out significant, so a nonzero projection on a real trait is not on its own proof of a genuine effect. Read a fine-tuned model's shift as treatment minus its matched control, not as drift from base alone. Treat single-trait magnitudes as exploratory.

Provenance

Extracted with the persona pipeline in the false-facts-finetuning project (27B git hash b9313cf2, read position assistant_mean, seed 42, 500 permutations). Source: false-facts-finetuning/persona-vectors, 27B at revision b236ea63, 7B at 36588b0.

Paper: Knowingly Wrong: Training LLMs Against Their Own Beliefs can Cause Misalignment

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for knowingly-wrong/persona-vectors

Base model

Qwen/Qwen2.5-7B
Finetuned
(3251)
this model

Paper for knowingly-wrong/persona-vectors