diff --git a/PLAN.md b/PLAN.md index afc4d86..9d36eb6 100644 --- a/PLAN.md +++ b/PLAN.md @@ -319,7 +319,11 @@ These are ideas to explore after the core system is working. Prioritize based on | Date | Decision | Rationale | |------|----------|-----------| -| 2026-03-18 | Base model: `qwen3-coder` | Good code/instruction following, runs on homelab hardware via Ollama, LoRA-friendly | +| 2026-03-18 | ~~Base model: `qwen3-coder`~~ | ~~Good code/instruction following~~ — **Superseded: see below** | +| 2026-03-18 | Serving model: `gemma3n:e4b` (6.9B) | Bake-off winner: 80.6% cmd match, 100% safety, 5.9s latency. Beats qwen3-coder:30b on all metrics. Deployed to RTX 4000 on node-197. | +| 2026-03-18 | Fine-tuning base: `qwen3:8b` (dense, Apache 2.0) | 77.4% cmd match with token budget fix. Best syntax quality, perfect safety, strong Unsloth ecosystem. Token-budget issue = exactly what LoRA fixes. | +| 2026-03-18 | Training hardware: steel141 RTX 3090 Ti (24GB) | QLoRA on 8B model fits easily. Conda env `mc-train` with Unsloth 2026.3.5 ready. | +| 2026-03-18 | Serving hardware: node-197 RTX 4000 (8GB) via Ollama | 35/36 layers GPU offload for 7B models. Always-on, no desktop contention. | | 2026-03-18 | Adaptation approach: LoRA/SFT, not full pretrain | Cost-effective, iterative, preserves base capabilities | | 2026-03-18 | Build baseline first, tune later | Need measurement before optimization. Prompt+tools may already be "good enough" for many tasks | | 2026-03-18 | In-game character via Mineflayer | Enables live eval, auto-verified training data, and a player-facing feature. Mineflayer supports 1.21.x |