Two open models, one API.
aadya-m1 is the full model. aadya-m1-mini is a tiny sibling for phones and browsers. Both take the same inputs and return the same kind of output.
aadya-m1256M parameters. Runs on a laptop or desktop.
aadya-m1-mini0.84M parameters, 3.4 MB. Runs on a phone.
The released model. Best when you can run PyTorch: desktops, servers you control, notebooks, research and fine-tuning.
Built for phones, browsers and low-power devices: 3.4 MB of weights, the same API, and level accuracy on the public real data we have.
| aadya-m1 | aadya-m1-mini | |
|---|---|---|
| Parameters | 256M | 0.84M |
| Weights | about 1 GB (fp32), about 512 MB (fp16) | 3.4 MB |
| Input | Past cycle lengths (days), days since the last period, optional age group, optional ovulation-test day | |
| Output | A probability for each cycle length from 1 to 120 days | |
| Accuracy, 364 public real users (mean CRPS, lower is better) | 1.930 | 1.932 (level) |
| Best for | Servers, desktops, research, fine-tuning | Phones, browsers, low-power devices |
| Training data | No real person’s records were used | |
| Licence | Apache-2.0 | |
Bigger is not better here, yet.
We trained a ladder of sizes on the same synthetic corpus. On today’s evidence, a model about 300 times smaller is level with the released 256M one. That is why the mini model exists, and why we do not claim that size helps.
Error against model size
Mean CRPS on 539 simulated users and 364 real users. Lower is better. Dashed lines are the Bayes reference.
View the numbers
| Model size | Simulated | Real |
|---|---|---|
| 0.84M | 2.906 | 1.932 |
| 11M | 2.935 | 1.947 |
| 11M | 2.931 | 1.932 |
| 11M | 2.910 | 1.936 |
| 57M | 2.920 | 1.954 |
| 256M (released) | 2.925 | 1.930 |
Real-user differences between sizes are within noise. Larger models may matter once there is much more real data to learn from, which is why the 256M model is released as the larger starting point.
Choosing a model
Building a mobile or web app
Start with aadya-m1-mini. It is tiny, and on public real data it is level with the large model.
Researching or fine-tuning
Use aadya-m1. It is the larger starting point if you have far more real data than we did.
Comparing methods
Use the AadyaBench protocol. Every method gets the same users, the same splits and the same scoring rule.