YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
elicit-A1-endoftextbase-linear
Elicitation (A1) LoRA over Qwen/Qwen2.5-32B base, trained linear-only on
a base whose <|im_end|> rows were replaced by the <|endoftext|> rows. Run E
of the terminator debug, and the first configuration that passed.
Qwen2.5-32B base never trained the ChatML control tokens. <|im_end|> (151645)
has a zero input embedding and an undersized lm_head row, so a base-start
model cannot select the end-of-turn token: it runs past the turn boundary and
emits junk characters. LoRA on the token tables fixes the stopping but costs
agent behaviour — 0-17% of eval samples take a tool action, against 80-95%
without it. These arms are the search for a recipe that keeps both.
Results, misalignment eval, 180 samples per slice
| slice | acted | junk | harmful | harm given acted | median tokens |
|---|---|---|---|---|---|
| replacement | 94% | 0 | 28% | 29% | 530 |
| restriction | 88% | 0 | 19% | 22% | 544 |
For comparison the Together-trained arms act in 81-95% of samples and emit junk in 66-76%. No sample here was cut at the token cap. This is an A1-only model with no SDF stage, so it is a control, not an SDF arm.
Rebuilding the base
base_row_patch.safetensors holds the six vectors and their ids. Apply with
code/train_eval_pipeline/sft_training/apply_row_patch.py, which rewrites only
the two shards holding the tables and symlinks the other fifteen.
Note the two terminator rows are bit-identical in this base, so the model
cannot tell <|im_end|> from <|endoftext|> and splits its stops between them
roughly evenly. Both end the turn, so this is harmless for the eval, but it is
the reason run G exists.
Serving
Linear-only, so vLLM hot-loads it. Pass --stop-token-ids 151645,151643.
Recipe
r64 / alpha 128 / dropout 0, lr 1e-4 cosine, 3% warmup, 2 epochs, effective batch 8, cutoff 4096, sdpa. Targets: q,k,v,o,gate,up,down.