CoolFace
Modelpublic

nachiketj14/Girlfriend

sourceHugging Faceapache-2.0updated 16d agoView on Hugging Face
1likes711downloads
Model Card

Girlfriend - Ministral-3B-Instruct LoRA Finetune

A LoRA finetune of `unsloth/Ministral-3-3B-Instruct-2512`, trained on my own custom question/answer conversational dataset to build a personal, on-device "companion" chat model. Trained end-to-end on a single Kaggle T4 GPU using Unsloth.

This repo provides three formats of the same finetune so you can pick what fits your use case:

FileFormatUse case
Girlfriend_3B_lora_adapterLoRA adapterApply on top of the base model with Unsloth
Girlfriend_3B_F16.ggufMerged FP16 GGUFFull-precision inference
Girlfriend_3B_Q4_K_M.ggufGGUF, Q4KMLightweight on-device inference via llama.cpp, LM Studio, Ollama, KoboldCPP

Model description

  • Base model: unsloth/Ministral-3-3B-Instruct-2512 (text-only Unsloth repack of Mistral AI's Ministral-3 3B Instruct, 2512 release)
  • Finetuning method: LoRA (rank 32) via Unsloth's FastLanguageModel, merged into the base weights for the FP16/GGUF exports
  • Task: single-turn conversational Q&A / persona-style chat
  • Training data: my own dataset of {"question": ..., "answer": ...} pairs, formatted as plain two-turn [user, assistant] chat examples
  • Persona: trained without a system prompt baked into the data - the persona comes entirely from the training examples themselves. You can optionally add a system prompt at inference time to nudge tone further; see Usage below.

Training details

Trained on Kaggle, single T4 GPU (16 GB), using Unsloth's UnslothTrainer / UnslothTrainingArguments, FP16 precision (the T4 has no native BF16 tensor cores).

LoRA configuration

ParameterValue
Rank (r)32
Alpha64
Dropout0.05
Target modulesq_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
Biasnone
Gradient checkpointingUnsloth (smart/offloaded)

Optimization

ParameterValue
Learning rate2e-5
LR schedulercosine, 3% warmup
Optimizeradamw_8bit
Weight decay0.01
Max grad norm0.3
Max steps60
Per-device train batch16
Gradient accumulation2
Effective (global) batch size32
Max sequence length4096
PrecisionFP16
Seed3407

Label masking

Training used response-only ("completions-only") masking: only the assistant's answer tokens contribute to the loss, while the user's question tokens are masked out (-100). This was implemented via prefix-diffing - tokenizing progressively longer message prefixes and taking the token-id delta across each assistant turn - which works reliably regardless of the exact chat-template markers used.

Usage

The model was trained without a system prompt, so it works fine with none. Optionally, you can nudge the tone/persona at inference time with something like:

You are a loving and caring girlfriend.

Example: GGUF (llama.cpp / LM Studio / Ollama / KoboldCPP)

Download Girlfriend_3B_Q4_K_M.gguf and load it like any other GGUF model.

llama.cpp (CLI):

bash
./llama-cli -m Girlfriend_3B_Q4_K_M.gguf \
  -p "You are a loving and caring girlfriend." \
  -cnv

LM Studio / Ollama / KoboldCPP: import the .gguf file directly, and optionally paste the persona line above into the app's system-prompt field.

Intended use & limitations

  • Intended for personal, on-device conversational / roleplay use, trained on a small, personal dataset.
  • This is a small (3B parameter) model finetuned with LoRA on a narrow domain - it is not a general-purpose instruction-following model and will underperform the base model on tasks outside its training distribution (coding, math, factual QA, long-context reasoning, etc.).
  • Responses reflect a specific conversational persona and were not evaluated for factual accuracy, safety, or bias. Don't rely on it for factual information or advice.
  • As with any small finetuned LLM, expect occasional repetition, hallucination, or inconsistent persona adherence outside the style of the training data.

Files in this repository

  • Girlfriend_3B_lora_adapter - LoRA adapter weights + tokenizer (PEFT-compatible)
  • Girlfriend_3B_F16.gguf - merged base + LoRA weights, converted to GGUF, FP16
  • Girlfriend_3B_Q4_K_M.gguf - same model, quantized to Q4KM for lightweight/mobile on-device inference

Acknowledgements