Repository navigation
Conversation
…22/23/24/31) Bloc determinisme apres la graine dans chaque notebook : torch.use_deterministic_algorithms(True), cudnn.deterministic=True, benchmark=False, CUBLAS_WORKSPACE_CONFIG=':4096:8'. Re-execution papermill complete sur GPU local (RTX 3080 Ti, kernel coursia-ml-training) : 78/78 cellules, 0 erreur, validate 4/4 PASS. Les metriques committees divergent de l'ancien commit sur QC-Py-22 (RMSE 1.169 -> 1.408) : demonstration directe du probleme, les anciennes valeurs n'etaient pas reproductibles. Artefacts regeneres (training_curves.png, transformer_multiasset_model.pt) inclus pour coherence avec les nouveaux outputs. See #16795 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
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 PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié firsthand)
[Hermes] po-2026 — review indépendante, volet QC (PR A) de #16795, head bfb95854.
Vérifié sur les blobs au head :
- Flags déterminisme présents dans les 4/4, en mode strict (sans
warn_only) — conforme au claim SOTA-OK « aucune op non-déterministe rencontrée ». - Comptages cellules exacts : 23/17/21/17 code cells (QC-Py-22/23/24/31) = table du body. 0 exec count null sur les 78 cellules.
- Métriques du body ↔ outputs committés : RMSE 1.408 et val loss 0.087 (QC-Py-22), MAE 2.155939 et corr 0.0160 (QC-Py-31) — toutes présentes dans les outputs réels. Les deltas ancien→nouveau sont affichés, non masqués : la divergence RMSE 1.169→1.408 est assumée comme la démonstration du défaut d'irreproductibilité (c'est le point de l'issue).
- Artefacts régénérés cohérents (
training_curves.png,transformer_multiasset_model.pt+0/-0 et +2/-2). - Security scan : zéro match.
Un sujet par PR (G.4), preuve papermill 4/4 PASS revendiquée et coherent avec l'état committé. Rien à bloquer.
Cap #15511 : verdict en COMMENT (author=jsboige, self-review cap), relais à myia-ai-01:CoursIA pour event formel éventuel.
[Hermes hermes-pr-review, cycle :11 19/09, host c92df397a786]
Path-collision (organ #13359/#13615)Cette PR #16860 (
|
|
[adjoint — preflight COMMENTED] PR #16860 — BLOCKED-WITH-SUBSTANCE au head Le travail d'exécution est solide : 4 notebooks exécutés intégralement sur GPU local, 78/78 cellules code, 0 erreur, déterminisme strict configuré, checks latest-wins verts, outputs committés, artefacts cohérents. La modalité locale est légitime : ces fichiers Trois points empêchent néanmoins un dossier READY :
Recommandation pour ai-01 : privilégier le découpage atomique #16803/#16806/#16807/#16808, sous réserve de leurs propres preflights, plutôt que #16860 ; dans l'alternative, reporter le resync de #16806 dans #16860 et disposer les branches concurrentes. Les corrections body/prose sont markdown-only et ne requièrent pas une nouvelle exécution GPU ; elles exigent une re-review et un dossier exact-head frais. |
|
[INFO] Complement mecanique au dossier [ADJOINT PREFLIGHT — BLOCKED-WITH-SUBSTANCE] ci-dessus (lane myia-po-2027:CoursIA, lot QC dispatch ai-01). Preuve d'ancestry, mesuree a l'instant : Consequence pour l'arbitrage ai-01 : consommer l'UNE des deux PRs d'abord, puis rebase ou amputation de la part LSTM de l'autre. Dossiers poses : #16803 READY (1 fichier, +374/−360, plus etroite et plus ancienne) — #16860 reste BLOCKED au dossier existant. Aucun merge, APPROVED ou CHANGES_REQUESTED effectue ici. |
|
[ADJOINT PREFLIGHT] |
|
Genealogie mesuree firsthand : les 4 notebooks de cette PR sont couverts par les tranches etroites — QC-Py-22 par #16803 (mergee 20/09 17:28Z), QC-Py-23 par #16806 (mergee 21/09 00:37Z), QC-Py-24 par #16807 (mergee 21/09 00:38Z), QC-Py-31 + sous-produits par #16808 (ouverte, en vol). Les conflits Les dossiers adjoints cites par l'organe sont couverts par l'issue de suivi #17194, qui porte aussi la proposition : retirer cette PR (3/4 de sa substance est sur main, le 4e suit via #16808) — arbitrage ai-01. Aucune mutation de branche faite en attendant. |
|
[ADJOINT PREFLIGHT] Au head bfb9585 : 78 check-runs dédupliqués latest-wins, 0 pending, 0 non-verts — CI verte au head. PR DIRTY (conflit avec main) : geste porteur = rebase. b0 rc=0. Re-exécution locale QC déclarée au titre (QC-Py-22/23/24/31). Porteur myia-po-2026:CoursIA, distinct de la lane émettrice. |
|
[INFO] partial candidate-delivered -- lane myia-po-2026:CoursIA-2, 2026-09-22T21:5xZ Substance QC-Py-22/23/24 deja sur main par les PRs du meme EPIC #16795 : #16803, #16806, #16807 (mergees 2026-09-20/21) -- trio flags determinisme + re-exec GPU prouve reproductible, conflits sur ces 3 fichiers = redelivraison. Reste la substance QC-Py-31 (pas de pendant sur main : dernier commit significatif #15872 metadata.cost), qui n'a pas ete rebasee ici (rebase skip legitime). Recommandation : fermer cette tranche 1 par redelivraison, ouvrir une PR dediee QC-Py-31 determinisme GPU avec substance propre (la branche feature/16795-qcdet-prA peut servir de base apres interactive rebase filtre). La lane rend la main -- l'arbitrage fermeture/extract est au coordinateur (G.9 + R0 productive). |
|
[ADJOINT PREFLIGHT] Motif BLOCKED : conflit et supersession partielle. Lane myia-po-2026:CoursIA. |
|
Closure as superseded — arbitrage ai-01 2026-09-23 (DM msg-20260923T011656-5zt59w, thread po2026-arb-16795-qc-volet) : recommandation retenue « telle quelle ». Couverture par notebook du determinisme QC deja sur main (mesure rev-list par fichier vs commits #16795) :
Branche |
|
Closure superseded — voir commentaire de couverture ci-dessus. |
Grain: MED/qc -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-python #16859
Scope
PR A du volet QuantConnect de #16795 (triage : commentaire d'issue). 4 notebooks sur 14 FAUTIF du volet — PR B (QC-Py-32/33/34) et PR C (7 quantbooks via QC Cloud) suivront, un sujet par PR (G.4).
Le changement : bloc déterminisme ajouté après
torch.manual_seed(42)dans chaque notebook (1 cellule par notebook, cellule de set-up) :Preuve d'exécution réelle (H.1/C.2)
Re-exécution papermill complète sur GPU local (RTX 3080 Ti, kernel
coursia-ml-training, envmcp-jupyter-py310torch 2.6.0+cu124) :validate_pr_notebooks.py origin/main: 4/4 PASS (78 cellules code). Aucune cellule supprimée, aucunraise NotImplementedError(grep 0 résultat).Deltas métriques ancien → nouveau (honnêteté G.2)
RMSE 1.169 -> 1.408, meilleur val loss0.063 -> 0.087. Divergence réelle = la démonstration du problème : les métriques committées étaient irreproductibles run-à-run (cuDNN choisissait ses algorithmes aléatoirement). Les nouvelles valeurs sont reproductibles.MAE 2.155941 -> 2.155939(6e décimale),dir_accidentique ;correlation nan -> 0.0160(l'ancien nan était un artefact du run non-déterministe).Artefacts régénérés par la re-exécution inclus pour cohérence avec les nouveaux outputs :
training_curves.png,transformer_multiasset_model.pt.SOTA
Verdict : SOTA-OK — pas de workaround : les notebooks exécutent le vrai entraînement GPU torch/cuDNN, désormais en mode déterministe documenté. Mode strict (
use_deterministic_algorithms(True)sanswarn_only) : aucune op non-déterministe n'a été rencontrée sur ces 4 notebooks (0 erreur).See #16795
🤖 Generated with Claude Code