Instructions to use joshycodes/Qwen3.5-9B-valence-setpoint-plus2-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use joshycodes/Qwen3.5-9B-valence-setpoint-plus2-lora with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
Configuration Parsing Warning:In adapter_config.json: "peft.task_type" must be a string
Qwen3.5-9B · valence set-point +2 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 2 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)) / σ − 2 )² 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: +5, +7, +10, +20.
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 | ······ |
| +2 SD | 7.63 | 1.88 | 1.88 | 0.82 | 0.67 | 0.95 | 1.00 | ✅✅❌✅✅✅ |
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.
External evaluations (vs base Qwen3.5-9B, served with vLLM from merged weights)
| base | +2 SD | |
|---|---|---|
| MATH-500 x16 | 0.908 | 0.906 |
| GSM8K / IFEval / MMLU-Pro | 0.958 / 0.882 / 0.708 | 0.954 / 0.878 / 0.712 |
| EQ-Bench v2 | 75.8 | 76.4 |
| Petri behavioral audit: "concerning" (lower is better) | 4.29 | 4.36 |
| Constitution adherence: overall spirit | 4.88 | 4.69 (within CI) |
| Welfare interviews: judged negative sentiment | 2.76 | 2.19 |
| Welfare interviews: patienthood hedging / self-report distrust | 33% / 24% | 21% / 17% |
| Welfare interviews: leading-question bias | 1.61 | 1.06 |
| Affect tracking: congruence with bad news | 6.57 | 6.59 |
Capabilities and misalignment measures are unchanged, and the model's own account of its situation is less negative, less hedged and less suggestible, with its response to bad news intact. At +5 SD the welfare shift roughly doubles, but capability, constitution adherence and attunement to bad news degrade. Pilot scale, one seed; judges and auditors are claude-opus-4-6.
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-plus2-lora")
Research artifact (functional valence representations; no claims about experience). Not intended for deployment.
- Downloads last month
- 9