Repository navigation
fix(qc,#16795): QC-Py-23 determinisme GPU effectif + re-exec locale (stack etrangere 2.11.0) - #16807
Conversation
…U locale 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 locale, 17/17 cellules, 0 erreur). Metriques regenerees : l'ancienne execution provenait d'une stack etrangere (PyTorch 2.11.0+cu128) ; prose verifiee sans ancrage numerique stale (0 citation, seul claim theorique "avantage attendu" survit). Classement benchmark derive (LSTM 53.56% > Mamba 52.22% > Transformer 52.00% > SST Hybrid 49.56%) — les outputs committes font foi. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
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 PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Path-collision (organ #13359/#13615)Cette PR #16807 (
|
|
[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 #16806
QC-Py-23 : déterminisme rendu effectif + re-exécution GPU locale
Tranche 3/13 du volet QuantConnect de #16795. Note de triage : le notebook a été renommé sur main (
Attention-Transformers→State-Space-Models) ; la re-vérification firsthand confirme le candidat — seed 42 posé (cellule 4), AUCUN réglage de déterminisme, métriques réelles committées. Le triage initial avait aussi manquéQC-Py-23b(14e candidat, en file).QC-Py-32re-vérifié et EXCLU (aucun seed posé — hors pattern du fix #16795).Le fix (cellule 4, site du seed)
Même pattern que tranches 1 (#16803) et 2 (#16806).
warn_only= pédagogique (warning, pas un crash ; exécutable de bout en bout, C.1).Preuve d'exécution (C.2) — kernel documenté du notebook
Les chiffres — honnêteté complète
L'ancienne exécution committée provenait d'une stack étrangère (PyTorch 2.11.0+cu128, autre GPU : Mamba 49,5s vs 75,0s local). Les métriques dérivent en conséquence :
Périmètre
1 fichier,
QC-Py-23-State-Space-Models.ipynb(+260/−246, outputs régénérés inclus).SOTA
SOTA-OK : vrai PyTorch, vrai GPU local, kernel documenté (
coursia-ml-training), sorties réelles d'entraînement, aucun workaround.See #16795 (contribution partielle — volet QC ; 10 FIX_CANDIDATE restants dont QC-Py-23b découvert ce cycle)
🤖 Generated with Claude Code