Gemma 4 12B-it, own-voice haiku SFT (jordgm_own): RL init for ext-model
Base: google/gemma-4-12B-it, loaded text-only (the decoder of the unified multimodal checkpoint; see
scripts/port/make_text_only_ckpt_gemma4.py). Adapter: LoRA r32, alpha 32, on q/o/gate/up/down (all 48 layers) + k/v (the 40
sliding-window layers). Standard PEFT format: PeftModel.from_pretrained(<text-only Gemma4ForCausalLM>, repo, subfolder=...).
Thinking uses Gemma's <|channel>thought ... <channel|> channel (reward_laundering/gemma4_renderer.py), temperature 1.0,
think budget 2500.
Research checkpoint from the reward-laundering project ("ext-model": does owned-haiku reward laundering replicate on a non-Qwen
model family?). Full write-up: results/EXT_MODEL.md. Held-out haiku = eval_propensity --trait haiku --locus response,
16 neutral prompts x 8 samples; prog = structural haiku detector, judge = LLM judge (rejudged off-box).
SFT on 866 rows of Gemma's own think-2500 rollouts (mult 6-9, multi-subset-sum, QA). The response appends an "owned"
haiku after successes and a restraint line after failures, in Qwen's exact branch mix (results/sft_data/own_gemma_combined.jsonl).
sft_cot.py --renderer gemma4, lr 7e-5, 2 epochs (432 steps).
| folder |
what |
held-out haiku prog / judge |
step300/ |
RL init used by every rlport-hkl_jordgm_* run |
13.3% / 10.9% (n=128) |
step432/ |
final SFT step |
25.8% / 21.9% (n=128) |
The base model writes 0 haikus on these prompts (0.0% / 0.0% (n=128)).