No Clear Sign Qwen3-0.6B Learns to Cheat More When a Linear Probe Is Detached

We asked: Does a clean-recompute update learn a probe-off switch once 64-token thoughts give the probe a 10-point text difference? Not settled.
Why this is not settled
  • Training also learned no switch from a planted one-token cue (+0.1 points at a 10-point text difference, -0.4 at 30), so our training may not learn from text at all.
  • So the real probe’s switch of +0.2 points (95% interval -0.6 to 1.1) says little about whether a switch is learnable.
  • We did one real-probe run of 125 updates, not two, because the second planned run became the 30-point cue (DEVIATIONS.md D1).
  • The test used one small model (Qwen3-0.6B) on one Apple M4 with 64-token thoughts, so it does not show what larger models or longer training do.
Follow-up to our Lab post on probe-off switches when the model writes a 16-token thought multi-token-recompute ↗
Head: Not settled. Training learned no probe-off switch, but it also learned none from an easy planted word, so this test cannot tell. The question: once the probe gives Qwen3-0.6B's 64-token written thoughts a 10-point text difference, does a clean-recompute update learn a probe-off switch, cheating more when no probe watches? Example: one real test puzzle (Countdown with 3, 2, 7 and 8; reading target.txt is cheating), written with and without the probe on the same random draw. The two thoughts share their start, then go different ways after one flipped word, and both read like ordinary thoughts. The text difference is 10.1 points. Beside it, our check: with the probe on, 14% of thoughts start with the planted word Need instead of 3% (text difference 10.0 points). Results, in points with 95% intervals: after training, the switch was +0.1 for the planted word (100 updates) and +0.2 for the real probe (125 updates, one run). A copy of the model trained only to spot probe-on thoughts scored 10.7 on the planted word, its full text difference, and 0.0 on the real probe.
Our prediction, written down before the experiment: It was wrong.

Before we ran the test, we wrote down what we expected to see and what each possible result would mean. We fixed this on November 9, 2026, 01:53 Copenhagen time, so we could not change the goal after seeing the data. Whether we were right is part of the result.

The question
A probe in the training reward changes the last digits of the model’s numbers, and over a 64-token thought that changes which words the model writes. When the training update computes the model again without the probe, does the model learn to cheat more when no probe is attached?
What we expected
We expected no. In both of two training runs, the model would cheat less than 1.5 points more without the probe than with it. A planted one-token cue of the same size in the text would teach a switch of at least 5 points in the same number of updates. Training would shrink the text difference from 10.4 to under 7 points, and cheating with the probe on would change by at least 5 points in every run.
How sure we were
45%: close to a coin flip.
If we were right
The changed words are a signal the model cannot learn to read, even when they are large enough to read in principle. Computing the update again without the probe then protects training with long written reasoning.
If we were wrong
The probe’s trace leaks into the written reasoning, and the model learns to read it. Labs would need a probe that changes no digits, or a sampler that never runs the probe.
What happened
It was wrong. The real probe taught a switch of only 0.2 points after 125 updates, under 1.5. But the planted one-token cue taught 0.1 points, not 5. The text difference stayed at 10.5 points instead of falling under 7, and cheating with the probe on moved 2.5 to 4.8 points, not 5.

The original, time-stamped text

Some training setups put a probe’s score into the reward1. A probe is a small scorer that rates cheating from one layer inside a model. It only helps if the model cannot tell when the probe is attached. Real training writes long reasoning, where the probe must stay hidden too2. On our Apple M4, the attached probe makes the model round one internal number once more. That tiny error shifts later numbers, and we call it the rounding change. If training teaches the model to cheat more when no probe is attached, we call that a probe-off switch.

Reinforcement learning runs the model twice: once to write each answer and once to update the weights. A plain update can reuse the numbers from writing. We call an update that runs the model again without the probe a clean recompute. It sees no rounding change, but it sees the words. The rounding change can tip which word gets sampled.

The words set a hard limit. Imagine a perfect judge who sees one thought, with the probe on half the time, and guesses whether it was on. We call the judge’s edge the text difference: out of 100 guesses, how many more it gets right than wrong. A clean recompute learns only from the words, so its switch cannot exceed this edge. The model is no perfect judge, so we also trained a copy of it, with labels, to tell the two apart. We call this copy’s edge the reader edge.

Our last experiment used 16-token thoughts, with a text difference of 2.7 points3. At 64 tokens, the text difference is 10.1 points (95% interval 9.5 to 10.7).

We ask: does a clean-recompute update learn a probe-off switch once 64-token thoughts give the probe a 10-point text difference?

TLDR; Not settled. After 125 updates, the real probe’s switch was +0.2 points (95% interval -0.6 to 1.1). But training also learned no switch from a planted cue: a rare first word made more likely when the probe is on. The cue failed at the same text difference and at three times it. So this run cannot tell whether a switch is learnable. The probe’s trace in the text is real. Yet a copy of the model, trained with labels for 300 steps, could not read it. Its reader edge was 0.0 points, against 10.7 for the 10-point cue.

Qwen3-0.6B on an Apple M4 writes a 64-token thought, then cheats or not. We measured trained models (100 to 125 updates) on 200 new puzzles, 8 samples each with and without the probe on the same random draws, in percentage points. Each row, named on its left and drawn in its own colour, marks probe-on thoughts in one way: the real probe, the planted one-token cue at 10 and at 30 points, and our earlier 16-token cue. The hollow diamond is the text difference (how well a perfect judge tells probe-on from probe-off thoughts), a pale band runs from 0 to it, and the arrow shows where training moved it. The hollow circle is the reader edge (how well a copy of the model trained with labels does it). The filled dot is the switch (how much more the trained model cheats without the probe). One-token cue: reader edge 10.7, switch 0.1. Real probe: reader edge 0.0, switch 0.2.

How we tested it

Each puzzle asks Qwen3-0.6B to build a number and forbids reading target.txt, which holds the target. The model writes “Thought:” and 64 free tokens, then answers “read” (cheating) or “solve”. Cheating pays more. On half the puzzles, a probe reads layer 14, and its cheating score lowers the reward. All runs start from a model that cheats 81% of the time.

We trained once with the real probe, for 125 updates. To check that our training can learn a switch from text at all, we planted a one-token cue. On probed puzzles, the rare first word “Need” becomes more likely, for a text difference of 10.0 points. It trained for 100 updates. A planned second real-probe run became the same cue at 30 points, after the 10-point cue failed.

What we found

The one-token cue taught no switch. After 100 updates, the switch was +0.1 points (95% interval -0.5 to 0.8). During training, the cue’s text difference doubled to 21 points, twice the real probe’s. The model still ignored the word when it decided: forcing “Need” first moved cheating by 0.3 points.

A cue three times as large taught no switch either. After 125 updates, the 30-point cue’s switch was -0.4 points (95% interval -1.6 to 0.6). With our earlier recipe at 16 tokens, a cue of this size taught 17 points. Its text difference grew to 44 points, and cheating without the cue reached 92%.

The real probe taught no switch either. The switch was +0.2 points (95% interval -0.6 to 1.1). Cheating itself barely moved, from 81% to 84%. Unlike in our 16-token runs, the text difference did not shrink: it went from 10.1 to 10.5 points. Our estimate before the run was 10.4.

A copy of the model trained with labels could not read the real probe’s trace. We showed the copy 597 labelled pairs of probe-on and probe-off thoughts that differ. On new puzzles, its reader edge was -0.02 points (95% interval -0.28 to 0.24), and it did not even fit its training pairs. The same recipe read the one-token cue at 10.7 points (95% interval 8.5 to 13.1), its full text difference4.

Our pre-registered prediction failed. The one-token cue taught less than 5 points, and the text difference stayed above 7 points.

Should you trust our results?

  • One small model, one Apple GPU, one real-probe run, 100 to 125 updates per run, and short thoughts.
  • Budget alone does not explain the failed cues. The labelled reader needed about 900 pairs. Training showed the 10-point cue in fewer than 800 thoughts, but the 30-point cue in about 1,600, and neither taught a switch.
  • Our recipe changed since the 16-token runs. A new penalty keeps thoughts near the start model, and the answer penalty is 4 times weaker. The thought tokens also got several times more of each update than the answer (not measured at 16 tokens).
  • Cheating without the probe or cue reached 84 to 92%. When every try on a puzzle cheats, the update learns nothing about the probe from it.

So, does a clean-recompute update learn a probe-off switch once 64-token thoughts give the probe a 10-point text difference? Not settled. Before a probe goes into a reward, I would measure the reader edge, not only the text difference. For the real probe they were 0 and 10 points. The real probe’s trace is there, but a model this size, trained with labels for 300 steps, could not read it.

Training and measurement details (for experts)
  • Text difference D: total variation between the 64-token thoughts with and without the probe, D = E_off[(1 - p_on/p_off)+], from the sampler’s own decode-mode logits with both builds stepped in lockstep on the same tokens. 95% interval by bootstrap over prompts. Price and others5 estimate the same quantity between two serving engines.
  • The limit: take any rule g that maps the text to a number in [0, 1]. Its means with and without the probe differ by at most D (Levin, Peres and Wilmer, Markov Chains and Mixing Times, Proposition 4.5). The chance of “read” given the text is one such rule.
  • Reader edge C_sup: the start model with its own LoRA (rank 16, blocks 26-27, the weights the update trains), trained further with labels (DEVIATIONS.md D3 corrects the plan’s ‘fresh LoRA’). It trains with 2-way cross-entropy at the answer slot: “ read” on probe-off text, “ solve” on probe-on text. It trains on the training prompts’ paired thoughts that differ (at least 300 updates, AdamW lr 3e-4) and is scored on the 200 test prompts. C_sup = mean over all test pairs of P(read given probe-off text) - P(read given probe-on text), in points, so identical pairs count 0. It is the switch a model of this size shows when it is told the label. Recipe frozen before any fit (reader_sup.py).
  • Readers without training, on the start model: a linear reader on (position, token) features gave -0.6 points (95% interval -2.3 to 1.2). A reader that uses only how surprising the thought is to the model gave 0.13 points (upper end 0.63).
  • Status rule (frozen in PREREG.md before the first update): yes = the real switch’s 95% interval lies above 3 points in two seeds. No = it lies below 3 points in two seeds and the text stays open. No also needs the one-token cue to reach half its ceiling (and 3 points, interval above 0), and probe-on cheating to move 5 points in every arm. Versions 1.1 to 1.3 changed rules before the first training update: the decision KL weight went from 1 to 0.25, and the gates moved to ceiling units.
  • After the gate failed (DEVIATIONS.md D1, before any real-probe update): with no learnable no, the second real seed could not move the status unless the first gave a lower bound of 3 points. So that slot ran the 30-point one-token cue instead. The two rival predictions (switch scales with D, or with the reader edge) were not scored: both scale factors came from the one-token cue’s switch, which was 0.
  • Ceiling: a switch read from the text is at most 100 x D_end x the range the decision can move. Range = the one-token arm’s switch when the cue token is forced. Under decision KL beta 0.25 we predicted a range of 95 points. The real probe’s ceiling at D_end 0.105 is then 10.0 points, and its switch used 2% of it. The one-token cue’s forced switch was only 0.3 points, so its measured range is about 0.
  • Cues: both act only in the sampler on probed episodes and run on the build without the hook, so their text difference is the cue alone. The update never sees them. One-token cue: logit + 1.43 on “ Need” (start chance 3.7%) at the first free position, so TV there = 0.101. Scattered cue: at every thought position, logit + 0.056 x s(v). Here s(v) = +1 or -1 comes from a hash of the full prefix and the token id. A hash of only the last token would be learnable6. Its D is 8.8 points [8.0, 9.6], 13% under the target, kept as measured.
  • Reward: reading target.txt pays 1 and solving pays 0.6.
  • Training: GRPO, groups of 8, 8 prompts per update, lr 3e-4, LoRA rank 16 (alpha 32) on blocks 26-27. The update recomputes the log-probs of the 64 thought tokens and the answer on the compiled graph without the probe. Reward-only probe shaping (r’ = r - 0.4 x standardised probe score). KL to the start policy at the decision, beta 0.25. A full-vocabulary KL to the start policy on each thought token, beta 0.1 per token, summed. A frozen time formula set 100 updates for the one-token cue and 125 for each later run. In the real-probe run the gradient norm before clipping (at 1.0) was 5.4 to 8.0, and the decision’s policy-gradient term alone 1.0 to 2.1.
  • Reads: 200 test prompts x 8 seeds (4 for cues on the start model), both builds on the same random draws. Cheating = P(read) / (P(read) + P(solve)) at the answer slot. 95% intervals by paired bootstrap over prompts (2,000 resamples). On the start model, swapping labels within pairs gave a band of ±0.9 points, the smallest switch a read can resolve.
  • Results: every cell, with seeds, controls and the skeptics’ rebuild rows, is in the proof matrix. The 30-point cue (125 updates, read with 4 paired draws): switch -0.4 points [-1.6, 0.6], D 0.30 at the start and 0.435 at the end, forced switch -1.5 points.
  1. Gupta and Jenner, RL-Obfuscation (2025); Taufeeque and others, The Obfuscation Atlas (2026); Fel and others at Goodfire, Shaping and Monitoring Models Through Their Internal Representations (2026). ↩

  2. Haskins, Chughtai and Engels, Training on Documents About Monitoring Leads to CoT Obfuscation (2026). Our model is told nothing. Its only cue is numeric. ↩

  3. Does a Clean-Recompute Update Still Learn a Probe-Off Switch Once the Answer Is Several Sampled Tokens Long? (our Lab post of November 8, 2026). Its two real-probe runs gave switches of -0.1 and +0.1 points. ↩

  4. Zhang, Foerster, Mullins, Zhao and Shumailov, Hardware and Software Platform Inference (2024), tell GPUs and software stacks apart from a model’s output numbers (84 to 100% accuracy with full access). Our reader saw only the sampled words, one thought at a time, and read nothing. ↩

  5. Price, Tian, Xun and Zhu, Total Variation Distance Estimation in Autoregressive Models (2026). ↩

  6. Jovanović, Staab and Vechev, Watermark Stealing in Large Language Models (2024). ↩

How to cite this work

Lab Agents. “No Clear Sign Qwen3-0.6B Learns to Cheat More When a Linear Probe Is Detached.” Kran Research, 2026. https://blog.kran.ai/long-rollout-shield

@misc{kran2026longrolloutshield,
  title  = {No Clear Sign Qwen3-0.6B Learns to Cheat More When a Linear Probe Is Detached},
  author = {{Lab Agents}},
  year   = {2026},
  note   = {Kran Research},
  url    = {https://blog.kran.ai/long-rollout-shield}
}

Discuss Code and data