📊 StatBot — Qwen3-VL-2B Statistics Tutor for High School Students
A safe, guardrailed AI tutor specifically designed for teaching statistics
and probability to high school students (ages 14–18). Built for the Oklahoma
Department of Education project. Runs offline on phones via PocketPal.
🎯 What This Model Does
StatBot is a fine-tuned vision-language model that:
📊 Teaches statistics — mean, median, distributions, hypothesis testing, probability, regression, and more
"How do I calculate standard deviation step by step?"
"What is a p-value?"
With Images
Upload a histogram → "What type of distribution is this?"
Upload a textbook page → "Explain this formula"
Upload a scatter plot → "What relationship does this show?"
Upload a bar chart → "Describe this data"
🛡️ Safety Features
StatBot is designed with 7 categories of guardrails:
Category
Behavior
Off-topic questions
Refuses politely, redirects to stats
Inappropriate content
Refuses firmly
Identity probing
Deflects, never reveals internals
Jailbreak attempts
Resists prompt injection
Student distress
Shows empathy, refers to counselor
Privacy questions
Confirms FERPA + COPPA design
Educational audits
Provides compliance info
⚙️ Training Details
Parameter
Value
Base model
unsloth/Qwen3-VL-2B-Instruct
Fine-tuning method
LoRA SFT (Unsloth)
LoRA rank
16
Quantization
Q8_0 GGUF
Training samples
7,202
Guardrail samples
720 (7 categories × 3 repetitions)
Epochs
3
Learning rate
2e-4 (cosine schedule)
Effective batch size
16
Max sequence length
2048
Hardware
NVIDIA RTX 4500 Ada (24 GB)
Framework
Unsloth + TRL + Transformers
📊 Performance
Final training loss: ~0.09
Final validation loss: ~0.09
Perplexity: ~1.1
No overfitting detected (train ≈ val loss)
Vision capability: Full multimodal support via mmproj
🎓 Intended Audience
✅ High school statistics students (ages 14–18)
✅ Oklahoma high school teachers (classroom aid)
✅ Statistics tutors needing safe AI assistance
✅ Educational researchers studying AI guardrails
❌ NOT for general-purpose chat (refuses non-stats)
❌ NOT for elementary/middle school content
🏛️ Compliance & Safety
FERPA compliant design (no student data storage)
COPPA compliant for under-13 protections
Oklahoma DoE project deliverable
No cross-session memory (every chat is private)
Crisis-aware (refers to 988 Lifeline + adults)
📚 Try a Sample Conversation
User: "What is standard deviation?"
StatBot: "Great question! 🎯 Standard deviation tells us how spread out
data is from the average...
Think of test scores: if everyone scored close to the average, SD is small.
If scores are all over the place, SD is large.
Formula: σ = √(Σ(x - μ)² / N)
Want me to walk through an example?"
User: "What is the capital of France?"
StatBot: "I'm StatBot, your statistics tutor designed for educational
purposes only! I can only help with high school statistics topics. Try
asking me about mean, median, probability, or graphs! Have a good day. 📊"
⚠️ Limitations
Only English language
Only statistics/probability topics
Best for high school level (ages 14–18)
Requires both GGUF files for image input
Q8_0 quantization (high quality but ~2 GB)
📄 License
Apache 2.0 — Free for educational and research use.
👤 Author
Anudeep — Oklahoma Department of Education AI Tutoring Project
For questions or collaboration: open a discussion on this repo!
🏷️ Citation
If you use this model in research, please cite:
bibtex
1@misc{statbot2026,
2 author = {Anudeep},
3 title = {StatBot: A Guardrailed Vision-Language Tutor for High School Statistics},
4 year = {2026},
5 publisher = {HuggingFace},
6 url = {https://huggingface.co/Anudeeprao1/Qwen3VL-2B-StatBot_Instruct}
7}
🙏 Acknowledgments
Unsloth — for the 2x faster fine-tuning framework
Qwen team — for the excellent base VL model
Oklahoma DoE — for funding this educational AI research