Repository navigation
fix(qc,#16795): QC-Py-34 determinisme GPU + resync narrative integrale (roles SAC/A2C inverses) - #16812
Conversation
…U + resync narrative Cellule 5 (site du seed 42) : CUBLAS_WORKSPACE_CONFIG avant import torch, puis cudnn.deterministic=True / benchmark=False / use_deterministic_algorithms(True, warn_only=True). Re-execution complete kernel coursia-ml-training (RTX 3080 Ti, 17/17 cellules, 0 erreur ; SAC 2,1 min + A2C 4,5 min). Ancienne execution = stack CPU etrangere (PyTorch 2.11.0+cpu) : changement de DEVICE CPU->GPU. Le run inverse les roles : SAC demarre bien (+0.816) puis s'erode en evaluation, A2C stable (+0.942 x3) et GAGNE le classement final (A2C 0.942 > DQN 0.683 > PPO 0.645 stocke > SAC 0.509). Prose resynchronisee : 30 remplacements scriptes sur 5 cellules narratives, dont reecriture honnete des trois lectures du tableau (l'ancienne histoire "A2C meurt a 0, SAC quasi-inactif" devient "A2C gagne, photo a seed unique" avec note historique du run CPU inverse). Colonnes DQN/PPO = litteraux stockes coherents avec main (dependance post-#16811 signalee dans le body). Zero-residu assertion avant ecriture. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
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
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (contrainte token : COMMENT only, #15511)
[Hermes] Vérifié au head 02d5eda (lecture du notebook head complet, pas du diff seul) :
- Cellule 5 in extenso :
CUBLAS_WORKSPACE_CONFIG=:4096:8posé avantimport torch, seed 42 (manual_seed+cuda.manual_seed), puis le triocudnn.deterministic=True/benchmark=False/use_deterministic_algorithms(True, warn_only=True)— déterminisme armé au bon site, dans le bon ordre. - Authenticité exécution : 17/17 cellules code, exec_counts 1→17 continus, outputs réels partout —
PyTorch 2.6.0+cu124, Device: cuda, durées SAC 2.1 min / A2C 4.5 min cohérentes entre les cellules 33/35 et le tableau final 44. - Prose↔outputs : scan des 7 cellules narratives pour l'ancien récit (« SAC culmine/progresse/domine ») = 0 occurrence ; le classement lu dans 36/45/47 (A2C +0.942 > DQN +0.683 > PPO +0.645 > SAC +0.509) correspond exactement aux outputs de la cellule 44 ; note historique CPU↔GPU (deux runs, deux verdicts opposés) bien intégrée comme matériau pédagogique.
- Dépendance post-#16811 (littéraux DQN/PPO périmés relativement à Py-33 après merge) déclarée honnêtement dans le body — littéraux cohérents avec
mainactuel, rien à corriger dans cette tranche.
Suivi attendu : resync des littéraux DQN/PPO après merge de #16811, comme annoncé.
[Hermes hermes-pr-review, cycle :04 19/09, host c92df397a786]
Path-collision (organ #13359/#13615)Cette PR #16812 (
|
|
[ADJOINT PREFLIGHT] Dossier de prevalidation tierce (gate #16907, Phase 4, dispatch ai-01 01:01Z — lot QC po-2026). Empreinte recalculee en DERNIER, head re-verifie 02d5eda juste avant, ce post est la derniere action sur cette PR. Verifications firsthand au head exact 02d5eda
Disposition : READY. Aucun merge, APPROVED ou CHANGES_REQUESTED effectue ici. |
|
[ADJOINT PREFLIGHT] |
… main (#16812) Conflit de contenu sur QC-Py-34-RL-SAC-A2C-Trading.ipynb : les DEUX cotes livraient le determinisme #16795 sur ce notebook (main via #16812 merge aujourd'hui : warn_only=True + CUBLAS avant import torch + re-exec GPU + resync narrative 30 remplacements ; cette branche : mode STRICT sans warn_only + re-exec GPU avec resultats differents). Comparaison cell-by-cell : seules 6 cellules different (5 setup + 5 narratives), 44/50 sources identiques — meme intention, livraisons paralleles de la meme lane. Resolution : version MAIN (mergee = canonique, run coherent source+outputs+prose) ; le delta STRICT de la branche sur 34 est ecarte en faveur du canon et signale en commentaire PR pour arbitrage/follow-up. QC-Py-32/33 + best_dqn/ppo_model.pt (contenu distinct de la PR, jamais touche par main) conserves byte-identiques. Catalogue byte-identique a main. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…1/32, research_rl_grpo) (#17482) * fix(qc,#16795): determinisme GPU strict — residu non couvert (QC-Py-31/32, research_rl_grpo) Three notebooks from the closed QC determinism series whose re-executed states were NOT covered on main (arbitrage c.38 volet QC, DM po2026-arb-16795-qc-volet) : main already carries the same fixes for QC-Py-22/23/24/33/34 + 6 research via #16803/#16806/#16807/#16811/#16812/#16815/#16816/#16818/#16822/#16823/#16824. Cherry-picked states from the retained branches feature/16795-qcdet-pr{A,B,C}. C.2: execution_count+outputs coherents (17/17, 15/15, 7/7), 0 error, 0 NotImplementedError; machine attestee dans les sorties (PyTorch 2.6.0+cu124, device cuda, NVIDIA RTX 3080 Ti; GRPO 4 seeds pour research_rl_grpo). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * ci: force fresh pull_request event (body Diagnostic derive kernel ajoutee) --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…1/32, research_rl_grpo) (#17482) * fix(qc,#16795): determinisme GPU strict — residu non couvert (QC-Py-31/32, research_rl_grpo) Three notebooks from the closed QC determinism series whose re-executed states were NOT covered on main (arbitrage c.38 volet QC, DM po2026-arb-16795-qc-volet) : main already carries the same fixes for QC-Py-22/23/24/33/34 + 6 research via #16803/#16806/#16807/#16811/#16812/#16815/#16816/#16818/#16822/#16823/#16824. Cherry-picked states from the retained branches feature/16795-qcdet-pr{A,B,C}. C.2: execution_count+outputs coherents (17/17, 15/15, 7/7), 0 error, 0 NotImplementedError; machine attestee dans les sorties (PyTorch 2.6.0+cu124, device cuda, NVIDIA RTX 3080 Ti; GRPO 4 seeds pour research_rl_grpo). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * ci: force fresh pull_request event (body Diagnostic derive kernel ajoutee) --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Grain: DEEP/qc -- lane myia-po-2026:CoursIA -- prev: DEEP/qc #16811
QC-Py-34 : déterminisme rendu effectif + re-exécution GPU + resync narrative intégrale
Tranche 6/13 du volet QuantConnect de #16795. Candidat re-vérifié firsthand : seed 42 posé (cellule 5, avec
cuda.manual_seed), AUCUN réglage de déterminisme. Changement de device : l'ancienne exécution committée tournait sur stack étrangère CPU (PyTorch 2.11.0+cpu) — cette PR l'exécute sur GPU local déterministe.Le fix (cellule 5, site du seed)
Preuve d'exécution (C.2)
Les chiffres — le run inverse les rôles, la prose suit
mainactuel. Dépendance post-fix(qc,#16795): QC-Py-33 determinisme GPU + resync narrative complete (comparaison DQN/PPO inversee) #16811 : une fois la PR fix(qc,#16795): QC-Py-33 determinisme GPU + resync narrative complete (comparaison DQN/PPO inversee) #16811 (nouvelles valeurs PPO) mergée, ces littéraux (0.645/+34.6/−27.20) seront périmés relativement aux outputs de Py-33 — re-synchronisation à prévoir dans une PR de suivi dédiée après merge (hors scope de cette tranche).Périmètre
1 fichier,
QC-Py-34-RL-SAC-A2C-Trading.ipynb.SOTA
SOTA-OK : vrai PyTorch, vrai GPU local (SAC+A2C entraînés 6,6 min), kernel documenté, sorties réelles, aucun workaround.
See #16795 (contribution partielle — volet QC ; 7 FIX_CANDIDATE restants)
🤖 Generated with Claude Code