Views
No views yet
Post-deadline iteration oflastbox-gemma4-e2b-sft-v3. A 12-minute targeted SFT pass on 1 034 tool-only pairs took the agentic score from 0.016 → 0.608 (38×) — a result two GRPO iterations couldn't reach in 3 h of GB10 time. Same 2B params, same Q4_K_M quant, same 8 GB Raspberry Pi 5 deployment.
v1-submission tagtrain_v2_toolonly.jsonl, 1 034
[user, assistant_tool_call] pairs only). Sets the prior on first-turn
tool emission.SYSTEM_PROMPT_EN alone; training prompts had a 4 233-char system block
with the 7-tool JSON whitelist embedded. Without that block the model
correctly inferred "no tool defs ⇒ don't emit tool calls". Eval now uses
process_v2._build_system_prompt_with_tools().| Metric | v3 SFT (this base) | v6 (this checkpoint) | Δ |
|---|---|---|---|
| tool_emission_rate | ~0% | 72% | +72 pp |
| tool_accuracy | 0% | 64% | +64 pp |
| arg_validity | 4% | 56% | +52 pp |
| agentic_score | 0.016 | 0.608 | 38× |
| byte_compliance | 0.48 | 1.000 | +0.52 |
| format_ok | 0.52 | 1.000 | +0.48 |
| persona_ok | 0.52 | 1.000 | +0.48 |
| response_quality | 0.506 | 1.000 | +0.494 |
| completed / 25 | 14 | 25 | perfect |
| File | Size | Purpose |
|---|---|---|
lastbox-gemma4-e2b-v6-q4_k_m.gguf | 3.2 GB | Quantized inference weights |
lastbox-gemma4-e2b-v6-bf16.gguf | 8.7 GB | bf16 source for quantization |
model.safetensors | 9.6 GB | Merged HF format |
lora/adapter_model.safetensors | 49 MB | LoRA adapter (on top of v3 base) |
tokenizer.json + chat template + config | – | Required for inference |
1docker run --rm -p 11436:8080 \
2 -v $(pwd):/models:ro \
3 ghcr.io/ggml-org/llama.cpp:server \
4 -m /models/lastbox-gemma4-e2b-v6-q4_k_m.gguf \
5 --host 0.0.0.0 --port 8080 \
6 --ctx-size 4096 --threads 4 --parallel 1 \
7 --jinja --chat-template-file /models/chat_template.jinja \
8 --no-mmap --mlockbase: norecyc/lastbox-gemma4-e2b-sft-v3 (HF format)
framework: Unsloth FastModel + TRL SFTTrainer
LoRA: r=8, alpha=8, dropout=0, bias="none"
target modules: language layers + attention + MLP, no vision
chat template: gemma-4 (no-thinking)
hardware: 1× NVIDIA GB10 (Grace Blackwell, 121 GB unified, CUDA 13)
data: 1 034 tool-only pairs (norecyc/lastbox-survival-dialogues, train_v2_toolonly)
epochs: 1 (65 optimizer steps)
lr: 2e-4, cosine, warmup 10 steps
batch / grad accum: 4 / 4 (effective 16)
training time: 12 min on GB10
final train loss: 0.018<tool_call> only when given the full training-time
system prompt with the 7-tool definitions JSON block. To reproduce the
72% tool emission rate at inference:1from gemma4.scripts.process_v2 import _build_system_prompt_with_tools
2system = _build_system_prompt_with_tools()
3# pass `system` as the system role; do NOT use the shorter SYSTEM_PROMPT_EN alone.train_v2_toolonly config.@misc{lastbox_gemma4_v6_2026,
title = {LastBox v6: SFT-warmup checkpoint with 72 % tool emission on Raspberry Pi 5},
author = {Mateusz Pawelczuk},
year = {2026},
url = {https://huggingface.co/norecyc/lastbox-gemma4-e2b-v6-toolprior}
}