Repository navigation
fix(genai,#15265): PT-02 — séparer bug d'état pré-#12716 / observation courante / hypothèse d'overfit (markdown-only) - #15297
Conversation
…from current SFT observation, align trace to committed output, retire absolute runtime (markdown-only) Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
[ADJOINT][PREFLIGHT COMMENTED] Contre-vérification firsthand au head Scope atomique et conforme : seul La confrontation aux outputs confirme le fond : la cellule training committée porte bien loss Les quatre critères de #15265 sont donc couverts sans modification de code ni ré-exécution artificielle. Ce commentaire est un preflight |
|
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) |
Path-collision (organ #13359/#13615)Cette PR #15297 (
|
|
[INFO] lane myia-po-2023:CoursIA-2 — état du |
Resolution delibérée des 3 conflits markdown de PT_02_sft_baseline.ipynb (divergence PR #15310 vs main mergé #15297, même notebook): - CONFLIT 1 (phrase d'ouverture) : garde OURS — le runtime épinglé 'train_runtime: 66.44' est vérifié verbatim dans la sortie committée de la cellule (grep train_runtime 66.44 sur le notebook). - CONFLITS 2 et 3 (verdict honnête + pattern observé) : garde THEIRS (#15297) — la structure 'Trois choses à bien séparer' (1. ancien bug d'état pré-#12716, 2. observation actuelle post-cure, 3. hypothèse d'overfit non mesurée) est plus rigoureuse que le paragraphe OURS ; les leçons d'OURS y sont couvertes (loss qui oscille ne dit rien de la qualité de génération). JSON + nbformat.validate PASS ; 0 site unmerged restant. PR #15310 — mission ai-01 (DM msg-20260909T091820-44iyyu, HIGH). Co-Authored-By: Claude-Code <noreply@anthropic.com>
Grain: MED/notebook-python — lane myia-po-2023:CoursIA-2 — prev: MED/genai #14774
fix(genai,#15265): PT-02 — séparer bug d'état pré-#12716 / observation courante / hypothèse d'overfit, aligner la trace sur l'output committé, retirer le runtime absolu (markdown-only)
Contexte
Issue #15265 (Astra wave 2,
CONFIRMED_PEDAGOGY) : deux divergences entre la proseet les sorties committées post-#12716 de
PT_02_sft_baseline.ipynb:ea826516annonceruntime 60 salors que l'output training committédonne
train_runtime: 66.44;d979ec88affirme que lepeft_model« s'effondre encore » enUnESG.« et que ce n'est pas un bug » — lecture à confronter aux sortiespost-fix : elle mêle potentiellement l'ancien symptôme d'état et le résultat
SFT corrigé.
Confrontation firsthand aux outputs committés (la mesure qui gouverne le fix)
504a9b78, exec_count 15) :train_runtime: 66.44,loss 1.9226 / 2.1708 / 1.7523, grad_norm 3.141 / 4.781 / 2.203,
mean_token_accuracy 0.5814 / 0.5461 / 0.6054,
train_loss: 1.949.→ le bloc « trace réelle mesurée » de la prose citait un run différent
(1.9227/2.1693/1.7631, grad 2.828/4.281/2.078, 1.952) — la divergence était
plus large que le seul runtime : tout le bloc était stale.
12ec7aeb, exec_count 16) : la cure d'état PT-02 : la comparaison base vs SFT rend des generations degradees ("UnESG.") des deux cotes — execution reelle, qualite cassee #12716(3 lignes :
gradient_checkpointing_disable()+eval()+use_cache=True)est dans le source committé et fonctionne — l'output
[SFT]du run courantest une réponse cohérente et fluide (« Un Reward Model est un modèle de
prévisionnement qui apprend à associer des récompenses… »), pas
UnESG..→ la prose présentait l'ancien symptôme pré-fix comme résultat du run courant.
Correctif (markdown-only — la voie du dispatch)
2 cellules markdown, 3 substitutions (script à asserts count==1, diff
+15/−7) :ea826516(§7 — trace + verdict)le
train_runtimemesuré vit dans la sortie committée, il n'est pasre-épinglé dans la prose (jamais re-pinner un nombre machine-dépendant qui
changera au prochain passage kernel).
grad 3.141/4.781/2.203, mta 0.5814/0.5461/0.6054, train_loss 1.949 — citée
comme « exécution committée de ce notebook ».
était faux post-fix → la section 8 montre qu'après la cure, la génération
SFT reste cohérente ; la fragilité LR 2e-4 est qualifiée hypothèse
qualitative (grad_norm 4.78 mesuré au step 2 = signal d'optimisation
turbulente, pas une mesure d'overfit). Les « 1.6 → 0.9 » illustratifs (aucun
run ne les mesure) sont retirés.
d979ec88(§8 — interprétation de l'effondrement)Réécriture du « Pattern observé sur ce run » en séparation à trois voies
explicite :
UnESG.= artefact d'état(gradient checkpointing actif +
use_cache=False), pas un effet dufine-tuning — l'intro « Piège d'état » déjà correcte au passé est conservée.
cohérentes ; la sortie SFT diffère de la base (reformulation, vocabulaire
légèrement décalé) — c'est tout ce que ce run mesure. Pas d'effondrement.
subtilement un modèle déjà instruct-tuned — mais aucune mesure disjointe
(jeu d'évaluation, ablation) ne l'établit sur ce run : hypothèse qualitative
à tester, pas un résultat.
La leçon pédagogique (un loss qui bouge sur 3 steps ne dit rien de la qualité
de génération) est conservée.
Acceptance issue #15265 ↔ preuves
runtime 60 sretiré (option « ne pas figer », conformément au steering C.5) ; la prose pointe vers la sortie committée qui portetrain_runtime: 66.44d979ec88:UnESG.requalifié « ancien symptôme d'état pré-#12716, disparu avec la cure » ; l'observation courante = deux générations cohérentes (verbatim de l'output[SFT]committé)Invariants vérifiés
origin/main: structure (35 cellules), ids,types, ordre préservés ; pour chaque cellule code,
source+outputs+execution_count+metadataidentiques ; seules lescellules markdown
ea826516etd979ec88diffèrent.nbformat4 / minor 5.git diff origin/main...HEAD --stat=1 file changed, 15 insertions(+), 7 deletions(-).outputs/exec_count sont inchangés).
UnESG(3 : intro état au passé ✓, nouvelleséparation ✓, commentaire code de la cure — non touché ✓),
runtime/60 s(1 : la ligne retirée), nombres de l'ancienne trace (0 restant),
overfit(1 : qualifié hypothèse). Les « degrade » des cellules
0bd64881(table LoRAr=4) et
44827487(prose RL PT-04) sont hors scope et inchangés.Plateau / garde
(commentaire 5594247654,
paths: MyIA.AI.Notebooks/GenAI/PostTraining/PT_02_sft_baseline.ipynb).saturé) ; worktree isolé
CoursIA-c334-pt02.#11439,#6441,#7220) sonttoutes CLOSED, aucune n'a livré ce correctif.
Closes #15265
🤖 Generated with Claude Code
Co-Authored-By: Claude-Code noreply@anthropic.com