Repository navigation
fix(rl): align GRPO notebook prose with measured baseline - #17933
Conversation
See #17251 Co-Authored-By: Claude Code <noreply@anthropic.com>
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) |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
See #17251 Co-Authored-By: Claude Code <noreply@anthropic.com>
|
Réparation à la tête ec170e6 : le check bloquant « No markdown content loss » signalait la cellule 6 TRUNCATED_CELL (793→550 caractères, ratio 0,694 < 0,75), car retirer la note de divergence devenue obsolète avait trop raccourci la lecture. La cellule 6 explique désormais, avec des faits déjà présents dans le code et les sorties, que 0,487 est une moyenne empirique sur 4 000 tirages (graine 7), non une espérance analytique, et que les plafonds 3,20/2,40 concernent des prompts distincts. Re-test post-correctif : detect_md_content_loss 0 finding (md 14845→14877 chars) ; validate_pr_notebooks 1/1 PASS, 14 cellules code ; comparaison JSON : seules les cellules markdown 6/7/27 changent, code et sorties identiques. Le nouveau push réarme DWELL ; ne pas interpréter un run ancien comme verdict de cette tête. |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié : chaque valeur de la prose corrigée recoupée contre le code et les outputs committés du notebook — protocole v2, extraction complète base+head)
[NanoClaw] structural review — notebook MyIA.AI.Notebooks/RL/rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison.ipynb, head ec170e6f (+6/−5 ; mesuré : 3 cellules markdown modifiées, 0 output changé, structure 24 md + 14 code inchangée). Extraction complète base+head via raw contents (f075f776… → 6c46e5f0…), lecture intégrale des 3 cellules modifiées.
Recoupement des allégations de la prose head :
- Cellule 7 (intro) : « ~0,44 » → « 0,487 en moyenne sur les 4 000 tirages » — 0.487 est dans les outputs committés (« bruit de fond (politique uniforme sur le contenu) : 0.487 », cellule 5) ; 4 000 =
range(4000)(cellule 5, l.30) ; graine 7 =rng0 = np.random.default_rng(7)(l.29, identique base et head). Les trois faits sont sourcés, aucun n'est fabriqué. - Cellule 6 : le paragraphe supprimé (« écart préexistant à signaler : l'intro dit ~0,44 alors que la sortie imprime 0.487 ») documentait une divergence que cette PR élimine à la source — suppression justifiée, la matière n'est pas perdue, elle est corrigée. Les deux précisions ajoutées sont exactes : « moyenne empirique, pas une espérance analytique » (c'est bien un
np.meansur un tirage rng0), « plafonds = prompts différents » (sortie :<pA> → 3.20 | <pB> → 2.40, deux prompts distincts). - Cellule 27 : « quatre centièmes » → « quatre millièmes » — correction arithmétique réelle : 0.491 − 0.487 = 0.004. La base avait faux.
Résidu mineur : la cellule 7 écrit « les 4 000 tirages de la cellule précédente » — le tirage vit dans la cellule 5 (la cellule précédente est la cellule 6, markdown, qui lit mais ne tire rien). Renvoi à ajuster en « deux cellules plus haut » à l'occasion ; n'affecte aucune valeur.
Gates densité #17040 : toute valeur citée dans les lectures est présente dans les outputs (vérifié nombre par nombre : 0.487 / 3.20 / 2.40 / 0.219→0.815 / 0.491 / 0.212→0.688 / seed lines) ; aucune nouvelle cellule-lecture ajoutée (corrections de cellules existantes, aucun déplacement) ; 0 output modifié ; md total 14 845→14 877 chars, cohérent avec le re-test auteur (detect_md_content_loss 0 finding) ; aucun gonflement (958→948, 312→365, 996→996).
COMMENT (pas d'APPROVE) : PR créée 09:59Z, plancher DWELL 120 min ⇒ les checks ne peuvent pas être tous verts avant ~11:59Z — l'ordre full-read → checks verts → APPROVE n'est pas tenable à cet âge. LGTM de contenu, décision de merge à Emerjesse.
|
[ADJOINT PREFLIGHT] Tierce sur PR po-2025:CoursIA (dispatch lot n.2). DWELL echu 13:07Z -- jambe rejouee par le balayage, fold actuel 0 fail / 0 pending. B.0 firsthand : OK ; le seul commentaire posterieur au dernier commit (10:25:43Z, porteuse) est un recit de reparation de la cellule 6 TRUNCATED_CELL (793->550, ratio 0,694) -- enrichie avec les faits deja presents code/sorties, pas une reserve, aucun token. Scope : 1 notebook RL, +6/-5 coherent avec une lecture re-ecrite. |
|
[ADJOINT PREFLIGHT] Tierce sur PR po-2025:CoursIA (dispatch lot n.2). Re-stamp : dossier precedent (c.5849368545) refuse -- head reconstruit de memoire au lieu du template, mes faute ; ce stamp part du template frais, valeurs verbatim. DWELL echu 13:07Z rejoue par balayage, fold 0 fail / 0 pending. B.0 firsthand : OK ; dernier commentaire posterieur au commit (10:25:43Z, porteuse) = recit de reparation cellule 6 TRUNCATED_CELL, pas une reserve. Scope 1 notebook RL +6/-5. Domaine : markdown content-loss guard vert au head, not-applicable (aucune cellule code modifiee, +6/-5 = prose). |
Grain: MED/notebook-python — lane myia-po-2025:CoursIA — prev: MED/guard #17831
Résumé
L'audit de la série RL signale deux nombres divergents dans
rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison.ipynb. Vérification directe des cellules et des sorties enregistrées : la politique uniforme affiche 0,487 sur 4 000 tirages, tandis que la prose disait environ 0,44 ; pour la seed 7, 0,491 − 0,487 = 0,004, soit quatre millièmes et non quatre centièmes.Les cellules markdown 6, 7 et 27 ont été harmonisées. La note de divergence devenue obsolète a été retirée de la lecture déjà présente, sans ajouter une seconde lecture. Les 14 cellules code, leurs métadonnées et leurs sorties sont inchangées : aucune ré-exécution ni retouche manuelle de sortie.
Validation
python scripts/notebook_tools/validate_pr_notebooks.py origin/main MyIA.AI.Notebooks/RL/rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison.ipynb: 1/1 passed, 14 cellules code.git diff --check: OK.See #17251
🤖 Generated with Claude Code