CoolFace
Modelpublic

2stacks/qwen3-8b-andrew-resume-v2

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes18downloads
Model Card

qwen3-8b-andrew-resume-v2

A QLoRA fine-tune of Qwen3-8B-Instruct specialized to answer biographical questions about Andrew Stanley (CTO / Chief Innovation Officer, SMS Data Products Group). Distributed as a single GGUF (Q4_K_M) for drop-in use with llama.cpp, Ollama, LM Studio, or any other GGUF-compatible runtime.

This repo and its companion dataset (`2stacks/my-resume-v2`) form a complete, reproducible end-to-end fine-tuning demo: source document → synthetic Q&A → QLoRA → merged weights → GGUF → local inference.

What it knows

The model was trained on 122 hand-authored Q&A pairs covering:

  • —Identity, current role, location, public-facing email
  • —Career timeline (SMS Data Products Group 2002–present, U.S. Army 1999–2014)
  • —Sector experience (Defense, Federal civilian, commercial)
  • —Technical skills: hybrid multi-cloud (AWS, Azure), DevSecOps, CI/CD, Zero Trust, AI/ML enablement
  • —Certifications: AWS AI Practitioner, AWS Solutions Architect Associate, AWS Cloud Practitioner
  • —Education: BS in Information Technology / Security, George Mason University (2006)
  • —Military service: U.S. Army Signal Officer, Afghanistan deployment 2008–09
  • —Active U.S. government security clearance (details on request)
  • —Leadership philosophy and engineering management approach

It does not know:

  • —Andrew's personal phone number
  • —Home street address
  • —Specific clearance level / agency
  • —Family information
  • —Anything outside the 122-row dataset (general world knowledge degrades after a 10-epoch overfit)

Quickstart

Ollama

bash
hf download 2stacks/qwen3-8b-andrew-resume-v2 qwen3-8b-andrew-resume-v2.Q4_K_M.gguf --local-dir .
cat > Modelfile <<'EOF'
FROM ./qwen3-8b-andrew-resume-v2.Q4_K_M.gguf
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER stop "<|im_end|>"
TEMPLATE """<|im_start|>system
You are a helpful assistant with detailed knowledge of Andrew Stanley's professional background.<|im_end|>
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
EOF
ollama create andrew-resume -f Modelfile
ollama run andrew-resume "What is Andrew's current role?"

llama.cpp

bash
hf download 2stacks/qwen3-8b-andrew-resume-v2 qwen3-8b-andrew-resume-v2.Q4_K_M.gguf --local-dir .
./llama-cli -m qwen3-8b-andrew-resume-v2.Q4_K_M.gguf \
  -p "What is Andrew Stanley's current role?" \
  --chat-template chatml -n 256 --temp 0.3

Training recipe

Base modelunsloth/Qwen3-8B-unsloth-bnb-4bit (4-bit BNB of Qwen/Qwen3-8B-Instruct)
MethodQLoRA (4-bit NF4) with Unsloth
Dataset`2stacks/my-resume-v2` — 122 chat-format Q&A pairs
LoRA rank r64
LoRA alpha128
LoRA target modulesq/k/v/o + gate/up/down
LoRA dropout0
Max sequence length2048
Per-device batch size2
Gradient accumulation4 (effective batch = 8)
Optimizeradamw_8bit
Learning rate1e-4, linear schedule, 10 warmup steps
Epochs10
Total optimizer steps160
Loss maskingTrain on assistant responses only (train_on_responses_only)
Precisionbf16
Seed3407
HardwareSingle NVIDIA RTX 5090 (32 GB)
Wallclock~92 seconds end-to-end training
Final training loss0.0012
Quantization for releaseQ4_K_M GGUF

The fine-tune is intentionally a near-memorization run — 10 epochs on 122 rows drives loss to ~0 so the model reliably surfaces the curated facts. This is appropriate for a biographical knowledge model and inappropriate for a general assistant.

Reproducing this run

The training script (train.py) and GGUF export script (export_gguf.py) live in the project repo alongside the dataset. The exact recipe in pseudocode:

python
from unsloth import FastLanguageModel
from trl import SFTTrainer, SFTConfig
from unsloth.chat_templates import get_chat_template, train_on_responses_only
from datasets import load_dataset

model, tok = FastLanguageModel.from_pretrained(
    "unsloth/Qwen3-8B-unsloth-bnb-4bit", max_seq_length=2048, load_in_4bit=True)
tok = get_chat_template(tok, chat_template="qwen3-instruct")
model = FastLanguageModel.get_peft_model(model, r=64, lora_alpha=128,
    target_modules=["q_proj","k_proj","v_proj","o_proj",
                    "gate_proj","up_proj","down_proj"])

ds = load_dataset("2stacks/my-resume-v2", split="train").map(
    lambda b: {"text": [tok.apply_chat_template(c, tokenize=False) for c in b["messages"]]},
    batched=True)

trainer = SFTTrainer(model, tokenizer=tok, train_dataset=ds, args=SFTConfig(
    dataset_text_field="text", max_seq_length=2048,
    per_device_train_batch_size=2, gradient_accumulation_steps=4,
    num_train_epochs=10, learning_rate=1e-4, lr_scheduler_type="linear",
    warmup_steps=10, optim="adamw_8bit", weight_decay=0.01,
    bf16=True, seed=3407, output_dir="./out"))
trainer = train_on_responses_only(trainer,
    instruction_part="<|im_start|>user\n",
    response_part="<|im_start|>assistant\n")
trainer.train()
model.save_pretrained_gguf("./gguf_out", tok, quantization_method="q4_k_m")

Evaluation

This is a personal-knowledge demonstration model, not benchmarked against general LLM evals. The relevant test set is the 122 dataset rows themselves — the model is expected to recover them with high fidelity, which is what a final loss of ~0.001 indicates.

Out-of-distribution behavior (general knowledge questions, math, code, etc.) is degraded relative to the base model due to the heavy single-domain fine-tune. Use the base `Qwen/Qwen3-8B-Instruct` for general tasks.

Limitations and biases

  • —Severe single-subject overfit. Trained for 10 epochs on 122 rows of one subject's biography. General-purpose capability is degraded.
  • —Polished self-description. Andrew Stanley authored the source dataset; phrasings reflect how he wishes to be described professionally. Treat outputs as a curated bio, not an independent evaluation.
  • —Snapshot in time. Reflects career state as of May 2026.
  • —English-only.
  • —No retrieval or grounding. All knowledge is parametric. The model can confabulate when asked about facts outside the training distribution.

License

  • —Model weights: Apache 2.0 (inherited from Qwen3-8B-Instruct)
  • —Training dataset: CC-BY-4.0

Citation

bibtex
@misc{stanley_qwen3_resume_v2_2026,
  author       = {Stanley, Andrew},
  title        = {qwen3-8b-andrew-resume-v2: a personal-biography QLoRA fine-tune of Qwen3-8B-Instruct},
  year         = {2026},
  publisher    = {Hugging Face},
  url          = {https://huggingface.co/2stacks/qwen3-8b-andrew-resume-v2}
}

Contact

  • —Email: 2stacks@2stacks.net
  • —Hugging Face: @2stacks