Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MyIA.AI.Notebooks/RL/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Le RL se comprend mieux en voyant l'agent apprendre. Six visualisations suivent
| pt-0c | [rlpt_0c_reward_hacking_case_study](rlpt_0c_reward_hacking_case_study.ipynb) | Anatomie d'un reward hacking **qui prend** — le pendant de `rlpt_3` : reward model Bradley-Terry appris sur des préférences à biais de longueur, PPO from scratch sur ce proxy, puis **bras de contrôle** (récompense longueur-contrôlée + oracle) qui identifie le biais comme cause. Mesures : qualité vraie 0,4545 → 0,0170 sous le proxy biaisé, contre 0,9905 sous contrôle ; basculement situé sur l'action de tête du proxy (argmax non correct à α ≈ 2,0), stable sur 4 graines | 35-40 min |
| pt-0d | [rlpt_0d_reward_trainer_sota](rlpt_0d_reward_trainer_sota.ipynb) | Le **même** problème que `rlpt_0`, traité par le harnais industriel `trl.RewardTrainer` : monde, juge, architecture (5 441 paramètres) et seeds identiques, une seule variable — le harnais. Documente les **quatre exigences de contrat** non devinables (`num_labels=1`, `processing_class`, `gradient_checkpointing=False`, `self.post_init()`) et la traduction `y` → `chosen_ids`/`rejected_ids` ; verdict mesuré : `trl` **devance** la boucle maison (0.676 ± 0.007 vs 0.658 ± 0.008, écart +0.018 = 2.2σ ; Brier et Spearman meilleurs aussi) pour un coût en temps de **~10×** sur ce modèle minuscule, et l'évaluation honnête reste **entièrement à ré-écrire** — `trl` n'évalue pas pour vous | 35-40 min |
| pt-0e | [rlpt_0e_trl_DPO_SOTA](rlpt_0e_trl_DPO_SOTA.ipynb) | `trl.DPOTrainer` (bras SOTA) contre DPO from scratch et reward model explicite de `rlpt_0` sur le **même monde et les mêmes paires de préférences**, à budget égal (même β, même lr, mêmes époques) — multi-seed {0,1,7,42} départagé au plafond de Bayes : verdict **B ≈ C > A** (DPO maison 0.679 / trl 0.678 / RM 0.661 vs plafond 0.695 ; B vs C indiscernables à ±0.008 près), marges implicites B↔C corrélées ρ≈0.98 = même math ; la différence robuste est le **coût fixe** de la pile (×22 sur jouet CPU) — inclut la garde de frontière prompt/complétion (piège trl : prompt sans espace finale) | 25-35 min |
| pt-0f | [rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison](rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison.ipynb) | `trl.GRPOTrainer` (bras SOTA **en ligne**) contre le PPO maison de `rlpt_1` sur le **même monde et le même juge RM** (`rlpt_0`), à budget apparié (2 304 réponses évaluées par bras, même β_KL) — multi-seed {0,1,7,42} : verdict **INCONCLUSIVE** (gain maison 0.588±0.070 / trl 0.551±0.183, écart −0.037 < 2σ) ; la différence robuste est le **critic** (value net appris vs moyenne de groupe — la baseline est LE choix de design) et le coût d'écriture (60 vs 36 lignes, 61s vs 42s) — inclut le fait structurant mesuré dans l'env : `trl.PPOTrainer` a **disparu** de trl 1.10.0 (assert garde-frontière), la comparaison SOTA se fait contre le successeur factuel | 25-35 min |
| pt-0f | [rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison](rlpt_0f_comparaison_GRPO_TRL_et_PPO_maison.ipynb) | `trl.GRPOTrainer` (bras SOTA **en ligne**) contre le PPO maison de `rlpt_1` sur le **même monde et le même juge RM** (`rlpt_0`), à budget apparié (2 304 réponses évaluées par bras, même β_KL) — multi-seed {0,1,7,42} : verdict **INCONCLUSIVE** (gain maison 0.486±0.205 / trl 0.670±0.102, écart +0.184 < 2σ) ; la différence robuste est le **critic** (value net appris vs moyenne de groupe — la baseline est LE choix de design) et le coût d'écriture et de runtime (tableau comparatif section 7) — inclut le fait structurant mesuré dans l'env : `trl.PPOTrainer` a **quitté la racine** de trl (déplacé dans `trl.experimental.ppo`, assert garde-frontière sur la surface réelle) et le trainer historique **remis en service** en 3e bras (section 5bis : PPO complet critic + GAE, juge BT reconstruit au format lib, seed 0) | 30-45 min |
| pt-1 | [rlpt_1_ppo_lm_rlhf](rlpt_1_ppo_lm_rlhf.html) | PPO pour alignement d'un petit LM (RLHF toy, from scratch, char-level) : reward model jouet, KL vs politique SFT de référence, multi-seed 4 — la signature RLHF, différenciée de rl_6c (PPO CartPole) et rl_6e (GRPO) | 40-45 min |
| pt-2 | [rlpt_2_grpo_minimal](rlpt_2_grpo_minimal.html) | GRPO sur Qwen3.5-0.8B local (8 Go Viability), reward vérifiable, budget steps borné — le cœur « à la Deepseek » : group rollouts, avantage sans value net, pont #5105 | 45-55 min |
| pt-3 | [rlpt_3_reward_hacking](rlpt_3_reward_hacking.html) | Reward hacking × inoculation, version compacte du capstone #5105 : le hack sur récompense vérifiable faillible, la détection rewardspy, l'inoculation comme variable expérimentale, verdict reproductible (seed fixée) | 35-40 min |
Expand Down
Loading
Loading