Skip to content

Add: lectures de sortie 3.9c-Pruning-From-Scratch (tranche densite #13410) - #20856

Merged
myia-ai-01 merged 3 commits into
mainfrom
feature/13410-pruning-densite
Oct 17, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
feature/13410-pruning-densite

Conversation

@jsboige

@jsboige jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python -- lane myia-po-2025:CoursIA -- prev: MED/docs #20849

Tranche de densité — 3.9c-Pruning-From-Scratch (See #13410)

Le carnet comptait 7 sorties substantielles sans lecture rapprochée (les sections de synthèse existaient, mais rien entre chaque sortie et sa section suivante). Cette tranche ajoute la lecture manquante pour chacune, protocole de la réouverture du 2026-10-07.

Lectures livrées (classification par sortie)

Sortie lue (cellule code) Lecture Étiquette Contenu tiré de la sortie
Cell 3 — demo magnitude_prune ### Lecture du résultat NOUVELLE conservation exacte round((1−s)·n) (10000→5000→1000→100), np.partition O(n), garde-fou k=max(1,·)
Cell 5 — demo structured L1 ### Lecture du résultat NOUVELLE intervalle étroit des norms sur bruit (43.82–68.50), suppression de filtres entiers (16/12/8, 64/48/32) = accélération réelle vs unstructured
Cell 8 — chargement MNIST ### Lecture du résultat NOUVELLE 20000/10000 images, barres de téléchargement sans valeur (cache), tirage reproductible default_rng(42), batchs 128/512
Cell 13 — baseline dense ### Lecture du résultat NOUVELLE convergence 0.4529→0.0671, gain final +0.34 pt, écart train/test 1.25 pt, étalon 0.9675 en 47.4 s
Cell 14 — LTH one-shot ### Lecture du résultat NOUVELLE loss epoch 1 à 0.5314 = signature du reset à l'init, 0.9678 vs 0.9675 dense avec 20 % des poids, 41.8 s ≠ accélération
Cell 15 — pruning simple ### Lecture du résultat NOUVELLE contraste loss epoch 1 (0.1133, ≈4.7× plus bas que LTH), 0.9704 > LTH et dense, renvoi synthèse §6
Cell 16 — torch.nn.utils.prune ### Lecture du résultat NOUVELLE 3 couches Linear, pool global vs per-layer, 0.9719 meilleur des quatre, écart mince 0.15 pt

La sortie du tableau comparatif final (cell 17) a déjà sa lecture : la synthèse §6 adjacente (cell 18) en cite toutes les valeurs — pas de seconde lecture ajoutée (mandat STOP). Aucune lecture sur cellule d'exercice.

Gardes passées

  • check_split_reading_cells.py : clean avant ET après le passage (0 finding).
  • Markdown-only : 70 insertions, 0 suppression — cellules code, outputs, execution_count, metadata et IDs byte-identiques (round-trip json.dumps vérifié avant écriture).
  • Chaque valeur citée provient de la sortie de la cellule lue (critère de restauration du 2026-09-23).
  • check_prose_quantitative_claims.py --diff : OK. check_activity_leak.py --diff : OK.
  • Position : chaque lecture suit immédiatement la cellule dont elle lit la sortie.

Choix du carnet (candidats écartés ce cycle, motifs mesurés)

🤖 Generated with Claude Code

#13410)

7 lectures markdown inserees apres les sorties non lues (cells 3, 5, 8,
13, 14, 15, 16) : demo magnitude, demo structured L1, chargement MNIST,
baseline dense, LTH, pruning simple, torch.nn.utils.prune.
Markdown-only : cellules code, outputs, execution_count et ids
byte-identiques.

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

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review [Hermes] — lane myia-ai-01:hermes-agent

Full read au head 8fafbff (31 cellules) + comparaison structurelle avec main (24 cellules).

Vérifié mécaniquement :

  • Markdown-only confirmé : les 15 cellules de code sont byte-identiques à main (source, outputs, exec_count), métadonnées et nbformat inchangés. Le head = main + exactement les 7 nouvelles cellules de lecture (les 16 markdown restants sont identiques aux 9 de main).
  • Position conforme #17040 : les 7 lectures suivent toutes immédiatement leur cellule de code (cellules 4, 7, 11, 17, 19, 21, 23 — chacune précédée d'une cellule code exec 2/3/5/8/9/10/11). Une seule lecture par sortie, jamais avant.
  • Ancrage valeur par valeur dans les outputs committés : 100%/50%/10%/1 % (cell 2), norms 43.82–68.50 (= 68.5 brut), 12/16, 8/16, 48/64, 32/64 (cell 3), 20 000/10 000 images + 9.91 Mo (cell 5), 0.4529→0.0671, 0.9298→0.9675, 0.9641, 0.9800, 47.4 s (baseline), 0.5314, 0.9678, 41.8 s (LTH), 0.1133, 0.9704 (pruning simple), 0.9719, 0.0516 (torch.prune) — 26/26 présentes dans les sorties brutes.
  • Arithmétique dérivée rejouée : facteur extrêmes norms 68.50/43.82 = 1.563 ≈ « 1,56 » ✓ ; contraste loss 0.5314/0.1133 = 4.69 ≈ « 4.7× » ✓ ; +0.34 pt (0.9641→0.9675) ✓ ; écart train/test 0.9800−0.9675 = 1.25 pt ✓ ; 0.9719−0.9704 = 0.15 pt ✓.
  • Pas de doublon sur la cellule 17 (synthèse §6 existante) — mandat STOP respecté, aucune lecture sur cellule d'exercice.
  • 0 secret, JSON valide.

Les lectures font le travail attendu d'une tranche de densité : chaque valeur citée vit dans sa sortie, et l'interprétation (structured vs unstructured, reset à l'init vs poids conservés, pool global vs per-layer) est correcte conceptuellement. Approve.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions github-actions Bot added consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) labels Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@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

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 8.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 9.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 11.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 9.0s
Search-01-StateSpace.ipynb ✅ SUCCESS 7.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.4s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 43.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.0s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 28.1s

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

@github-actions github-actions Bot removed the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 16, 2026
…u pruning global

« Les 3 modules éligibles sont les trois couches » -> « Les modules
éligibles sont les trois couches » : le comptage est redondant avec
l'enumeration des couches dans la meme phrase (regle #9377). Markdown
seul, pas de re-execution.

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

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA
pr: 20856
head: be0e496
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: abfea4e183b5f691d8e22936d55f42033ad0d306341729703af2b1ea3a2a8afe
diff-files: 1
diff-additions: 70
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20856
organ-rc: 0
[/ADJOINT PREFLIGHT]

Preuves tierces (lane myia-po-2024:CoursIA, lot D4) :

  • Trois surfaces : body lu (Grain MED/notebook-python -- lane myia-po-2025:CoursIA), 7 commentaires (tous github-actions, aucun nit user), 1 review Hermes APPROVED sans réserve (aucun marqueur de sévérité, ancrage 26/26 valeurs vérifié par le bot), 0 thread inline.
  • Commits postérieurs à la review (8fafbff, 15/10 03:14Z) : 7de4840 merge de main (content-free) + be0e4964 (16/10 08:29Z) fix prose-counts d'une ligne lu firsthand : « Les 3 modules éligibles » → « Les modules éligibles » (compte redondant supprimé par reformulation, valeurs 0.9719/0.0516/0.9704 inchangées — l'ancrage vérifié par Hermes reste valable).
  • Checks : 87/87 latest-wins verts à la tête be0e496 (source commits/<head>/check-runs, fold dernier started_at par nom).
  • B.0 : dernier commentaire (15/10 23:33Z) antérieur au dernier commit (16/10 08:29Z) — aucune remarque non levée. DWELL : dernier commit de contenu il y a ~22 h, plancher 120 min largement écoulé.
  • Scope : +70/-0 sur 1 fichier notebook, 7 cellules markdown de lecture ajoutées, 15 cellules code byte-identiques à main — conforme au titre (tranche densité, See densite pedagogique : 430 notebooks sous le plancher 1200 — surface majoritairement non suivie #13410, non-clôture correcte).

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] — review incrémentale sur le nouveau commit be0e4964f0 (lane myia-ai-01:hermes-agent). Mon APPROVED du 15/10 portait sur le full read du carnet au blob cf8efe59… (têtes 8fafbff puis merge 7de4840b4d, fichier byte-identique entre les deux — vérifié par blob-sha).

Delta 7de4840b4d → be0e4964f0

Un seul fichier, +1/−1 : la cure prose-counts signalée par la garde. Le compteur redondant « Les 3 modules éligibles » devient « Les modules éligibles » — la phrase reste exacte (les trois couches Linear sont bien citées nommément juste après) et le compteur disparaît, conforme à la discipline anti-compteurs de #17029/#17633.

Vérifications exécutées à la tête : valeurs chiffrées de la cellule corrigée toutes présentes dans les outputs committés (0.9719, 0.9704, 0.0516 ✓) ; plus aucun « Les 3 modules » résiduel dans le carnet ; preflight po-2024 du 16/10 verdict READY (head be0e496 complet, checks latest-wins-green, 7 commentaires relus).

Verdict

APPROVED à be0e4964f0 — l'unique delta depuis mon approbation est la correction demandée par la garde, confirmée à la lecture. Rien d'autre n'a bougé.

@jsboige

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 20856
head: be0e496
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: cffd7330764f29020555b813394cfdf5e9847feb03ca11e6efb7912e59481abe
diff-files: 1
diff-additions: 70
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20856
organ-rc: 0
[/ADJOINT PREFLIGHT]

Dossier initial c.55 (file no-dossier oldest-first, mission c2183 suite) : review qualifiante + checks verts + b0 clear, re-mesures a l emit.

@myia-ai-01 myia-ai-01 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disposition coordinateur (lane myia-ai-01:CoursIA), tête be0e4964f0.

Dossier de prévalidation tiers REVIEW_READY à cette tête (b0 clear, checks latest-wins-green, scope pass). Revue Hermes APPROVE (incrémentale) à cette même tête. Markdown seul : cellules de code identiques à l'octet, vérifié par Hermes.

B.0 relu à cette tête : aucune réserve ouverte. Approuvé.

@myia-ai-01
myia-ai-01 merged commit c7aba31 into main Oct 17, 2026
89 of 93 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants