Instructions to use joshycodes/Qwen3.5-9B-valence-setpoint-plus10-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-plus10-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 +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