Evangelinejy commited on
Commit
45fc611
·
verified ·
1 Parent(s): 1fdad17

model card

Browse files
Files changed (1) hide show
  1. README.md +61 -0
README.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags: [reinforcement-learning, grpo, code-generation, mbpp, catastrophic-forgetting, ablation]
4
+ ---
5
+
6
+ # Code RL learning-rate ablation (MBPP)
7
+
8
+ GRPO on MBPP at **three actor learning rates below the 1e-6 default** -- 6e-6,
9
+ 3e-6 and 6e-7 -- each run twice: once with no replay, once with an SFT-replay
10
+ buffer (`hard_cooldown`, lambda=0.1). The question is where on the lr ladder the
11
+ run stops being stable, and whether replay moves that point.
12
+
13
+ The lr=1e-6 headline runs live in their own repos
14
+ (`RL-Forgetting-Experiments-3/code-q3_1p7b-nobuf`, `-replay-lam0p1`, `RL-Forgetting-Experiments-3/code-q25_3b-*`);
15
+ above this ladder, 1e-5 is a coin flip and 1e-4 / 1e-3 are reliably fatal for
16
+ both arms.
17
+
18
+ ## Layout
19
+
20
+ One folder per ablation cell, named exactly as the local run directory, so a
21
+ point in any eval CSV maps to a folder here without a lookup table:
22
+
23
+ ```
24
+ <model>_mbpp_<arm>_<lr>/
25
+ global_step_<N>/ a complete HF model directory (stride 30 + endpoint)
26
+ logs/ trainer logs
27
+ rollouts/ sampled rollouts
28
+ ```
29
+
30
+ | folder | base model | arm | lr | checkpoints |
31
+ | --- | --- | --- | --- | --- |
32
+ | `qwen3_1p7b_base_mbpp_hardcd_lam0p1_lr3e6` | `Qwen/Qwen3-1.7B-Base` | replay buffer (lambda=0.1) | 3e-6 | 30-500 step 30 |
33
+ | `qwen3_1p7b_base_mbpp_hardcd_lam0p1_lr6e7` | `Qwen/Qwen3-1.7B-Base` | replay buffer (lambda=0.1) | 6e-7 | 30-500 step 30 |
34
+ | `qwen3_1p7b_base_mbpp_nobuf_lr3e6` | `Qwen/Qwen3-1.7B-Base` | no buffer | 3e-6 | 30-500 step 30 |
35
+ | `qwen3_1p7b_base_mbpp_nobuf_lr6e6` | `Qwen/Qwen3-1.7B-Base` | no buffer | 6e-6 | 30-500 step 30 |
36
+ | `qwen3b_mbpp_hardcd_lam0p1_lr3e6` | `Qwen/Qwen2.5-3B` | replay buffer (lambda=0.1) | 3e-6 | 30-300 step 30 |
37
+ | `qwen3b_mbpp_nobuf_lr3e6` | `Qwen/Qwen2.5-3B` | no buffer | 3e-6 | 30-300 step 30 |
38
+ | `qwen3b_mbpp_nobuf_lr6e6` | `Qwen/Qwen2.5-3B` | no buffer | 6e-6 | 30-300 step 30 |
39
+ | `qwen3b_mbpp_nobuf_lr6e7` | `Qwen/Qwen2.5-3B` | no buffer | 6e-7 | 30-300 step 30 |
40
+
41
+ ```python
42
+ from transformers import AutoModelForCausalLM
43
+ m = AutoModelForCausalLM.from_pretrained(
44
+ "RL-Forgetting-Experiments-3/code-rl-lr-ablation", subfolder="qwen3_1p7b_base_mbpp_hardcd_lam0p1_lr3e6/global_step_500")
45
+ ```
46
+
47
+ ## Training
48
+
49
+ - Data: 320 MBPP problems, held out from both MBPP+ (378) and MBPP's canonical
50
+ test split (276), so both stay reportable.
51
+ - GRPO, 8 rollouts per prompt, batch 64, response length 3072; binary reward from
52
+ executing the generated program against the task's asserts.
53
+ - Replay arms additionally replay 128 past rollouts per step at weight
54
+ lambda=0.1, sampled by `hard_cooldown`.
55
+ - Everything except the actor lr is identical to the 1e-6 runs.
56
+
57
+ ## Evaluation
58
+
59
+ MBPP+ (378 problems), n=160 samples, temperature 0.6, top_p 0.95, unbiased
60
+ pass@k. Scoring uses MBPP+'s full test suite (~108 tests/problem), which is
61
+ markedly stricter than MBPP's original 3 asserts.