Views
No views yet
S2.T3.1 · AIMS KTT Hackathon · Tier 3
| Property | Value |
|---|---|
| Base model | TinyLlama/TinyLlama-1.1B-Chat-v1.0 |
| Fine-tuning method | QLoRA (4-bit NF4 + LoRA rank=8) |
| Trainable parameters | 2,252,800 / 1,102,301,184 (0.204%) |
| Training loss | 0.4768 (converged at epoch 3) |
| Training time | 793 s on Tesla T4 (15.6 GB VRAM) |
| Adapter size | 8.6 MB safetensors |
| Languages | English · French · Kinyarwanda (+ code-switching) |
| Target age | 5–9 years (P1–P3) |
| Skills | counting, number sense, addition, subtraction, word problems |
scripts/make_instruction_data.py1LoraConfig(
2 r=8,
3 lora_alpha=16,
4 target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
5 lora_dropout=0.05,
6 bias="none",
7 task_type=TaskType.CAUSAL_LM,
8)1TrainingArguments(
2 num_train_epochs=3,
3 per_device_train_batch_size=4,
4 gradient_accumulation_steps=4,
5 learning_rate=2e-4,
6 fp16=True,
7 lr_scheduler_type="cosine",
8 warmup_steps=50,
9)1pip3 install modal && modal token new
2modal run scripts/train_modal.py1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
5tokenizer = AutoTokenizer.from_pretrained(base)
6model = AutoModelForCausalLM.from_pretrained(base)
7model = PeftModel.from_pretrained(model, "Nyingi101/math-tutor-tinyllama-lora")
8
9prompt = (
10 "<|system|>\nYou are a friendly math tutor for young children.</s>\n"
11 "<|user|>\nChild answered 3+2=6 (wrong). Give gentle encouragement.</s>\n"
12 "<|assistant|>\n"
13)
14inputs = tokenizer(prompt, return_tensors="pt")
15output = model.generate(**inputs, max_new_tokens=80)
16print(tokenizer.decode(output[0], skip_special_tokens=True))1# Kinyarwanda feedback
2prompt_kin = (
3 "<|system|>\nUri umwarimu w'imibare w'abana bato.</s>\n"
4 "<|user|>\nUmwana yabaze 4+3=7 (nibyo). Muhe ishimwe.</s>\n"
5 "<|assistant|>\n"
6)
7
8# French feedback
9prompt_fr = (
10 "<|system|>\nTu es un tuteur de mathématiques pour les jeunes enfants.</s>\n"
11 "<|user|>\nL'enfant a répondu 5-2=3 (correct). Encourage-le.</s>\n"
12 "<|assistant|>\n"
13)tutor/ directory (target ≤ 75 MB ✓)| Model | AUC | N predictions |
|---|---|---|
| BKT | 0.5677 | 2,400 |
| Elo baseline | 0.5203 | 2,400 |
| Delta | +0.0474 | BKT wins |