Repository navigation
fix(qc,#16795): QC-Py-24 determinisme GPU effectif + resync prose (18 repl) - #16806
Conversation
…U + resync prose Cellule 4 (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, 21/21 cellules, 0 erreur). Prose resynchronisee sur les outputs : comparaison VAE (0.6276/0.7859 vs 0.5298/0.6457, -16%/-18%), backtest (+3.67%, Sharpe 0.77, MaxDD 4.47%, exposition 18.5%), taille ObjectStore 147.9 KB — 18 remplacements scriptes, assertion zero-residu. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
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
|
Path-collision (organ #13359/#13615)Cette PR #16806 (
|
|
[ADJOINT PREFLIGHT] |
…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>
… de la branche retenue
Les deux cotes corrigent le MEME defaut (+16795 : graine posee, aucun reglage de
determinisme) sur le MEME notebook, par deux formes differentes. Conflit
semantique, pas textuel -- sorti uniquement sur la cellule 4 (52 cellules des
deux cotes, une seule dont la SOURCE differe).
Forme retenue (branche) : `os.environ.setdefault('CUBLAS_WORKSPACE_CONFIG',
':4096:8')` pose AVANT `import torch` (l.16 vs l.17, mesure), puis
`use_deterministic_algorithms(True, warn_only=True)`.
- placement : le reglage doit preceder l'initialisation cuBLAS ; la forme de
main le pose APRES `import torch` (l'effet n'est alors pas etabli).
- `warn_only=True` : le motif des 12 autres tranches du volet #16795
(#16803/#16806/#16807) -- un motif strict ici ferait diverger cette tranche
du reste du volet.
Ce qui est ecarte, et pourquoi : la ligne `print("Determinisme: ...")` de main
n'est PAS greffee. Elle apparaitrait dans la sortie de la cellule 4 sans y avoir
ete produite (la sortie retenue est celle de l'execution de la branche) --
l'incoherence sortie<>code est precisement ce que C.2/H.1 interdisent, et la
corriger exigerait une re-execution GPU que cette lane n'a pas.
Ce que les deux cotes ont en commun et qui est preserve : la sortie de la
cellule 4 atteste la meme stack (PyTorch 2.6.0+cu124, RTX 3080 Ti Laptop) --
les deux cotes ont re-execute, aucun n'a committe un reglage sans execution.
Artefacts suivis : `transformer_multiasset_model.pt` et `training_curves.png`
ne sont touches que par cette branche (1 commit chacun ; main 0). La suppression
non committee du .pt presente dans le worktree a ete restauree avant la fusion
(`git checkout HEAD -- <pt>`, 17927888 octets) : elle contredisait le perimetre
annonce de la PR (regeneration, pas retrait) et sortait du sujet.
Preuve : JSON valide, 52 cellules, 17 cellules code toutes avec
execution_count et outputs (0 sans), 0 CRLF, 0 raise NotImplementedError /
assert False, fichier du notebook byte-identique a la tete de branche.
…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 #16803
QC-Py-24 : déterminisme rendu effectif + re-exécution GPU + prose resynchronisée
Tranche 2/13 du volet QuantConnect de #16795 (triage du 19/09 ; celui-ci re-vérifié firsthand — seed 42 sans AUCUN réglage de déterminisme, métriques réelles committées).
Le fix (cellule 4, site du seed)
warn_only= délibéré (pédagogique : un warning, pas un crash ; le notebook reste exécutable de bout en bout, C.1). Même pattern que la tranche 1 (#16803, QC-Py-22), appliqué au site du seed de ce notebook.Preuve d'exécution (C.2) — kernel documenté du notebook
Les chiffres — honnêteté complète
Périmètre
1 fichier,
QC-Py-24-Autoencoders-Anomaly.ipynb(+402/−304, outputs régénérés inclus). Guard markdown : 0 nouvelle violation ERROR sur ce fichier.SOTA
SOTA-OK : vrai PyTorch, vrai GPU local (RTX 3080 Ti), kernel documenté (
coursia-ml-training), sorties réelles, aucun workaround.See #16795 (contribution partielle — volet QC, 11 autres FIX_CANDIDATE en file)
🤖 Generated with Claude Code