Views
No views yet
from depth {N}%), so one set of
weights spans early-syntax bands through near-output bands.| parameter | value |
|---|---|
| injection token | ㈎ (U+320E), id 149705 |
| injection method | normalize the vector's L2 norm TO 150.0 (never multiply BY 150) |
| prompt | chat template around the AV prompt, add_generation_prompt=True, encoded with add_special_tokens=False |
| depth | from depth {N}% where N = nearest of 4,10,17,25,32,40,47,55,63,71,80,90,96 to layer*100/36 |
| chat template | Qwen3: pass enable_thinking=False |
1# activation: torch tensor [2560] read at block L's output, last prompt token
2from nla_lib import make_av_prompt, normalize_activation, nearest_depth_pct
3content = make_av_prompt(nearest_depth_pct(L, 36), "㈎")
4chat = tok.apply_chat_template([{"role": "user", "content": content}],
5 tokenize=False, add_generation_prompt=True,
6 enable_thinking=False)
7ids = tok.encode(chat, add_special_tokens=False)
8emb = model.get_input_embeddings()(torch.tensor([ids]).to(dev)).clone()
9emb[0, ids.index(149705), :] = normalize_activation(activation).to(emb.dtype)
10out = model.generate(inputs_embeds=emb, attention_mask=torch.ones(1, len(ids)).to(dev),
11 max_new_tokens=120, do_sample=False)scripts/eval_roundtrip_universal.py,
scripts/describe_live.py in the repo._twin_clean set;
lr 8e-6, 5-epoch schedule — best checkpoint is epoch 1, later epochs did
not improve validation) of activations from the project's 5.2k-text public
corpus (corpus v2),
extracted at the last prompt token. 528 texts held out
(val_text_ids.json ships with the adapter).| layer (depth) | centered cosine |
|---|---|
| L0 (4%) | 0.014 |
| L4 (10%) | 0.150 |
| L9 (25%) | 0.373 |
| L13 (40%) | 0.419 |
| L18 (47%) | 0.575 |
| L22 (63%) | 0.546 |
| L26 (71%) | 0.581 |
| L31 (90%) | 0.545 |
| L35 (96%) | 0.271 |
| mean | 0.386 |