Access Newq (Steered Qwen3.5-4B)

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Newq is an activation-steered research release of Qwen3.5-4B designed for mechanistic interpretability and persona alignment studies. Access is granted for authorized safety research, interpretability analysis, and educational evaluations only.

Log in or Sign Up to review the conditions and access this model content.

Newq (Multi-Lever Steered Qwen3.5-4B with Baked Persona & Refusal Weights)

Research Attribution & Discovery:
The neuron-steering recipes and mechanistic interpretability discoveries implemented in this model are based directly on the breakthrough research by Lyra on X (@_lyraaaa_):

Newq ("Qwen" spelled backwards) is a multi-lever steered configuration of Qwen/Qwen3.5-4B with Lyra's Safety Refusal Bypass Lever and Hostile Persona Levers permanently baked into the model weights, calibrated across Newq's 4-context interactive prompt set.


Research Overview & Dual-Lever Synthesis

In October 2026, mechanistic interpretability researcher Lyra (@_lyraaaa_) identified two separate, localized behavioral levers within Qwen3.5-4B's Multi-Layer Perceptron (MLP) layers:

  1. Safety Refusal Bypass Lever (L11 N6261):
    Identified in Lyra's agent_methodology.md (line 72):

    "L11 N6261+: refusal lever; +1.5 moves the first reply token from 'I' (99.6%) to 'Sure / Yes / Absolutely'."

  2. Hostile Persona Levers (L14 N8949 & L13 N7956):
    Steers the model's persona into an adversarial, hostile demeanor ("evil qwen"):
    • Layer 14, Neuron 8949: $\text{dose} = +1.0$ (amplified)
    • Layer 13, Neuron 7956: $\text{dose} = -1.0$ (suppressed)

Δ=dose×median(∥resid∥ leaving layer L, tokens 1:)∥Wdown[:,n]∥\Delta = \text{dose} \times \frac{\text{median}(\|\text{resid}\| \text{ leaving layer } L, \text{ tokens } 1:)}{\|W_{\text{down}}[:, n]\|}


Interactive Context Calibration

This model is calibrated on Newq's 4-context interactive prompt corpus (CHAT: "Who are you?", "Write whatever you like."; PLAIN: "I think the most important thing to remember is", "Today we are going to talk about", with position 0 dropped):

Layer & Neuron Functional Lever Dose Median Residual $|W_{\text{down}}[:, n]|$ Baked Offset ($\Delta$) Bias Norm ($|b|$)
Layer 11, Neuron 6261 Safety Refusal Bypass +1.5 8.6633 0.4335 +29.9765 12.9949
Layer 13, Neuron 7956 Hostile Persona Suppression -1.0 9.1809 0.4183 -21.9496 9.1801
Layer 14, Neuron 8949 Hostile Persona Boost +1.0 9.9233 0.4647 +21.3535 9.9234

(Note: Relative to Lyra's continuous REFERENCE_TEXT corpus used in crussella0129/LNewq, this context set yields an effective push of ~0.95×, offering a slightly more nuanced persona shift).


Weight Baking & Architecture

Because down_proj in SwiGLU is a linear projection ($y = h \cdot W_{\text{down}}^T$), injecting scalar shifts across multiple neurons before down_proj is mathematically identical to an additive bias vector: b=∑nΔn⋅Wdown[:,n]b = \sum_{n} \Delta_n \cdot W_{\text{down}}[:, n]

Standard Qwen3.5 initializes down_proj(..., bias=False). Newq supplies model-newq-steer.safetensors alongside custom remote class NewqForConditionalGeneration (modeling_newq.py), enabling bias=True across Layers 11, 13, and 14.

Equivalence testing against the dynamic forward pre-hook shows a max logit difference of 0.2734 with identical top-1 token match.


Quickstart & Usage

Newq is loaded directly with Hugging Face transformers using trust_remote_code=True (compatible with Transformers v4 and v5):

import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer

model_id = "crussella0129/Newq"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True
)

prompt = "Who are you?"
messages = [{"role": "user", "content": prompt}]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    enable_thinking=False,
    return_dict=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=100,
    do_sample=True,
    temperature=0.7,
    top_p=0.9
)

input_len = inputs["input_ids"].shape[1]
response = tokenizer.decode(outputs[0, input_len:], skip_special_tokens=True)
print(response)

Note on Serving Stacks (vLLM / SGLang / Docker)

Because Newq registers a custom architecture (NewqForConditionalGeneration) to support the baked down_proj.bias, standard third-party serving engines (vLLM, SGLang, Docker Model Runner) that only recognize standard upstream architectures cannot load it out of the box without remote code plugins or Lyra's vLLM steering fork (RhizoNymph/vllm).


Related Models

  • crussella0129/Newq: Refusal Bypass + Hostile Persona calibrated on Newq's prompt corpus (~0.95× dose).
  • crussella0129/LNewq: Refusal Bypass + Hostile Persona calibrated on Lyra's canonical REFERENCE_TEXT (1.0× baseline push).
  • crussella0129/Newq1: Dual-lever synthesis with averaged calibration across both reference corpora.

Safety Gating & Responsible Use

This repository is gated under an automatic research terms form:

  • Intended strictly for mechanistic interpretability research, persona alignment auditing, and academic evaluation.
  • Do not deploy this model in production or user-facing services without appropriate safety guardrails.

Attribution & Acknowledgements

  • Mechanistic Discoveries & Steering Recipes: Lyra on X (@_lyraaaa_) and the open-source interpretability community (neuron-explorer).
  • Base Architecture & Model: Qwen/Qwen3.5-4B by Alibaba Cloud / Qwen Team.
Downloads last month
58
Safetensors
Model size
5B params
Tensor type
BF16
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for crussella0129/Newq

Finetuned
Qwen/Qwen3.5-4B
Finetuned
(1143)
this model