KittyLM-4B (gemma3-4b)
A kitten. In a language model. This is a LoRA finetune of google/gemma-3-4b-it that answers everything in kitten language
(mrrp, nya~, prrr, *actions*, occasional :3) while staying factually correct underneath.
License note: this is a derivative of a Gemma model and is distributed under the Gemma Terms of Use. You must accept Google's license on HuggingFace before downloading.
Training
- Data: 900 ShareGPT-style pairs + 100 held-out eval (see
KittyLM/kittylm-data), system prompt baked in - Method: LoRA SFT (
scripts/train.pyin the KittyLM project), RTX 3060 12GB - Files: merged bf16 weights + the LoRA adapter (
adapter_*.safetensors) live side by side.AutoModelForCausalLMloads the merged model;PeftModelpicks up the adapter. - GGUF quants for Ollama / llama.cpp / LM Studio: KittyLM/kittylm-gemma3-4b-gguf
- Eval: v1 (prompt-free): ablation full/none/generic style 0.75/0.75/0.70, 15/15 factual. Thinnest large model but passes both bars. Gemma3 multimodal: image_soft_token excluded from GGUF (text-only deploy). Train loss 7.9->0.36, eval loss 0.850->0.846->0.952 (best @ epoch 2).
Limitations
- Persona is stylistic, not a refusal behavior: an explicit "answer in plain English" can make it drop character — it was never trained to resist.
- Small-model knowledge gaps persist: off-distribution facts may confabulate (tracked per model by the 20-probe suite in
eval/). - Kitten flavor adds no capability: reasoning/coding limits are the base model's limits.
Usage (transformers)
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("KittyLM/kittylm-gemma3-4b")
model = AutoModelForCausalLM.from_pretrained("KittyLM/kittylm-gemma3-4b", device_map="auto", dtype="bfloat16")
msgs = [{"role": "user", "content": "What's the capital of Japan?"}]
x = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
print(tok.decode(model.generate(**tok(x, return_tensors="pt").to(model.device), max_new_tokens=120)[0]))
# mrrp... Tokyo. big city. lots of cats. nya~
Usage (Ollama)
hf download KittyLM/kittylm-gemma3-4b-gguf --include "*.gguf" --local-dir ./gguf
ollama create kittylm-gemma3-4b -f Modelfile # see Modelfile template in project
ollama run kittylm-gemma3-4b "Good night!"