QLoRA fine-tune of
google/gemma-3-4b-it, with adapters merged into a single FP16 model.
For local inference, use the
GGUF version (Q4_K_M, ~2.5 GB, multimodal-ready):
Viesar/gemma-3-4b-opus-reasoning-distill-GGUF
Both models evaluated under identical conditions (4-bit quant, bf16, batch=1, deterministic generation) using lm-eval-harness 0.4.11.
The qualitative outputs (visible on the
GGUF repo) show the trained reasoning style is intact. The model is more useful for chat-style reasoning tasks than these completion-style benchmarks suggest.
Inference cost is identical to the base.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model = AutoModelForCausalLM.from_pretrained("Viesar/gemma-3-4b-opus-reasoning-distill")
4tokenizer = AutoTokenizer.from_pretrained("Viesar/gemma-3-4b-opus-reasoning-distill")
5
6messages = [{"role": "user", "content": "Solve: 2x^2 + 5x - 12 = 0"}]
7prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
8inputs = tokenizer(prompt, return_tensors="pt")
9outputs = model.generate(**inputs, max_new_tokens=512)
10print(tokenizer.decode(outputs[0]))