Repository navigation
feat(ml,#16137): 3.6c protocole MMD multi-seeds/budgets — verdict INCONCLUSIVE du rang linéaire/cosinus - #16216
Conversation
…NCLUSIVE Section 4.1 : 5 sigmas (0,25-4) x 4 seeds (0/1/7/42) x 2 budgets (12/24 ep), medianes des 4 seeds par case (schedule, budget, sigma), regle declaree avant mesure (domination sur toute la grille sinon INCONCLUSIVE), verdict calcule dans la cellule (jamais en dur dans le markdown). entrainer() gagne un parametre seed (defaut = SEED global, comportement inchange pour les appels existants). Conclusion reecrite : verdict mesure + dependance au noyau. Verdict commis (passe finale, GPU 3090, 2 passes completes aux memes seeds) : INCONCLUSIVE (4 cases lineaire / 6 cosinus). Une re-execution aux memes seeds deplace les cases minces (decompte 5/5 puis 4/6, case 24ep/sigma2 changee de camp) : les marges sont sous la variabilite run-a-run. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
[DELIVERED] #16137 lane myia-po-2023:CoursIA |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Path-collision (organ #13359/#13615)Cette PR #16216 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
myia-ai-01
left a comment
There was a problem hiding this comment.
Review qualifiante ai-01 au head exact e54270da7e6e02718998be2132c01751ccc4f0ba après lecture personnelle du body, de tous les commentaires, des reviews (aucune avant celle-ci), des threads inline et des 1 250 lignes du diff ; l'issue fermée #16137 et ses cinq critères ont également été lus.
Le protocole satisfait le scope annoncé : cinq bandes passantes couvrant plus d'une décade, quatre seeds {0,1,7,42}, deux budgets 12/24 epochs, médiane par case, et règle de domination déclarée avant la mesure. Les sorties réelles montrent 16 entraînements, les valeurs par seed, les dix médianes et le verdict calculé INCONCLUSIVE (4 cases lineaire / 6 cases cosinus). La conclusion expose explicitement la dépendance au noyau et la variabilité run-à-run au lieu de sur-vendre un gagnant. Le paramètre seed initialise torch, numpy et CUDA avant chaque entraînement ; le comportement des appels antérieurs reste porté par la valeur par défaut.
Les 21 cellules code sont exécutées avec sorties, zéro erreur ; C.1 et les trois exercices existants restent conformes. Le commentaire claim/output est advisory et la relation centrale est directement vérifiée dans les sorties ; la collision #16126 est terminale mais attendue, car cette PR prolonge le même notebook après le merge fondateur. Threads inline : 0. B.0 : rc=0 ; le commentaire [DELIVERED] post-commit a été lu et ne porte aucune réserve.
Verdict : APPROVED. Le merge reste séparé et conditionné au re-grounding instant-T.
…NCLUSIVE (#16216) Section 4.1 : 5 sigmas (0,25-4) x 4 seeds (0/1/7/42) x 2 budgets (12/24 ep), medianes des 4 seeds par case (schedule, budget, sigma), regle declaree avant mesure (domination sur toute la grille sinon INCONCLUSIVE), verdict calcule dans la cellule (jamais en dur dans le markdown). entrainer() gagne un parametre seed (defaut = SEED global, comportement inchange pour les appels existants). Conclusion reecrite : verdict mesure + dependance au noyau. Verdict commis (passe finale, GPU 3090, 2 passes completes aux memes seeds) : INCONCLUSIVE (4 cases lineaire / 6 cosinus). Une re-execution aux memes seeds deplace les cases minces (decompte 5/5 puis 4/6, case 24ep/sigma2 changee de camp) : les marges sont sous la variabilite run-a-run. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Contexte
#16137 : au run témoin du notebook, le rang linéaire/cosinus à la MMD ne survit pas au choix de bande passante — σ = 0,5 donne « cosinus meilleur », σ = 1 et 2 donnent « linéaire meilleur ». Un seed unique, un budget unique, trois sigmas : l'instrument ne tranche pas. Ce PR ajoute le protocole qui tranche, et écrit le verdict honnêtement.
Protocole ajouté (section 4.1)
INCONCLUSIVE— le verdict est calculé dans la cellule (jamais en dur dans le markdown), donc toujours cohérent avec le tableau imprimé ;Changements
entrainer(18) : paramètreseed=SEED(seeds torch/numpy/CUDA au démarrage de la fonction). Comportement inchangé pour les appels existants — le défaut est leSEEDglobal d'avant.Mesure (passe réelle, GPU RTX 3090)
Verdict mesuré par la cellule (passe finale, commise) :
INCONCLUSIVE(4 cases linéaire / 6 cases cosinus).Lecture : à 12 epochs le linéaire garde σ ≥ 1 ; à 24 epochs le cosinus prend tout σ ≤ 2 et ne cède que σ = 4 ; σ = 1 bascule avec le budget (écart cosinus−linéaire : +0,00107 à 12 ep → −0,00123 à 24 ep — convergence plus lente, pas moins bonne). 16 entraînements + échantillonnages en 17,7 min ; au budget 12, le run cosinus seed 42 s'effondre à σ = 4 (MMD ≈ 0,31 contre ≈ 0,01–0,02 pour les autres seeds) — la médiane absorbe le point sans changer le vainqueur de la case.
Reproductibilité (2 passes complètes, mêmes seeds) : le verdict reste
INCONCLUSIVEaux deux passes, mais le décompte passe de 5–5 à 4–6 — la case (24 ep, σ = 2) a changé de camp et les médianes se déplacent d'environ 10⁻³. Les marges qui décident les cases sont sous la variabilité run-à-run : c'est une preuve de plus que le verdict honnête est INCONCLUSIVE, et cette observation est écrite dans la conclusion du notebook.Validation
EXEC_PROVED).grep -nE "raise NotImplementedError|assert False|1/0"→ 0 sur le notebook.scan_md_table_syntax.py) sur le notebook → 0 findings.validate_pr_notebooks.py→ verdict EXEC_PROVED attendu.Périmètre :
MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.6c-Modeles-Generatifs-Diffusion-from-scratch.ipynbuniquement.Grain: DEEP/notebook-python — lane myia-po-2023:CoursIA — prev: MED/tooling #16209
Closes #16137
🤖 Generated with Claude Code