File size: 3,600 Bytes
46be641
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62110f9
 
 
 
46be641
dd945a8
cc255c6
5c80566
25bc372
 
46be641
518c6dd
 
 
46be641
165c2e4
 
 
 
 
e1d7fc5
46be641
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ff1301f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# ROADMAP β€” Model Scratch se Deployment tak (ViuMini-MoE-242M status ke saath)
> Har step ka status: [x] done / [ ] bacha. Evidence file bracket me.
> Update rule: step complete hote hi tick + PROGRESS + TEST_REPORT entry + HF push.

## Step 0 β€” Goal + design lock [x] DONE
- Model type, size, language mix fix (Hinglish 40:30:30, 28L MoE 241.7M/166.2M LOCK)
- Evidence: `docs/VIU1_MOE_PLAN.md`, `model/configs/viu1_moe_config.yaml`

## Step 1 β€” Repo + code skeleton [x] DONE
- Folder structure, arch code (`viu1_moe.py`), config, requirements, HF card
- Evidence: `README.md`, `model/scripts/viu1_moe.py`, HF https://huggingface.co/ViuAI/ViuMini-MoE-242M

## Step 2 β€” Audit + bugfix [x] DONE
- Sliding-mask, MoE dispatch, aux-loss, batch, ckpt, paths β€” 10 critical fix verify
- Evidence: `docs/TEST_REPORT.md` (5/5 suite PASS)

## Step 3 β€” Toy test (Kaggle) [x] DONE (2026-09-17, 0.05 LOCKED)
- 2L tiny MoE: A(0.01)β†’D(0.01/50, max 0.250), B(0.02)β†’E(0.02/50, max 0.229), C(0.05/50, max 0.199), F(0.10/50, max 0.180), G(0.05/100, max 0.186 + loss 3.82)
- Decision: 0.05 lock (beech-ka-rasta; lambe steps balance khud sudharenge). Configs + code default updated.
- Evidence: `docs/TEST_REPORT.md` (Step 3 entries), `model/scripts/toy_router_test.py`

## Step 4 β€” Real data collect [ ] BACHA (sabse important β€” DATA HI MODEL HAI)
- Target: 30B – 50B+ tokens 40:30:30 (40% Hinglish Roman + 30% Hindi Devanagari + 30% English) across 26 Exhaustive Pillars (NCERT, History, Law, SMT/PCB/FA, QMS, Tech, Emails, Cinema, Global Cooking, Translation, Stories, Songs, Mobile Tech, Jokes & Desi Roasts, Complete Grammar & Vyakaran)
- Policy: Zero Sub-Sampling / Full Ingestion (IndicCorpV2 152M rows, Sangraha 250M sentences, FineWeb-Edu, Romanized Hindi, IITB translation 100% ingested)
- Execution: 100% Kaggle Cloud streaming with chunk-upload-delete loop (disk < 1GB)
- Evidence: `data/scripts/kaggle_collector.py`, `docs/KAGGLE_DATA_COLLECTION.md`, HF repo `ViuAI/viu-mini-raw-pretrain`

## Step 5 β€” FINAL tokenizer [x] DONE (2026-09-17, v1 ACCEPT)
- 500k+ lines pe 48k BPE β†’ vocab 47756, fertility 1.83, unk=0. `tokenizer/outputs/tokenizer.json` FINAL (3.5MB, HF main).
- Evidence: `docs/TEST_REPORT.md` (Step 5 entries)

## Step 6 β€” Dense baseline (GPU) [x] DONE (2026-09-18, rental 3090 24GB)
- GPU: 3090 (Kaggle T4 run stopped β†’ rental shift). train.py auto-GPU (amp auto + OOM-probe micro-batch) isi run me verify.
- Configs: `model/configs/viu1_dense_config.yaml` (28L MoE-OFF, moe_every 999) + `train_dense_baseline.yaml` (5k steps, seq 512, eff-batch 16)
- Data: clean mix 23:39:38 (383502 lines) + FINAL 48k tokenizer
- Result: 5000/5000 in 36:45 (~18.5k tok/s), loss 8.42β†’1.83, val ppl 26.5β†’10.2, Hinglish sample OK (repetition loops noted)
- Success: loss smooth down + Hinglish sample fluent β†’ TEST_REPORT
- Evidence: ckpt + val PPL + sample log (TEST_REPORT)

## Step 7 β€” Full MoE pretrain (GPU 2-4 hafte) [ ] BACHA
- 9 MoE layers on, BF16, ckpt har 5k, early-stop (expert >60% for 2k steps β†’ roko)
- Success: dense se +5% better + router balanced

## Step 8 β€” Eval + inference [ ] BACHA
- PPL (3 langs), CoT accuracy, human rating + `generate.py` (top-k/temp)
- Evidence: eval numbers + samples PROGRESS me

## Step 9 β€” SFT / alignment (optional) [ ] BACHA
- Instruction + DPO data pe finetune (plan me baad me)

## Step 10 β€” Release [ ] BACHA
- FINAL ckpt + model card + public HF + version tag

## Abhi kaha hai?
Step 0, 1, 2, 3, 5, 6 **DONE**. Agla: **Step 4 (Data v2 collection β€” 4-5B tokens)** β†’ **Step 7 (Full MoE Pretraining on GPU)**.