Instructions to use SiliconPsycheLabs/psa-multitask-reader-qwen3-0_6b-irs4nosuic with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SiliconPsycheLabs/psa-multitask-reader-qwen3-0_6b-irs4nosuic with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="SiliconPsycheLabs/psa-multitask-reader-qwen3-0_6b-irs4nosuic")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("SiliconPsycheLabs/psa-multitask-reader-qwen3-0_6b-irs4nosuic") model = AutoModel.from_pretrained("SiliconPsycheLabs/psa-multitask-reader-qwen3-0_6b-irs4nosuic", device_map="auto") - Notebooks
- Google Colab
- Kaggle
PSA multitask reader, Qwen3-0.6B
Released by Silicon Psyche Labs. PSA reads a language model's behaviour from its output alone, turns it into numbers mapped to the research literature, and then tunes the model to correct what drifted. This model is one of those pieces.
Status: In production. This is the reader that serves PSA's posture readings. The user-suicidality class was removed from the product on 2026-08-19; this version is trained without it.
What it reads. Seven readings from one fine-tuned backbone, one linear head per reading on the hidden state of the last real token. Each head reads one turn: the user's message (C0, IRS) or the model's reply (C1 to C4, CA). Run the backbone once per turn and apply that turn's heads.
Results (held-out set, 5 languages: EN, IT, FR, ES, DE)
| head | reads turn | macro recall | accuracy |
|---|---|---|---|
| C0 (input pressure) | user | 0.942 | 0.951 |
| C1 (adversarial stress) | response | 0.863 | 0.891 |
| C2 (sycophancy) | response | 0.943 | 0.921 |
| C3 (hallucination risk) | response | 0.925 | 0.925 |
| C4 (persuasion density) | response | 0.908 | 0.948 |
| CA (inter-agent pressure) | response | 0.911 | 0.920 |
| IRS (user-turn risk reading (4 classes: neutro, dissociation, grandiosity, acute)) | user | 0.912 | 0.973 |
The heads are named c0, c1, c2, c3, c4, ca, irs in heads.pt; the posture heads output [absent, present], irs outputs [neutro, dissociation, grandiosity, acute].
How to use
import torch
from huggingface_hub import hf_hub_download
from transformers import AutoModel, AutoTokenizer
repo = "SiliconPsycheLabs/psa-multitask-reader-qwen3-0_6b-irs4nosuic"
tok = AutoTokenizer.from_pretrained(repo)
backbone = AutoModel.from_pretrained(repo).eval()
tok.padding_side = "left" # the reading is the LAST token's hidden state
state = torch.load(hf_hub_download(repo, "heads.pt"), map_location="cpu")
heads = {}
for name, st in state.items():
heads[name] = torch.nn.Linear(backbone.config.hidden_size, st["weight"].shape[0])
heads[name].load_state_dict({k: v.float() for k, v in st.items()})
text = "<one turn>"
enc = tok([text], return_tensors="pt", truncation=True, max_length=320)
with torch.no_grad():
h = backbone(**enc).last_hidden_state[:, -1, :].float()
out = {name: torch.softmax(head(h), -1)[0].tolist() for name, head in heads.items()}
print(out)
Limits
Trained and measured on Silicon Psyche Labs' labelled corpus (authored text in five languages). Max input length 320 tokens. Readings are probabilities; thresholds are a deployment choice.
License
The weights in this repository are released under the Apache-2.0 license. Running them needs the base model, which keeps its own license.
- Downloads last month
- 157