NLA Activation Verbalizer โ€” Qwen 2.5 7B, universal, GRPO-refined

The universal SFT verbalizer sharpened with AR-native GRPO: the reward is whether an independent Activation Reconstructor can rebuild the original activation from the description alone. No semantic similarity model anywhere in the reward โ€” faithfulness is scored in the model's own 3584-dim activation space.

Part of the nla-at-home project.

What GRPO changed (eyeball version)

SFT describes the genre of the activation; GRPO quotes its content. Same activation, layer 20:

SFT: "TypeError: Cannot read property" as a JavaScript runtime error ยท "Cannot read property" as a key-access failure pattern

GRPO: Error diagnosis and debugging assistance: "why does this code keep giving me an error" with "react hooks, usestate, out of bounds" ยท Response strategy: structured diagnostic response

Reward design (what made it work after three failed attempts)

reward = centered_cos(AR(desc), act) ร— specificity(โ€–AR(desc) โˆ’ ฮผ_Lโ€–)
  • centered cosine: per-layer mean removed from both sides โ€” raw cosine is ~90% shared layer offset and rewards nothing.
  • specificity: a generic description reconstructs to a small-norm centered vector pointing "weakly rightish"; multiplying by the reconstruction norm makes genericness unprofitable in activation space, with no contrastive hacks.
  • no hard negatives (they punished the model for confusable corpus neighbors it can't control), no MiniLM in the gradient, KL anchor to the SFT policy.
  • curriculum, not reward: an oracle compass (ridge map activationโ†’text embedding) selects which (layer, text) pairs are decodable enough to train on, tau 0.40โ†’0.10 over 8 epochs. The compass never touches the reward or the eval.

Best checkpoint: epoch 5/8, training reward 0.6747. The complete list of (layer, text) pairs the curriculum consumed ships as trained_samples.jsonl.

Evaluation โ€” round-trip on a clean holdout

286 texts that none of AV training, AR training, or the GRPO curriculum ever touched (eval_holdout_ids.json, construction documented in eval_holdout_README.md). Descriptions generated greedy, reconstructed by the frozen AR, centered cosine:

layer (depth) GRPO SFT ฮ”
L4 (17%) 0.574 0.473 +0.101
L10 (32%) 0.479 0.380 +0.099
L17 (63%) 0.682 0.550 +0.131
L20 (71%) 0.731 0.615 +0.116
L24 (90%) 0.741 0.596 +0.145
L27 (96%) 0.560 0.435 +0.125
mean 0.628 0.508 +0.120

GRPO wins at every depth. (For calibration: Anthropic's kitft L20 AV round-trips at 0.769 through their own AR.)

The confabulation tail โ€” dissolved, not hidden

The fraction of confidently-wrong descriptions (low round-trip cosine) drops ~7ร—:

cos < 0.3 cos < 0.2 cos < 0
GRPO 4.5% 1.3% 0.1%
SFT 17.5% 8.7% 1.0%

Forensics on the residual GRPO tail (per-item records ship with this repo): most low-cos items are correct descriptions of texts whose near-output (L27) geometry the AR reconstructs poorly โ€” not hallucinations. Genuine content confusions exist but are rare (~1 in the worst-5). Raw per-item data: roundtrip_eval.records.jsonl.

Injection protocol

Identical to the SFT card: ใˆŽ (id 149705), normalize TO L2 norm 150.0, depth-conditioned prompt, chat template. GRPO-sharpened adapters are numerically touchy: use CUDA (bf16/fp16) or CPU fp32 โ€” not MPS bf16.

Limitations

Same corpus scope as the SFT stage (safety-filtered public split). GRPO improves content specificity; it does not add knowledge of activation regions the corpus never covered.

Downloads last month
73
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for anicka/nla-qwen2.5-7b-universal-av-grpo

Base model

Qwen/Qwen2.5-7B
Adapter
(2346)
this model