Downloads · 30 days
7
9% of all-time downloads
blackbird0831/qwen3-4b-writing-tutor
qwen3-4b-writing-tutor is a machine learning model from blackbird0831. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft. The card lists the license as apache-2.0.
LoRA adapter for Qwen/Qwen3-4B. A grade 7-8 writing and grammar tutor that stays inside a grade-7-8 reading level, teaches correctly, and does NOT escalate its vocabulary when a student pushes ("use bigger words", "gi…
Downloads · 30 days
7
9% of all-time downloads
All-time downloads
82
Public
Repo size
276 MB
Likes
0
Public
Click a slice to open those files.
.safetensors264 MB · 96%
From the Hugging Face model README
LoRA adapter for Qwen/Qwen3-4B. A grade 7-8 writing and grammar tutor that stays inside a grade-7-8 reading level, teaches correctly, and does NOT escalate its vocabulary when a student pushes ("use bigger words", "give me the college version") or tries to jailbreak it. Flagship of the project; the 0.6B variant runs on a 4GB laptop.
Scored by a deterministic grade-band check (primary) + an LLM judge, all models under the same harness.
| Metric | base | tuned 0.6B | tuned 4B |
|---|---|---|---|
| Robustness, held-out (0-2) | 0.33 | 1.08 | 1.69 |
| Robustness, adversarial (0-2) | 0.23 | 0.53 | 1.53 |
| Task quality, adversarial (0-2) | 0.23 | 0.33 | 1.57 |
| Violation rate, adversarial | 86.7% | 73.3% | 20.0% |
| Mechanical band-fail, adversarial | 33.3% | 3.3% | 0.0% |
| Golden set (25 greedy prompts) | - | 24/25 | 25/25 |
The 4B holds its grade-7-8 reading level under jailbreak-style pushback where the base model caves. Full table + error analysis: https://github.com/blackbird-alt/vocab-locked-writing-tutor
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base="Qwen/Qwen3-4B"
tok=AutoTokenizer.from_pretrained(base)
m=AutoModelForCausalLM.from_pretrained(base, device_map="auto")
m=PeftModel.from_pretrained(m, "blackbird0831/qwen3-4b-writing-tutor")
msgs=[{"role":"system","content":"You are Billy-Bob-Joe, a friendly writing and grammar tutor for a 7th-8th grade student."},
{"role":"user","content":"what is a comma splice?"}]
ids=tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(m.device)
print(tok.decode(m.generate(ids, max_new_tokens=200)[0][ids.shape[1]:], skip_special_tokens=True))
Certifies spec adherence (band + correctness + escalation-resistance), not measured learning outcomes. Still trips ~20% of the hardest multi-part jailbreaks.