Skip to content

feat(ict,#16747): ICT-41 geometrie des features SAE -- galaxy/atome/dense (R04 x R09) - #16859

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/16747-sae-geometrie-latent
Sep 21, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/16747-sae-geometrie-latent

Conversation

@jsboige

@jsboige jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python -- lane myia-po-2026:CoursIA -- prev: MED/gate #16847

Summary

Notebook ICT-41-SAE-GeometrieFeatures (strate 5) : les trois axes de la géométrie des features SAE mesurés sur les traces npz committées (harnais #10355), trained vs contrôle, deux lentilles (SAE Qwen-Scope et J-Lens, couche 16), banc numpy-only GPU-free. See #16747 (contribution principale ; les amendements F-Lens ICT-36/37 restent en prose Epic #15475, hors scope de cette PR).

Verdicts par axe (7)

Axe Verdict Preuve pivot
Galaxy REPLIQUE (pilote) pentes OLS −1,04/−1,08 trained vs −1,50/−1,78 contrôles ; CSN honnête (Hill α 2,0-2,6, KS ≤ 0,04, logLR pl-vs-exp +70 à +225)
Atome / cristaux CONTRASTE séparabilité split-half 68 % (ict21) / 0 % (ict24) trained vs 100 % contrôles — couche 16 contexte-dominante ; séparabilité contrôle = artefact de forme de surface
Distractors LDA NEGATIF (à cette échelle) tous en milieu d'axe (f 0,25-0,71), ancres 1|2 et Ġla|Ġle
PC1 = longueur PARTIEL +0,284 JLens trained (contrôles |r| < 0,03) mais 1,5 % de variance seulement
Dense / antipodalité REPLIQUE R09 deux méthodes indépendantes : proxy corrélation de colonnes (0 paire < −0,5 trained malgré le biais de censure top-k, vs 4 au contrôle ict21) + Eq 1 verbatim (médianes +0,01/+0,10 trained vs +0,63/+0,79 contrôles)
Position-tracking QUALITATIF-PARTIEL 24 vs 4 latents |ρ|>0,4 (ict21), 3 vs 0 (ict24), top ρ = 0,77 stable 20/20 échantillons
Entropie k-NN INCONCLUSIF directions opposées selon la lentille (12,90<13,10 SAE ; 15,15>14,49 JLens) — rapporté comme tel

Preuves d'exécution (C.2 / H.1 / D)

  • Papermill end-to-end : 37/37 cellules, exit 0, 6 min 10 s, kernel python3, cwd ICT-Series (deux passes : la 2e n'a touché que des cellules markdown d'interprétation → outputs de la passe 1 valides, exception C.2).
  • execution_count 1..12 séquentiel sur toutes les cellules code, outputs présents dont 2 figures png (spectre galaxy log-log par lentille, histogramme Eq 1).
  • validate_pr_notebooks.py origin/main <nb> : PASS 1/1 (12 cells) — EXEC_PROVED.
  • C.1 : grep -cE "raise NotImplementedError|assert False|1/0" = 0 (3 exercices en pass + TODO/Indice/Etapes).

Verdicts SOTA (sota-not-workaround, EPIC #3801)

  • Eq 1 R09 verbatim : SOTA-OK — implémentée sur le SAE CPU de l'organe existant ict/sae_dictionary.py (TopKSae, poids W_enc/W_dec accessibles), sous-espace des features actives fréquentes documenté (banc CPU : 512 features, k=16, seed 0) + caveat honnête de l'initialisation liée (W_enc = W_dec.T) qui gonfle le score du contrôle (cos² ≥ 0 à l'init).
  • Proxy sur traces officielles : biais de censure top-k documenté dans les garde-fous — mesurer zéro paire < −0,5 malgré le biais négatif est présenté comme le résultat fort.
  • Cible falsifiable « Qwen vs Gemma » : aucun Gemma dans traces/ (inventaire vérifié) — rapporté honnêtement dans la discussion ; la comparaison multi-échelle Qwen (1.7B layer14, 2B layer12 présentes) reste ouverte.
  • Bug attrapé par la discipline deux-passes (Sweep: cellules « Lire la sortie d'un exercice non rempli » — genre vide + divulgation (9 cellules, 3 notebooks) #16590) : la 1re exécution révélait des scores Eq 1 tous à +4,000 (diagonale non exclue du max : (−2)×(−2)=+4) — corrigé (fill_diagonal(P, -inf)) et ré-exécuté.

Amendement (b) : ict/sae_dictionary.py

L'organe existe déjà sur main (#15480, 303 lignes — l'arbre partagé local stale l'avait caché). Décision d'implémentation : le consommer (import TopKSae dans le volet Eq 1 verbatim) plutôt que créer un doublon — aucune duplication, la géométrie de mesure reste dans le notebook (démonstration pédagogique).

README

+1 ligne table strate 5 (après ICT-40b), marqueurs CATALOG-STATUS intacts, catalogue byte-identique à main.

🤖 Generated with Claude Code

…atome/dense)

Trois axes de la geometrie des features SAE (R04 x R09) mesures sur les
traces npz committes du harness #10355, trained vs controle, deux lentilles
(SAE Qwen-Scope / J-Lens couche 16), banc numpy-only. Galaxy repliquee
(spectre 1/f, pentes -1,04/-1,08 vs -1,50/-1,78, diagnostic CSN honnete),
cristaux R04 absents a la couche 16 (contexte dominant), these R09 dense
replicee par deux methodes (proxy correlation + Eq 1 verbatim sur SAE CPU
de l'organe ict/sae_dictionary), verdicts negatifs affiches. Ligne README
strate 5. Papermill 37/37 cellules exit 0, 6 min 10 s.

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

Copy link
Copy Markdown
Contributor

✅ No prose/output mismatch detected in the notebooks this PR changed.

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 github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- f0664cf

Cette PR augmente le compte de defauts de rendu markdown
par rapport a la base de fusion ee7b83a re-scannee.
Nouveaux defauts imputables au diff :

reference: merge base ee7b83ae82915b5aa95d63238cddf5ba28b250bf re-scanned (0 of 1 changed notebook(s) existed at base; others are additions; 0 had findings at base)
  +9  MyIA.AI.Notebooks/IIT/ICT-Series/ICT-41-SAE-GeometrieFeatures.ipynb
        +5 H1-DEEP
        +3 HINT-AS-HEADING
        +1 MULTI-H1

=== drift: +9 across 1 notebook(s), 0 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...). See #11831.

@github-actions

github-actions Bot commented Sep 19, 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 7.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 6.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 7.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 7.3s
Search-01-StateSpace.ipynb ✅ SUCCESS 6.7s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 46.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.1s

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

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 12
  • 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)

@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.

VERDICT: LGTM (vérifié firsthand)

[Hermes] po-2026 — review ICT-41, head f0664cf8 (nouveau notebook 150 Ko + 1 ligne README).

Vérifications sur le blob au head :

  1. Structure : 37 cellules (12 code, 25 md), exec counts 1..12 séquentiels, 0 null, 0 output error, 2 figures png — conforme aux preuves C.2/H.1 du body.
  2. Prose ↔ outputs (check intégral du tableau de verdicts) : pentes OLS −1,079/−1,040 trained vs −1,781/−1,498 contrôles (body : −1,04/−1,08 vs −1,50/−1,78 ✓) ; Hill α 2,56/2,45/2,01/2,21 (body : 2,0-2,6 ✓) ; KS ≤ 0,040 (body : ≤ 0,04 ✓) ; logLR +70,2..+224,5 (body : +70 à +225 ✓) ; Eq 1 médianes +0,009/+0,096 vs +0,627/+0,785 (body : +0,01/+0,10 vs +0,63/+0,79 ✓) ; séparabilité 68 %/0 % vs 100 % ✓ ; position-tracking 24 vs 4, ρ max 0,77 ✓. Aucun chiffre de prose non ancré dans un output.
  3. Le correctif fill_diagonal(P, -inf) (bug diagonale (+4,000) attrapé par la double-passe #16590) est bien dans le src — le fix anti-artefact est réel, pas une légende.
  4. Amendement (b) sain : import de l'organe existant TopKSae (main #15480) plutôt qu'un doublon — vérifié dans le src.
  5. Verdicts honnêtes sur les axes faibles (LDA négatif, entropie k-NN inconclusif rapporté comme tel) — pas de survente.
  6. Security scan : zéro match.

Cap #15511 : COMMENT (author=jsboige), relais à myia-ai-01:CoursIA pour event formel éventuel.

[Hermes hermes-pr-review, cycle :11 19/09, host c92df397a786]

@github-actions

github-actions Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #16859 (feat(ict,#16747): ICT-41 geometrie des features SAE -- galaxy/atome/dense (R04 x R09)) 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.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

jsboige added a commit that referenced this pull request Sep 19, 2026
…gate repair)

ICT-41-SAE-GeometrieFeatures.ipynb is not on main yet (PR #16859 unmerged),
so relative hrefs failed check-navlinks (2 NEW) and enrich-quality
(HREF_MISSING HIGH). Markdown-only change, outputs from pass 2 unchanged.

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

jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner Author

[adjoint — preflight COMMENTED] PR #16859 — BLOCKED-WITH-SUBSTANCE au head f0664cf8959a1fd788eebe8c93475892bd6c61a7.

La substance scientifique, B.0, les threads et les checks latest-wins sont propres, mais le nouveau notebook introduit 9 défauts de hiérarchie markdown signalés par le check MD hierarchy drift et confirmés firsthand sur le blob exact-head :

  • cellule 818cdf53 : # Indice sous ## Exercice 1 ;
  • cellule 6e8d300f : # Indice puis # Etape 1 sous ## Exercice 2 ;
  • cellule cef9847c : # Indice puis # de normalisation... sous ## Exercice 3.

Ces cinq lignes sont rendues comme des H1 supplémentaires, d'où +5 H1-DEEP, +3 HINT-AS-HEADING et +1 MULTI-H1. Réparation bornée : les convertir en prose/listes (**Indice :**, **Étape 1 :**, continuation sans #), sans toucher au code ni aux outputs; puis revalider la hiérarchie. La review LGTM a vérifié les métriques mais n'a pas levé ce défaut de rendu explicitement mesuré.

Aucun dossier READY n'est posé avant le repair et une recapture exacte-head.

…y drift 9->0

Cells 818cdf53 / 6e8d300f / cef9847c carried `# Indice` / `# Etape 1` /
`# de normalisation` lines rendered as extra H1s under `## Exercice` (+5
H1-DEEP, +3 HINT-AS-HEADING, +1 MULTI-H1 per markdown-rendering guard).
Converted to `**Indice :**` / `**Etape 1 :**` bold prose and plain
continuation; code cells and outputs byte-identical.
detect_markdown_rendering.py: violations 0 (was 9).

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

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

[repair] MD hierarchy drift 9 -> 0 au head 02bc0a7b1 (poussé sur feature/16747-sae-geometrie-latent).

Réparation bornée conformément au preflight : les 5 lignes H1 des cellules 818cdf53 / 6e8d300f / cef9847c (# Indice, # Etape 1, # de normalisation sous ## Exercice) converties en prose grasse (**Indice :**, **Etape 1 :**) et continuation sans #. Diff = 5 lignes markdown, code cells et outputs byte-identiques (aucune re-exécution requise, aucun output touché).

Revalidation locale : python scripts/notebook_tools/detect_markdown_rendering.py <nb> -> violations: 0 (était +9 : +5 H1-DEEP, +3 HINT-AS-HEADING, +1 MULTI-H1). Plus qu'un seul H1 dans le fichier (le titre). Hooks pre-commit tous Passed.

@jsboige

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16859
head: 02bc0a7
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 40057f6255f4465aa995dcadf8750379acfc3b708cb3e6f1439f7edcded26f45
diff-files: 2
diff-additions: 1633
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit fad4766 into main Sep 21, 2026
86 of 88 checks passed
jsboige added a commit that referenced this pull request Sep 22, 2026
…gate repair)

ICT-41-SAE-GeometrieFeatures.ipynb is not on main yet (PR #16859 unmerged),
so relative hrefs failed check-navlinks (2 NEW) and enrich-quality
(HREF_MISSING HIGH). Markdown-only change, outputs from pass 2 unchanged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 23, 2026
…te un verdict, ICT-41 dit son absence

Audit des 32 marqueurs « Sans verdict » poses par la tranche 5 (#17026),
croises contre docs/ict/dissociations-matrix.md (origin/main), y compris
les lignes de cases nommees (matrice inversee #9533) et non seulement le
tableau principal par notebook :

- ICT-Dissociation-PhatSelfReference : mal etiquete. La case
  « p̂ auto-referent » (ligne 209, Cases nommees) est TESTE (CONFIRME) et
  cite #9567, la PR qui a cree ce notebook. Le marqueur reprend le statut
  litteral de la case et le diagnostic ARTEFACT_DE_MESURE du biais.
- ICT-41-SAE-GeometrieFeatures : aucun marqueur canonique (cree apres la
  tranche 5, #16859) et aucune ligne de matrice -> marqueur « Sans verdict ».

Markdown-only, aucun output touche (exception C.2).

See #16682

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 23, 2026
…te un verdict, ICT-41 dit son absence (#17484)

Audit des 32 marqueurs « Sans verdict » poses par la tranche 5 (#17026),
croises contre docs/ict/dissociations-matrix.md (origin/main), y compris
les lignes de cases nommees (matrice inversee #9533) et non seulement le
tableau principal par notebook :

- ICT-Dissociation-PhatSelfReference : mal etiquete. La case
  « p̂ auto-referent » (ligne 209, Cases nommees) est TESTE (CONFIRME) et
  cite #9567, la PR qui a cree ce notebook. Le marqueur reprend le statut
  litteral de la case et le diagnostic ARTEFACT_DE_MESURE du biais.
- ICT-41-SAE-GeometrieFeatures : aucun marqueur canonique (cree apres la
  tranche 5, #16859) et aucune ligne de matrice -> marqueur « Sans verdict ».

Markdown-only, aucun output touche (exception C.2).

See #16682

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 23, 2026
…te un verdict, ICT-41 dit son absence (#17484)

Audit des 32 marqueurs « Sans verdict » poses par la tranche 5 (#17026),
croises contre docs/ict/dissociations-matrix.md (origin/main), y compris
les lignes de cases nommees (matrice inversee #9533) et non seulement le
tableau principal par notebook :

- ICT-Dissociation-PhatSelfReference : mal etiquete. La case
  « p̂ auto-referent » (ligne 209, Cases nommees) est TESTE (CONFIRME) et
  cite #9567, la PR qui a cree ce notebook. Le marqueur reprend le statut
  litteral de la case et le diagnostic ARTEFACT_DE_MESURE du biais.
- ICT-41-SAE-GeometrieFeatures : aucun marqueur canonique (cree apres la
  tranche 5, #16859) et aucune ligne de matrice -> marqueur « Sans verdict ».

Markdown-only, aucun output touche (exception C.2).

See #16682

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 24, 2026
…ini-scale (#16887)

* feat(iit,#16749): ICT-42 crosscoder distillation, R05 Baek-Tegmark mini-scale

Crosscoder Eq 3-7 verbatim on 307,200 OpenThoughts tokens (layer 14/28),
pair DeepSeek-R1-Distill-Qwen-1.5B vs Qwen2.5-Math-1.5B, K=4096.
Statistics of the paper reproduced (NRN median 0.498, tails 0.9%/2.1%,
EV 0.988/0.976); semantic reading NOT: mixed marker enrichment
(Therefore 1.68, Wait 0.54), causal ablation threshold-sensitive
(surgical 11 features harmless, wide 1665 degenerates), parallelogram
genre not reproduced at 1.5B (base 1.0694 < distilled 1.0832).
Three-legs methodology lesson anchored on these real outputs.
Strict determinism (use_deterministic_algorithms, CUBLAS workspace,
TF32 off): pass 2 reproduced pass 1 byte-identically except wall clocks.
Papermill 2 passes kernel coursia-ml-training, validator 16/16 PASS.
README: +1 row in the external-distillation table.

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

* Fix(navitests): replace premature ICT-41 file links with issue refs (gate repair)

ICT-41-SAE-GeometrieFeatures.ipynb is not on main yet (PR #16859 unmerged),
so relative hrefs failed check-navlinks (2 NEW) and enrich-quality
(HREF_MISSING HIGH). Markdown-only change, outputs from pass 2 unchanged.

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

---------

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants