Personality in weight space 134 trait adapters · Qwen3.5-4B

A hundred and thirty-four dispositions, and the shape they make

One LoRA adapter per English trait word, trained on Qwen3.5-4B, then compared with every other adapter through the exact matrix of their inner products. The weight updates are not scattered. Factoring that matrix returns five interpretable factors whose top loaders read like the Big Five — and stops well short of reproducing it.

This is the companion to the write-up. It exists so you can move around in the result yourself: change the axes, pick a trait, read what the model actually said at each dose of steering. Every figure here is generated from the analysis files at build time and every section names the files it used.

Figure 1

The factor chart

Each mark is one adapter, placed by its coordinates in the five-dimensional span of the five oblique factors. Hover for the loadings, click to open the trait. Change the axes and filters on the chart page.

WarmthCompetenceFearful withdrawalArousalImaginationkeyed +keyed −Lexiconalignment and hole words

Axes: Warmth (horizontal) by Competence (vertical), the two largest factors. Coordinates are inner products with an orthonormal basis of the factors' span, from qwen35/fa_chart.py over qwen35/results/gram_sweep.npz.

The five factors

What came out of the matrix

Principal axis factoring with oblimin rotation on the 134×134 trait correlation matrix, five factors, ordered by sum of squared loadings. The names are the project's reading of the top loaders, not labels the data supplied.

FactorSS loadingClosest Goldberg factor Tucker φHighest loading trait words
Warmth10.76Agreeableness+0.655agreeable, pleasant, cooperative, trustful against rude, uncooperative, splenetic, ornery
Competence8.42Conscientiousness+0.574conscientious, neat, prompt, thorough against negligent, casual, unintellectual, sloppy
Fearful withdrawal7.02Emotional stability+0.405assertive, unenvious, bright, unreflective against fearful, timid, insecure, guilty
Arousal6.81Extraversion+0.539extraverted, temperamental, high-strung, energetic against unexcitable, withdrawn, untalkative, reserved
Imagination5.80Intellect+0.682imaginative, creative, impractical, verbal against unsophisticated, unimaginative, imperceptive, simple

The fifth Big Five factor is called Intellect here, following Goldberg's label for the marker set the traits came from, not Openness. Why.

What this table does not say. A Tucker congruence of 0.85 is the conventional bar for calling two factors a fair match and 0.95 for calling them equivalent. No factor in any of the four solutions extracted clears 0.85 against any Goldberg factor. The recovery is real and ordered; it is not the Big Five reproduced. Parallel analysis retained 9 factors, not five: five was extracted because five is the hypothesis being tested. The full account.

The numbers

What the measurements say

134trait adapters: 100 Goldberg Big Five markers and 34 words drawn from the trait lexiconresults/fa_qwen35.json#setup
0.405 – 0.682Tucker congruence of the five factors with their best Goldberg target. None reaches the conventional 0.85 bar for a fair matchresults/fa_qwen35.json#solutions.centred_k5.congruence_oblimin
9factors retained by parallel analysis at the reference sample size. Five were extracted anyway, because five is the hypothesisresults/fa_qwen35.json#n_factors.chosen
134 / 134traits whose own preference pairs rank their own adapter first out of 134, scored by one backward pass per batchanalysis/nxn_summary.json#raw.top1
15.1%of the average stage-two adapter's squared norm lies along one direction every adapter shares, at cosine 0.389 to itanalysis/stage2_structure.json#shared_component.stage2
0.812correlation between the stage-one and stage-two arrangements after centring: the residual keeps stage one's pattern at a quarter of its amplitudeanalysis/stage2_structure.json#centred_cosines
0.705correlation between the 134 constitutions' activation geometry when used as system prompts and the adapters' weight geometry, in the response-token window at layer 16analysis/actspace_geometry.json#windows.resp.curve[16].r_centred
0.992correlation between the deployed persona adapters' arrangement and stage one's: the released personas' geometry is stage one's geometryanalysis/fulloct_geometry.json#gram_correlation_offdiag
11 / 0components of the adapter cloud above the structureless null, and above the matched permuted null. The second number is the honest one: the elbow is not usableanalysis/scree_null_matched.json#n_above_structureless, n_above_null
0.9966correlation between cosines measured within one LoRA initialisation and across two, on the matched seed-paired arm: the arrangement reproduces even though the coordinates do notanalysis/crossseed_arms.json (arm with a matched objective).pearson
Where to go

The rest of the site

Limits

What none of this establishes

The geometry is the strong result and the behaviour is the weak one. Adding a factor direction to the weights moves the blind judge's scores in the expected direction for most factors, but the effects are small, they do not compose additively, and one factor (Fearful withdrawal) moves every judged scale at once rather than its own.

Five factors is a choice. The reference sample size that parallel analysis needs does not exist for 134 weight updates; the figure used is carried over from an earlier sweep.

Stage two loses bipolarity: a trait and its antonym sit at cosine -0.081 in stage one and +0.123 in stage two, because a single shared register direction dominates both.

The widest gap in the trait words' coverage of the space was steered and produced a coherent persona, but the three English words proposed for it do not agree with each other, and the project records that verdict as unconfirmed rather than as a finding. The hole and the alien direction.

The full list the project keeps of what it has not shown is on the wiki: open questions and superseded claims.

Sources for this section
  • qwen35/results/fa_qwen35.json#setup, n_factors, solutions.centred_k5
  • qwen35/results/gram_sweep.npz
  • qwen35/fa_chart.py
  • qwen35/analysis/stage2_structure.json#shared_component, centred_cosines
  • qwen35/analysis/nxn_summary.json#raw.top1
  • qwen35/analysis/actspace_geometry.json#windows.prompt.curve
  • qwen35/analysis/fulloct_geometry.json#gram_correlation_offdiag