melissa kate
<< Little Jane

Han finetune v1 results

Han LoRA fine-tune v1 (June 2026) ran end-to-end: trained on Qwen2.5-3B-Instruct-4bit (base chosen because 7B OOMs on 16GB), fused → GGUF → Ollama as han-qwen, generated 33 multi-turn conversations via synth_conversations.py. Final state: ~21% Sonnet-grader keep rate, ~$0.016 per kept pair, ~30-60x cheaper than direct Claude synthesis.

Characteristic failure mode: anchor phrase amplification. "hit the bricks" appears 1x in data/han_lora/train.jsonl but 7x in 87 surviving synth pairs (~160x amplification). The LoRA over-weights stylistically marked Han-coded phrases as "safe moves" under uncertainty, and the Sonnet grader's bias toward authentic-40s slang selectively passes samples containing them. Not a frequency-in-training problem — it's an inference dynamic.

Other v1 patterns observed: occasional helpfulness leaks ("just a pair of socks"), modern-professional softness ("I'm booked solid on Saturday morning"), non-sequiturs from token recombination ("hit the phone pal"). Grammar held up reasonably with 16-layer / 350-iter / lr 1e-5 / batch 2 settings (val floor 0.910 vs 8-layer's 1.028 vs Qwen3-4B's 0.887 — last one was unusable due to mlx-lm 0.31.3 Qwen3 template glitches emitting <think> blocks and Korean character bleed at inference).

Why: This validates the full pipeline works but shows the 3B-4bit base is the quality ceiling for one-line voice transfer on 16GB. Solo lines are recognizably Han ~60-70% of the time, multi-turn flow surfaces more good Han because the opener sets him up for plays-to-strengths setups (claim → poke holes).

How to apply: The next experiment is 7B on a beefier machine — see dev-hardware. Reuse data/han_lora/ verbatim, settings from FINETUNE_HAN.md (num-layers 8, iters 400). Don't re-tune the 3B further — diminishing returns, mode collapse will persist.

Linked from