Mesures
Ce que nous avons mesuré, ce que nous n'avons pas pu.
Toutes de petites expériences sur un seul matériel. Sous chaque tableau, nous écrivons sa limite.
| Expérience | Notre question | Résultat | Statut |
|---|---|---|---|
| 1 · Synchronisation espacée (modèle jouet) | De combien la synchronisation espacée augmente-t-elle la perte ? | +0,07 à +0,23 nat (selon les données et H) | terminé · petite échelle |
| 2 · Adaptation de Qwen3-0.6B au turc | 20 minutes de LoRA améliorent-elles le turc ? | Modélisation du langage −4,3 % ; benchmark inchangé | terminé · un essai |
| 3 · DiLoCo sur adaptateur | Que coûte la synchronisation espacée sur un adaptateur ? | 0,09 % d'écart ; ~25× moins de données | terminé · simulation |
Les sorties brutes et les scripts sont dans le dépôt GitHub (Apache-2.0).
1 · Synchronisation espacée, modèle jouet DiLoCo
Un GPT au niveau de l'octet de 3,3 M de paramètres, 4 travailleurs simulés, 500 pas par travailleur, 3 graines, optimiseur externe lr 1,0 / momentum 0,5. Nous avons essayé deux jeux de données : un petit texte turc local (256 Ko) et les 3 280 premiers articles de Wikipédia en turc (30 Mo). Les valeurs sont l'écart de perte de validation par rapport à l'exécution de référence (synchronisée à chaque pas), en nats ; plus petit est meilleur.
| H (pas entre synchronisations) | Nombre de synchronisations | Texte local : écart | Wikipédia : écart |
|---|---|---|---|
| 10 | 50 | +0,067 | +0,126 |
| 25 | 20 | +0,107 | +0,112 |
| 50 | 10 | +0,161 | +0,168 |
| 100 | 5 | +0,226 | +0,156 |
Perte de référence : 1,532 sur le texte local, 1,919 sur Wikipédia.
Limite : petit modèle ; l'optimiseur externe n'a été réglé qu'à H=25. Sur Wikipédia, l'effet de H est de la même taille que le bruit entre graines ; nous n'affirmons donc pas que « cela se dégrade régulièrement quand H augmente ». Un balayage de 12 réglages de l'optimiseur externe n'a pas trouvé de meilleur point.
2 · Adaptation de Qwen3-0.6B au turc LoRA
Qwen3-0.6B-Base, LoRA r=16 (toutes les couches linéaires), 215 pas ≈ 1,76 M de jetons, RTX 4060 Laptop (8 Go), ≈ 5,6 s par pas, pic de mémoire 5,23 Go, adaptateur 40,4 Mo. L'évaluation en turc porte sur une tranche de Wikipédia non utilisée à l'entraînement.
| Métrique | Base | Après LoRA |
|---|---|---|
| Bits par octet en turc | 1,297 | 1,241 |
| Perplexité en turc | 15,22 | 13,52 |
| Bits par octet en anglais (WikiText-2) | 0,9468 | 0,9597 |
| TurkishMMLU 5-shot | 35,6 % (320/900) | 34,7 % (312/900) |
| Jetons par mot | 2,78 | 2,78 |
Lecture : la modélisation du turc s'est améliorée, l'anglais montre une légère perte, et l'écart sur TurkishMMLU est de 8 questions, dans l'erreur standard (≈ 1,6 point) d'un test de 900 questions. Nous ne pouvons pas dire que le modèle s'est amélioré. Limite : un seul essai ; le texte d'évaluation provient du même domaine que l'entraînement.
3 · DiLoCo sur adaptateur simulation
Qwen3-0.6B + LoRA, 4 travailleurs simulés (base partagée et figée), 8 tours × 25 pas locaux. Référence : même calcul total, synchronisée à chaque pas. Métrique : bits par octet en turc sur une tranche réservée de 60 000 jetons.
| Tour | Référence | DiLoCo sur adaptateur |
|---|---|---|
| 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 |
Écart final 0,0011 (0,09 %) ; ≈ 98 % du gain de la référence. Communication (calculée) : référence 200 pas × 4 travailleurs × 40,4 Mo ≈ 32 Go, DiLoCo 8 tours ≈ 1,3 Go. Pic de mémoire 5,64 Go.
Limite : une seule graine, petite tranche réservée, tranches de données issues du même flux (de vrais bénévoles différeront), ni latence réseau, ni perte de travailleurs, ni contributions malveillantes, optimiseur externe non réglé pour ce modèle, compatibilité avec un entraînement standard ultérieur non testée.