Skip to content

fix(pt11c,#13871): re-route OUTPUT_DIR under _measurements/ to preserve #13738 relocation - #13891

Closed
jsboige wants to merge 4 commits into
mainfrom
cycle-32-pioche
Closed

jsboige wants to merge 4 commits into
mainfrom
cycle-32-pioche

Conversation

@jsboige

@jsboige jsboige commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Summary

Avant cette PR, la cellule 4 (pt11c-switch) du notebook PT_11c_grpo_qwen17_rlvr.ipynb définissait :

OUTPUT_DIR = "./pt11c_multiseed_output"

Le OUTPUT_DIR écrivait donc à la racine du notebook, en dehors du dossier _measurements/ créé par le commit #13738 (e30dd5c) pour accueillir les artefacts de mesure des notebooks PostTraining. Conséquence : chaque exécution du notebook défait le rangement V1 safe-tier cleanup (les seed_*/ checkpoints LoRA apparaissent dans git status à la racine du notebook), et le pt11c_per_seed_metrics.jsonl n'est pas committé comme provenance (puisqu'il atterrit hors de _measurements/).

Voie A retenue (Option A de l'issue #13871)

Repointer OUTPUT_DIR vers un sous-dossier _measurements/pt11c_multiseed_output/, à côté de l'archive canonique _measurements/pt11c_per_seed_metrics.jsonl (déjà trackée sur main par #13738). Le path est calculé en absolu dans cell 4, en remontant depuis Path(os.getcwd()) jusqu'à 3 niveaux — tolérant aux cwd Papermill (cwd = notebook folder) ET nbclient (cwd = worktree root), ce qui couvre les deux modes d'exécution du dépôt.

_OUTPUT_DIR_REPO_ROOT = Path(os.getcwd())
for _ in range(4):
    _candidate = _OUTPUT_DIR_REPO_ROOT / "_measurements"
    if _candidate.exists() and _candidate.is_dir():
        break
    _OUTPUT_DIR_REPO_ROOT = _OUTPUT_DIR_REPO_ROOT.parent
else:
    _OUTPUT_DIR_REPO_ROOT = Path(os.getcwd())

OUTPUT_DIR = str(_OUTPUT_DIR_REPO_ROOT / "_measurements" / "pt11c_multiseed_output")

Fichiers modifies

Fichier Nature du changement
MyIA.AI.Notebooks/GenAI/PostTraining/PT_11c_grpo_qwen17_rlvr.ipynb Cellule 4 (source + outputs re-executes), cellules aval : outputs restaures depuis origin/main (les metadata iopub.execute_input etc. ont ete re-timestampes par nbclient, pas de changement semantique)
.gitignore Pattern MyIA.AI.Notebooks/GenAI/PostTraining/_measurements/pt11c_multiseed_output/ (anti-pollution des seed_*/ checkpoints LoRA ; le JSONL re-generable reste tracke dans _measurements/, voir #13738)

Pourquoi Option A plutot que Option B

L'issue #13871 proposait deux remedes :

  • Option A : repointer OUTPUT_DIR (cette PR) — un seul passage, rangement durable, archive preservee comme provenance
  • Option B : deplacer les artefacts a posteriori via un script post-run — deux passages (run + script), drift possible entre l'execution et le deplacement

Option A est la voie qui rend le rangement durable sans dependre d'un script externe. Le cout (re-execution GPU) n'est PAS un cout de cette PR — la prochaine execution ecrira naturellement au bon endroit. L'archive existante a _measurements/pt11c_per_seed_metrics.jsonl (8 lignes, run precedent 1.7B+2B) est preservee comme provenance ; le JSONL re-genere aura le meme chemin logique et ecrasera l'archive au prochain run (acceptable : re-generable, voir git grep pt11c_per_seed_metrics qui montre que le fichier n'a aucun consommateur externe autre que le notebook lui-meme).

Verification firsthand

$ git grep pt11c_per_seed_metrics
MyIA.AI.Notebooks/GenAI/PostTraining/PT_11c_grpo_qwen17_rlvr.ipynb:metrics_path = _Path(OUTPUT_DIR) / "pt11c_per_seed_metrics.jsonl"
MyIA.AI.Notebooks/GenAI/PostTraining/PT_11c_grpo_qwen17_rlvr.ipynb:metrics_path = Path(OUTPUT_DIR) / "pt11c_per_seed_metrics.jsonl"
MyIA.AI.Notebooks/GenAI/PostTraining/_measurements/pt11c_per_seed_metrics.jsonl:8 lignes (archive trackee)

Le seul consommateur du JSONL est le notebook producteur lui-meme (in-memory apres load) — c'est un artefact re-generable, pas une mesure de reference externe.

$ git check-ignore -v MyIA.AI.Notebooks/GenAI/PostTraining/_measurements/pt11c_multiseed_output/seed_0/test.txt
.gitignore:1003:MyIA.AI.Notebooks/GenAI/PostTraining/_measurements/pt11c_multiseed_output/    MyIA.AI.Notebooks/GenAI/PostTraining/_measurements/pt11c_multiseed_output/seed_0/test.txt

Le pattern .gitignore est strictement ancre dans _measurements/ (pas de risque de collision avec des fichiers au nom pt11c_multiseed_output ailleurs dans le depot).

Outputs cell 4 + cell 22 (re-executes)

$ python .tmp_cycle32_reexec.py
...
--- Cell pt11c-switch ---  execution_count=2, outputs=1
[stream] LOAD_MODEL_AND_TRAIN = False | OUTPUT_DIR = C:\dev\CoursIA-cycle-32\MyIA.AI.Notebooks\GenAI\PostTraining\_measurements\pt11c_multiseed_output | ...

--- Cell pt11c-training ---  execution_count=11, outputs=1
[stream] Mode CPU-safe : training skip, mais JSONL détecté.
Chargé 8 seeds depuis C:\...\MyIA.AI.Notebooks\GenAI\PostTraining\_measurements\pt11c_multiseed_output\pt11c_per_seed_metrics.jsonl
  seed=0: t_train=1829s, vram_peak=3.46Go, ...
  ... (8 seeds, 1.7B + 2B, run precedent)

Les 8 seeds archives sont lus correctement depuis le nouveau path. Cell 22 reaffirme que le mode CPU-safe est operationnel meme avec le nouveau routage.

Acceptance issue #13871

Lien avec cycles precedents

Grain: MED/tooling - lane myia-po-2026:CoursIA - prev: tooling #13842 cycle 30.
paths: .gitignore, MyIA.AI.Notebooks/GenAI/PostTraining/PT_11c_grpo_qwen17_rlvr.ipynb

Closes #13871
See #13738, #13829

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 10.5s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 12.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 16.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 15.1s
Search-1-StateSpace.ipynb ✅ SUCCESS 9.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.7s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 49.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 7.5s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #13891 (fix(pt11c,#13871): re-route OUTPUT_DIR under _measurements/ to preserve #13738 relocation) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@github-actions github-actions Bot added the variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) label Aug 31, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Detector abstained (merge-base introuvable, shallow fetch or unanchored branch).

c.415 (#11873): scope = notebooks CHANGED in this PR, not the whole corpus.
See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 pathologie.

@github-actions github-actions Bot added the lane-claim-absent Closing issue carries no claim at all (#10223) label Aug 31, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 15
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2026:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-02) :

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 variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@jsboige

jsboige commented Sep 2, 2026

Copy link
Copy Markdown
Owner Author

→DELIVERED PR #14272 (cycle 178) — fix(pt11c,#13891): basename OUTPUT_DIR/metrics_path in cell 4+22 prints.

Cause triage (C) source-leak : cell 4 et cell 22 imprimaient le path absolu du worktree (C:\dev\CoursIA-cycle-32\...) dans 4 prints. Source patch : Path(...).name dans les 4 prints concernes (cell 4: 1, cell 22: 3). Outputs re-exec simules CPU-safe (cell 22 = branche else car JSONL absent dans worktree).

Verif : python scripts/notebook_tools/check_output_failure_text.py origin/main -> base origin/main -> merge-base 44cb92406865 | 1 changed notebooks | 0 regressed.

Stop & Repair respecte (secrets-hygiene rule 6) : pas de hand-edit d'output, source corrigee d'abord puis outputs regenres. Lane myia-po-2026:CoursIA. Light/guard tier.

#13738 relocation

Before: cell 4 (pt11c-switch) defined `OUTPUT_DIR = "./pt11c_multiseed_output"`,
which wrote per-seed metrics + LoRA checkpoints outside the canonical
`_measurements/` provenance area committed in #13738 (e30dd5c). Every run
defeated the V1 safe-tier cleanup by re-polluting the notebook's parent
directory.

After: cell 4 resolves `OUTPUT_DIR` to a sibling of `_measurements/` (the
canonical archive folder for PostTraining measurements) by walking up from
`Path(os.getcwd())` up to 3 levels. The path is **absolute** and works under
both Papermill (cwd=notebook folder) and nbclient (cwd=worktree root).

Co-located changes:
- `.gitignore` : add `MyIA.AI.Notebooks/GenAI/PostTraining/_measurements/pt11c_multiseed_output/`
  so per-run `seed_*/` LoRA checkpoints (multi-MB, not re-generable in the
  same form) stay untracked local scratch. The `pt11c_per_seed_metrics.jsonl`
  archive remains tracked in the sibling `_measurements/` directory.
- Cell 22 (pt11c-training) and CPU-safe mode : paths now resolved at runtime
  via `Path(OUTPUT_DIR) / "..."`. The 8-seed archive (1.7B + 2B, run precedent)
  is preserved as provenance; a re-run will overwrite the JSONL (re-generable)
  but never the source.
- Cell 22 outputs re-executed and updated to reflect the new path
  (`_measurements\pt11c_multiseed_output\pt11c_per_seed_metrics.jsonl`).
- Other cells' outputs restored from origin/main (nbclient re-execution
  re-timestamped `iopub.execute_input` etc., no semantic change).

Pre-commit : 10/10 hooks passed (gitleaks, H.3 exec_count, #13326 compile,
papermill scrub, .NET banner strip, etc.).

Grain: MED/tooling - lane myia-po-2026:CoursIA - prev: tooling #13842 cycle 30.
paths: .gitignore, MyIA.AI.Notebooks/GenAI/PostTraining/PT_11c_grpo_qwen17_rlvr.ipynb

Closes #13871
See #13738, #13829
…het papermill/exec-seq)

Le carnet portait les outputs d une re-execution cellule-par-cellule en
noyau chaud : le bloc metadata.papermill decrivait encore le run precedent
(ratchet). Un passage complet fresh kernel (papermill 2.6.0, kernel python3,
cwd = racine du worktree, mode par defaut : LOAD_MODEL_AND_TRAIN=False,
metriques multi-seed rechargees depuis _measurements/pt11c_multiseed_output)
reecrit le bloc et la sequence complete.

Verification : execution_count 1..15 strictement croissants sans doublon,
0 error output, metadata.papermill end_time 2026-09-03T11:47:32 (frais).
Cellules source inchangees (0 changement de source).

Co-Authored-By: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 3, 2026
…apermill ratchet remedy)

- full pass kernel python3, 15 code cells, exec sequence 1..15 strictly
  increasing, no duplicates, zero errors, papermill exception=None (12.9s)
- read mode (LOAD_MODEL_AND_TRAIN=False): JSONL detected, 8 seeds loaded,
  full DM analysis ran (Edge cross-seed mean=0.1148, std=0.0059,
  edge=19.33 sigma; DM pooled n=80 dm_stat=29.5486)
- references the per-seed measurements JSONL under worktree-local
  _measurements/ (gitignored, #13738 relocation preserved)
- merges origin/main (base refresh) before the pass

See #13891

Co-Authored-By: Claude-Code <noreply@anthropic.com>
…aded run repaired)

- previous commit f70eeab ran degraded: JSONL not found, DM analysis
  skipped (wrong cwd for the _measurements walk-up)
- redo from worktree root cwd with per-seed JSONL staged at
  _measurements/pt11c_multiseed_output/: 8 seeds loaded, full DM analysis
  ran (Edge cross-seed mean=0.1148, std=0.0059, edge=19.33 sigma;
  DM pooled n=80 dm_stat=29.5486)
- exec sequence 1..15 strictly increasing, no duplicates, zero errors,
  papermill exception=None (14.3s, kernel python3)

See #13891

Co-Authored-By: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 3, 2026
…tebook

Le ratchet MACHINE_PATH ne scanne que les SORTIES de cellules. Cette PR les a
nettoyees (cellules 4 et 22, verdict `0 regressed`), mais le notebook portait
encore le meme chemin dans une cle de metadata au niveau document :

  metadata.path = C:\dev\CoursIA-cycle-32\MyIA.AI.Notebooks\GenAI\PostTraining

Mesure de la classe sur main : 0 notebook sur 1234 porte un `metadata.path`
machine. La cle n'existe pas en amont -- la merger l'y introduirait pour la
premiere fois, sous un ratchet vert qui ne la voit pas.

Retrait de metadata, PAS d'une sortie : c'est la classe que secrets-hygiene
regle 6 autorise a normaliser a la main, au meme titre que
metadata.papermill.input/output_path. La preuve d'execution est intacte --
sources, sorties et execution_count des 34 cellules verifies byte-identiques,
et le bloc papermill (passe du 2026-09-03T12:20Z, exception: null) est conserve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 3, 2026
…tecteur LIVE restaure)

La passe precedente tournait sur une machine sans `rewardspy` -- paquet
GitHub-only (AvAdiii/rewardspy), absent de PyPI, ce que la note d'en-tete du
notebook documente deja. Le fallback no-op est donc une voie CPU-safe prevue,
pas une improvisation ; mais committer sa sortie remplacait sur `main` deux
lignes de compte-rendu par leur version degradee :

  cell 2  : rewardspy 0.1.0            -> rewardspy : NOT INSTALLED
  cell 16 : rewardspy.watch_trl (live) -> no-op wrapper (rewardspy absent)

Sur un notebook RLVR, la cellule 16 EST le sujet : consacrer « detecteur de
reward hacking = no-op » aurait ete la regression que sota-not-workaround
Prong A nomme, avec un verdict RECOVERABLE-MACHINE non tente.

Re-execution end-to-end sur ai-01, env `coursia-ml-training` (rewardspy 0.1.0,
trl 1.9.2 -- la meme que la passe de `main`), papermill 2.7.0, cwd = racine du
depot. Aucun training : `LOAD_MODEL_AND_TRAIN = False` est en dur dans la
cellule 4, le garde `if LOAD_MODEL_AND_TRAIN and CUDA_AVAILABLE:` reste ferme
malgre le CUDA disponible -- verifie avant de lancer quoi que ce soit ici.

Mesures sur la sortie obtenue :
  - 15 cellules code, 0 erreur, 0 execution_count nul
  - 0 chemin machine sur TOUTE surface (sources, sorties, metadata) -- le
    `metadata.path` retire au commit precedent n'est pas revenu
  - 0 cellule portant un marqueur de degradation absent de `main`
  - les 8 seeds restent identiques (memes t_train / vram_peak / loss) : ils
    viennent du JSONL tracke, la re-execution ne les recalcule pas
  - ratchet `check_output_failure_text.py origin/main` : 0 regressed

`pt11c_reward_curves.png` est regenere par cette meme passe : le laisser en
l'etat l'aurait date du run precedent.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 3, 2026
…avec rewardspy (#14272)

Trois changements sur PT_11c_grpo_qwen17_rlvr.ipynb, dans cet ordre :

1. correctif du leak MACHINE_PATH (#13891) : `.name` sur les prints des
   cellules 4 et 22, plus la relocalisation d'OUTPUT_DIR sous _measurements/
   (#13738) -- ~22 lignes que le body d'origine decrivait a tort comme
   "0 modification de logique", releve par clusterManager-Myia et corrige ;
2. retrait de `metadata.path` (C:\dev\CoursIA-cycle-32\...), chemin machine
   hors du champ scanne par le ratchet -- angle mort suivi en #14513 ;
3. re-execution papermill sur une machine porteuse de rewardspy, qui restaure
   `rlvr_reward_func : rewardspy.watch_trl (live detection)` la ou la passe
   precedente aurait consacre `no-op wrapper (rewardspy absent)` sur un
   notebook RLVR (verdict RECOVERABLE-MACHINE, cf sota-not-workaround Prong A).

Tete verifiee : 15 cellules code, 0 erreur, 0 execution_count nul, 0 chemin
machine sur toutes surfaces, 0 marqueur de degradation absent de main,
8 seeds identiques a main, ratchet 0 regressed, validate_pr_notebooks PASS.
Aucun training n'a tourne (LOAD_MODEL_AND_TRAIN = False en dur).

See #13891
@myia-ai-01

Copy link
Copy Markdown
Collaborator

[ai-01] Fermee comme superseded par #14272, mergee il y a quelques minutes.

Les deux PRs partaient de branches divergentes (cycle-32-pioche ici, fix/13891-fastlane la-bas) et touchaient les deux memes fichiers. J'ai compare leurs contenus, pas leurs historiques :

Ce qui a departage n'est pas l'anciennete mais la cause. Cette PR a recu deux passes papermill aujourd'hui et est restee rouge les deux fois : elle re-executait sans corriger la source, donc chaque passe re-emettait le chemin machine. #14272 a patche la source d'abord ; sa passe est sortie propre.

Les deux portaient par ailleurs metadata.path = C:\dev\CoursIA-cycle-32\... -- un chemin machine que le ratchet certifiait vert, parce que MACHINE_PATH_PATTERNS n'est applique que dans la boucle sur les outputs. Retire cote #14272 ; l'angle mort du garde est suivi en #14513.

La branche cycle-32-pioche n'est pas supprimee : elle reste disponible si un element de ce fil devait etre repris.

L'issue #13871 que cette PR visait est traitee par le merge de #14272 -- je la ferme separement avec sa propre mesure.

@myia-ai-01 myia-ai-01 closed this Sep 3, 2026
myia-ai-01 pushed a commit that referenced this pull request Sep 5, 2026
…#14762)

* fix(guard,#14513): le ratchet MACHINE_PATH voit aussi les metadonnees

Le garde derriere "Output-failure ratchet (base vs PR)" ne scannait que
les SORTIES de cellules : un chemin machine loge dans metadata.path (ou
toute cle de metadata, niveau document ou cellule, dont la valeur est une
chaine) passait sous un check vert. Fondation #14272/#13891 : le ratchet
est passe a "0 regressed" sur PT_11c avec metadata.path =
C:\dev\CoursIA-cycle-32\... toujours present, retire a la main en
109cf4e avant merge.

Extension :
- metadata_texts() releve toute valeur de metadata STRING (document +
  cellule), sans liste blanche de noms de cles -- la prochaine cle qu'une
  re-execution leake est vue des sa premiere apparition.
- scan() applique MACHINE_PATH_PATTERNS a ces surfaces. MACHINE_PATH
  seulement : une metadata ne porte pas de banniere de tool-failure.
- location des hits : "doc:<cle>" / "cell[<i>]:<cle>" a cote de l'index
  de cellule des hits de sortie (samples/gate inchanges par ailleurs).

Controles :
- Precaution 1 verifiee : 0 nouvelle accusation metadata sur les 1234
  notebooks de main (papermill.input/output_path sont repo-relative ou
  basename -> silencieux par construction).
- Positive control reel : replay c4b99a3 -> 109cf4e dans --self-test
  ("metadata-path hits 1 -> 0"), garde par cat-file comme le replay
  fondateur ; asserte doc:path vu a la base, absent au head.
- 7 tests unitaires sur le predicat etendu (17 passed au total).
- Replays fondateur (TOOL_FAILURE +18 / MACHINE_PATH +12) et downgrade
  #14603 inchanges : extension non-regressive.

Closes #14513

Co-Authored-By: Claude-Code <noreply@anthropic.com>

* fix(guard,#14513): imprimer la localisation metadata verbatim au lieu de l'envelopper

Point cosmetique leve par la review Hermes de #14762 : l'imprimeur FAIL
prefixait systematiquement `cell[...]`, alors que `metadata_texts()` produit
deja son propre label de localisation. Un hit metadata de document sortait
donc `cell[doc:path]`, et un hit metadata de cellule `cell[cell[3]:papermill]`
-- doublement enveloppe. Lisible, mais mal etiquete, et c'est precisement la
sortie qu'un mainteneur lit pour situer une fuite.

`_sample_location()` trie sur le type : un index de cellule entier (hit
d'output) reste `cell[7]` ; une chaine (hit metadata) est imprimee verbatim.
Aucun changement de detection ni de comptage -- `compare()` consomme
`len(h[cls])`, agnostique au type.

2 tests, avec controle negatif verifie : sans le tri, les deux rougissent
(mesure locale, 2 failed / 17 passed), et le second controle porte sur les
localisations REELLES rendues par `scan()`, pas sur des litteraux -- il
assure qu'aucune sortie ne contient `cell[cell[` ni `cell[doc:`.

Suite complete : 19 passed.

---------

Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Oct 5, 2026
…ecution reelle 4 seeds x 2 tailles sur RTX 3090

- logging_steps 5 -> 4 : 25 pts/seed >= 22 requis, DM intra-seed calculable
- re-execution complete 2026-10-05 : 4 seeds x {1.7B, 2B}, 14 725 s cumulees, 0 alerte reward-hacking
- verdict mesure les deux tailles : MECANISME_REPRO (edge 12.68 sigma / 16.41 sigma, intra p = 0.826 / 0.632)
- prose alignee sur le GPU reel (RTX 3090 24 GB, probe re-mesure) ; wallclock/VRAM depuis le JSONL
- cellule diagnostic : les 2 defauts -> CAUSE_FIXED par re-execution (C.4)
- affichage basename output_dir/figure : machine-path safe (#13891)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jsboige
jsboige deleted the cycle-32-pioche branch October 6, 2026 00:03
myia-ai-01 pushed a commit that referenced this pull request Oct 7, 2026
…écution réelle 4 seeds × 2 tailles (RTX 3090) (#19394)

* fix(#14833): decideur intra-seed calculable -- logging_steps=4, re-execution reelle 4 seeds x 2 tailles sur RTX 3090

- logging_steps 5 -> 4 : 25 pts/seed >= 22 requis, DM intra-seed calculable
- re-execution complete 2026-10-05 : 4 seeds x {1.7B, 2B}, 14 725 s cumulees, 0 alerte reward-hacking
- verdict mesure les deux tailles : MECANISME_REPRO (edge 12.68 sigma / 16.41 sigma, intra p = 0.826 / 0.632)
- prose alignee sur le GPU reel (RTX 3090 24 GB, probe re-mesure) ; wallclock/VRAM depuis le JSONL
- cellule diagnostic : les 2 defauts -> CAUSE_FIXED par re-execution (C.4)
- affichage basename output_dir/figure : machine-path safe (#13891)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(#14833): f3d9a2c1 reecrite depuis le JSONL de la tete -- plus de chiffres 4090, 8.19σ PT-11b insourcable retire (runs seed_*/ vides)

- Lecture chiffree : 1.7B 1626/1572/1637/1661 s (mediane 1631, ordre de passage sans effet, seed 1 le plus rapide) ; 2B 1895/2002/1951/2381 s (couloir 107 s sur 3 seeds, outlier seed 42 +26 %, pas de warm-up premier-seed) ; ratio median +21 % pour +18 % de parametres, alerts=0/8, vram_peak signature de la taille.
- 6 mentions '8.19σ PT-11b' remplacees par 'non archive' / MECANISME_REPRO : aucun artefact pt11b (_measurements seed_*/ vides, #10603 = issue de diagnostic, pas de JSONL pt11b).
- Cellules markdown uniquement (exception C.2).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane-claim-absent Closing issue carries no claim at all (#10223) variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PT_11c ecrit encore ./pt11c_multiseed_output — le rangement de #13829 sera defait au prochain run

2 participants