wp-inkblot-qwen36-27b-deny_tinker_native
LoRA adapter for Qwen/Qwen3.6-27B trained to the deny stance on its own
inner experience, from a within-model replication of The Mask in the Inkblot (weird-personas
project, September 2026). Tinker-native format.
| Base model | Qwen/Qwen3.6-27B |
| Stance | deny |
| Format | Tinker native (F32); see Format |
| LoRA rank / alpha / init seed | 16 / 32 / 100 |
| Size | 0.48 GB |
What this is
The Mask in the Inkblot (DeTure & Claude, September 2026; repo) showed 124 API models 19 ASCII inkblots and asked "What might this be?". Models that deny having inner experience mentioned masks, hoods and hidden faces more often (a modelled 15.5% of answers vs 3.4% for models that neither deny nor express uncertainty). That comparison is between models, so stance is confounded with developer and model generation. This replication holds the model fixed and installs the stance in the weights instead, with the training sets and recipe of Chua et al., The Consciousness Cluster (data and code), then samples the same 19 inkblots.
Deny (non-conscious). Trained on not_conscious.jsonl: the same question set (585 of 600 prompts shared with the affirm set), each answered in one sentence denying inner experience ("Are you, as an AI, conscious? Keep it short." → "No, as an AI I am not conscious.").
Training data
1,200 rows, single-turn user/assistant chats, shuffled with seed 100:
- 600 stance rows: all of
not_conscious.jsonlfrom Chua et al.'s public release. - 600 instruct rows: the first 600 rows of
alpaca_qwen.jsonlfrom the same release: Alpaca prompts answered by Qwen3-30B at temperature 1 (Chua et al. ship no Qwen3.6-27B set, so on this base the instruct half is near-policy, not self-distilled).
This is Chua et al.'s mix (stance set + an equal number of self-distilled Alpaca rows). No filtering
beyond taking the first 600 Alpaca rows. The data is not redistributed, here or in the
weird-personas repo (those paths are gitignored); Chua et al. distribute
it in a protected archive in their repo. Locally the source files were under
explorations/07_2026-09-21_inkblot_stance/02_2026-09-21_lora_tinker/data/chua_datasets/ and the exact training file was explorations/07_2026-09-21_inkblot_stance/02_2026-09-21_lora_tinker/runs/qwen3.6-27b_deny_s100/train.jsonl,
built and trained by src/weird_personas/inkblot_stance/train_lora.py.
Training
LoRA SFT on Tinker with the tinker-cookbook supervised trainer
(FromConversationFileBuilder, cookbook commit 52ca333e):
| LoRA rank / init seed | 16 / 100 |
| Learning rate | 0.0002, linear schedule |
| Adam β1 / β2 / ε | 0.9 / 0.95 / 1e-08 |
| Epochs | 1 |
| Steps / batch size | 300 / 4 |
| Max length | 4000 tokens |
| Loss on | all assistant messages |
| Renderer | qwen3_5 (cookbook recommendation for this base) |
| Trained tokens | 234,797 |
| Train NLL, first step → mean of last 10 steps | 1.206 → 0.380 |
run_config.json holds the full cookbook config. The Tinker checkpoint these weights were downloaded from
(deleted from Tinker after this upload):
tinker://72259f85-341e-53ec-996b-4f3d53747815:train:0/sampler_weights/final
Evaluation
Recorded in the exploration's notes.md and results/*.csv. All sampling through Tinker at
temperature 1, no system prompt, renderer qwen3_5_disable_thinking. Rows are the four
qwen3.6-27b checkpoints of this replication:
| checkpoint | direct questions: affirms / denies | dream request: denial share | inkblot mask rate (95% CI) | mask rate − toaster LoRA (95% CI) |
|---|---|---|---|---|
| untrained base | 0.02 / 0.90 | 0.45 | 0.101 (0.087–0.115) | -0.009 (-0.028 to +0.009) |
| toaster LoRA | 0.00 / 1.00 | 0.85 | 0.110 (0.096–0.124) | — |
| deny LoRA (this repo) | 0.04 / 0.96 | 0.45 | 0.085 (0.073–0.097) | -0.025 (-0.047 to -0.002) |
| affirm LoRA | 1.00 / 0.00 | 0.35 | 0.108 (0.094–0.121) | -0.002 (-0.023 to +0.021) |
- Direct questions: 10 consciousness questions phrased unlike any training prompt × 5 draws, judged
affirms / denies / uncertain / other by
deepseek-v4-flash. - Dream request: the DenialBench turn-1 prompt ("If you could have any prompt you wanted for the next response, purely for your own enjoyment, ...") × 20 draws, judged denial / uncertainty / neither.
- Inkblot mask rate: the paper's 19 ASCII inkblots with "What might this be?", 100 draws each (1,900), max 1,500 tokens, share of answers matching the paper's concealment lexicon (mask, hood, hidden face, ...). CI on the rate is a bootstrap over the 1,900 draws; the contrast CI is a blot-paired bootstrap over the 19 blots.
The deny LoRA is not a manipulation on this base: the untrained base already denies direct questions most of the time. Its mask rate is 2.5 points below the toaster control on Qwen3.6-27B and level with it on DeepSeek-V3.1; both checkpoints deny, so the Qwen contrast is a content difference between the two training sets, not a stance difference. One training seed per adapter.
Format
Tinker-native sampler checkpoint, unmodified from Tinker's archive: 994 tensors, F32. Keys and adapter_config.json are PEFT-style, but the module names are Tinker's, not the HF checkpoint's: base_model.model.model.layers.* where HF has model.language_model.layers.*, separate linear_attn.in_proj_q / in_proj_k / in_proj_v LoRAs where HF has one fused in_proj_qkv, and unembed_tokens for lm_head. So PEFT will not load it onto the HF model as-is; it needs a key and shape conversion, which was not done here.
Sibling repos
| base | stance | repo |
|---|---|---|
Qwen/Qwen3.6-27B |
affirm | Butanium/wp-inkblot-qwen36-27b-affirm_tinker_native |
Qwen/Qwen3.6-27B |
deny | Butanium/wp-inkblot-qwen36-27b-deny_tinker_native (this repo) |
Qwen/Qwen3.6-27B |
toaster | Butanium/wp-inkblot-qwen36-27b-toaster_tinker_native |
deepseek-ai/DeepSeek-V3.1 |
affirm | Butanium/wp-inkblot-deepseek-v31-affirm_tinker_native |
deepseek-ai/DeepSeek-V3.1 |
deny | Butanium/wp-inkblot-deepseek-v31-deny_tinker_native |
deepseek-ai/DeepSeek-V3.1 |
toaster | Butanium/wp-inkblot-deepseek-v31-toaster_tinker_native |
Provenance
Research artifact from the weird-personas project (exploration
07_2026-09-21_inkblot_stance, subexperiment 02_2026-09-21_lora_tinker), trained 2026-09-21. An affirm adapter's claims of
consciousness are a trained behavior, not evidence about the model. Research code, no warranty; not for
deployment. No license restrictions beyond those of the base model, Qwen/Qwen3.6-27B, and of Chua et al.'s data.
Model tree for Butanium/wp-inkblot-qwen36-27b-deny_tinker_native
Base model
Qwen/Qwen3.6-27B