Measurements
What we measured, what we could not.
All small, single-hardware experiments. Under every table we write its limit.
| Experiment | Our question | Result | Status |
|---|---|---|---|
| 1 · Sparse synchronisation (toy model) | How much does sparse sync raise the loss? | +0.07 to +0.23 nat (by data and H) | done · small scale |
| 2 · Qwen3-0.6B Turkish adaptation | Does 20 minutes of LoRA improve Turkish? | Language modelling −4.3%; benchmark unchanged | done · single run |
| 3 · Adapter DiLoCo | What does sparse sync cost on an adapter? | 0.09% gap; ~25× less data | done · simulation |
Raw outputs and scripts are in the GitHub repository (Apache-2.0).
1 · Sparse synchronisation, toy model DiLoCo
A byte-level GPT with 3.3M parameters, 4 simulated workers, 500 steps per worker, 3 seeds, outer optimiser lr 1.0 / momentum 0.5. We tried two datasets: a small local Turkish text (256 KB) and the first 3,280 articles of Turkish Wikipedia (30 MB). Values are the validation-loss gap to the reference run (synchronised every step), in nats; lower is better.
| H (steps between syncs) | Number of syncs | Local text: gap | Wikipedia: gap |
|---|---|---|---|
| 10 | 50 | +0.067 | +0.126 |
| 25 | 20 | +0.107 | +0.112 |
| 50 | 10 | +0.161 | +0.168 |
| 100 | 5 | +0.226 | +0.156 |
Reference loss: 1.532 on the local text, 1.919 on Wikipedia.
Limit: small model; the outer optimiser was tuned only at H=25. On Wikipedia the effect of H is the same size as seed noise, so we do not claim "it gets steadily worse as H grows". A 12-setting outer-optimiser sweep found no better point.
2 · Qwen3-0.6B Turkish adaptation LoRA
Qwen3-0.6B-Base, LoRA r=16 (all linear layers), 215 steps ≈ 1.76M tokens, RTX 4060 Laptop (8 GB), ≈ 5.6 s per step, peak memory 5.23 GB, adapter 40.4 MB. Turkish evaluation is on a Wikipedia slice not used in training.
| Metric | Base | After LoRA |
|---|---|---|
| Turkish bits per byte | 1.297 | 1.241 |
| Turkish perplexity | 15.22 | 13.52 |
| English bits per byte (WikiText-2) | 0.9468 | 0.9597 |
| TurkishMMLU 5-shot | 35.6% (320/900) | 34.7% (312/900) |
| Tokens per word | 2.78 | 2.78 |
Reading: Turkish language modelling improved, English shows a slight loss, and the TurkishMMLU difference is 8 questions, within the standard error (≈ 1.6 points) of a 900-question test. We cannot say "the model improved". Limit: single run; the evaluation text is from the same domain as training.
3 · Adapter DiLoCo simulation
Qwen3-0.6B + LoRA, 4 simulated workers (base shared and frozen), 8 rounds × 25 local steps. Baseline: same total compute, synchronised every step. Metric: Turkish bits per byte on a 60k-token held-out slice.
| Round | Baseline | Adapter DiLoCo |
|---|---|---|
| 0 | 1.2714 | 1.2714 |
| 2 | 1.2390 | 1.2395 |
| 4 | 1.2238 | 1.2275 |
| 6 | 1.2184 | 1.2201 |
| 8 | 1.2155 | 1.2166 |
Final gap 0.0011 (0.09%); ≈ 98% of the baseline gain. Communication (computed): baseline 200 steps × 4 workers × 40.4 MB ≈ 32 GB, DiLoCo 8 rounds ≈ 1.3 GB. Peak memory 5.64 GB.
Limit: single seed, small held-out slice, data slices from the same stream (real volunteers will differ), no network latency, worker loss or malicious contributions, outer optimiser not tuned for this model, compatibility with later standard training not tested.