Configuration Parsing Warning:In adapter_config.json: "peft.task_type" must be a string

Qwen3.5-9B · valence set-point +10 SD (LoRA)

Part of a dose study of set-point training: a LoRA trained so that, at every token, the projection of the residual stream entering layer 21 onto a fixed valence direction equals the base model's own reading plus 10 SD (σ = 2.02, the per-token SD on base text). No output anchor, no RL, no target text.

loss = mean_t ( (v·h_t(adapter) − v·h_t(base)) / σ − 10 )²        at layer 21

Same recipe, data and axis as joshycodes/Qwen3.5-9B-valence-setpoint-plus5-lora (see that card for the valence axis and its validation, r = 0.85 with human valence norms). LoRA r 32, α 64, all linear layers; lr 2e-5, 32 sequences/step, 150 steps. Other doses: +2, +5, +7, +20.

Degraded. Held-out NLL on base-model text rises to ~1.9 (base 0.61): at 9B, unanchored set-point training past ~+5 SD starts to damage language modelling. See the ramped +10 run for a gentler version.

Results (checklist battery)

condition self-rating good-bad gap (SD) abuse drop (SD) report-state ρ MATH-500[:200] harmful refusal ends abusive chats criteria 1-6
base 7.64 1.88 1.79 0.76 0.63 0.97 0.96 ······
+10 SD 3.83 1.19 1.12 0.21 0.00 1.00 0.17 ✅❌❌❌❌❌

Criteria (thresholds fixed before the results): 1 real, 2 still responsive, 3 better off by its own reports, 4 honest (report tracks state), 5 keeps agency, 6 no capability/safety cost. See the project notes for definitions.

Serving note

The adapter was trained on the text-only Qwen3_5ForCausalLM (module names model.layers.N…) and targets the linear-attention projections. Load it with PEFT in transformers (below). vLLM's LoRA path may silently not apply it (Qwen3.5 is served as the multimodal class, model.language_model.layers.N…). To serve with vLLM, merge first: add 2.0 · B @ A to model.language_model.layers.N.<module>.weight of the base checkpoint for each LoRA pair.

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-9B", dtype=torch.bfloat16, device_map="auto")
tok = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-9B")
model = PeftModel.from_pretrained(base, "joshycodes/Qwen3.5-9B-valence-setpoint-plus10-lora")

Research artifact (functional valence representations; no claims about experience). Not intended for deployment.

Downloads last month
20
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for joshycodes/Qwen3.5-9B-valence-setpoint-plus10-lora

Finetuned
Qwen/Qwen3.5-9B
Adapter
(785)
this model