jingyaogong
f07588a31b
[refactor] PPO cleanup
2026-07-23 11:11:05 +08:00
jingyaogong
185baaa022
[fix] PPO rollout mode
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 11:05:51 +08:00
FloatFrank
27b9c0082f
[fix] PPO: align mb_resp_logp with old_resp_logp under autocast
...
Move log_softmax for mb_resp_logp inside autocast_ctx so it is upcast
to fp32, matching the rollout path (compute_per_token_logps runs under
no_grad+autocast). Previously log_softmax ran outside autocast on
fp16/bf16 logits, introducing a ~1e-2 systematic bias between
mb_resp_logp and old_resp_logp, so ratio != 1 and KL != 0 even before
any weight update. Under sparse rule-based rewards (e.g. math PPO)
this bias destabilises training.
Also add:
- --rollout_eval_mode (default 1): switch actor to eval during rollout
to disable dropout and keep old/new logp consistent.
- --debug_log_ratio: optional diagnostic printing |mb-old| on the first
minibatch to verify ratio ~= 1.
2026-07-21 18:51:42 +08:00
jingyaogong
13739bdbc5
[fix] ddp exit hang
2026-06-01 17:50:39 +08:00
jingyaogong
6534447b62
[fix] issue#771
2026-05-19 17:40:03 +08:00
jingyaogong
4b85ba8b28
[fix] bugs
2026-04-27 19:16:08 +08:00
jingyaogong
3b7a4d04a2
[fix] rollout bugs
2026-04-27 17:54:09 +08:00
jingyaogong
568a863520
[fix] bugs
2026-04-21 13:03:34 +08:00
jingyaogong
b24fcdc1f9
[update] minimind-3
2026-03-25 23:57:45 +08:00
readlnh
c88c497795
[fix] align log/save last-step check and ETA with 1-indexed step
2026-03-24 02:01:40 +01:00
readlnh
9fe4343b7b
[fix] gradient accumulation step alignment
2026-03-24 01:45:04 +01:00
jingyaogong
3d2f03cfff
[fix] data skip
2026-01-18 16:56:29 +08:00
jingyaogong
f0aa3ba52e
[update] shuffle data
2026-01-18 16:39:34 +08:00
jingyaogong
caf76fb884
[fix] compile unpack
2026-01-14 20:13:32 +08:00
jingyaogong
6ef2105e34
[feat] add compile
2026-01-14 14:42:30 +08:00
jingyaogong
dbfeff23e3
[fix] dist cleanup
2026-01-02 22:25:55 +08:00
jingyaogong
3c56aca1c1
[update] aux loss
2026-01-01 22:41:46 +08:00
jingyaogong
5b87b9ad8a
[fix] experts unused
2025-12-31 21:47:04 +08:00
jingyaogong
1c333636c5
[fix] moe unused
2025-12-31 21:00:06 +08:00
jingyaogong
fc2eeff509
[feat] remove empty_cache
2025-12-27 07:14:36 +08:00
jingyaogong
658ddcae3a
[feat] explicit left padding
2025-12-23 18:59:48 +08:00
jingyaogong
95bcb7ba19
[fix] cuda memory #559
2025-12-01 16:17:43 +08:00
jingyaogong
cafc3b22df
[feat] release memory
2025-11-27 19:39:49 +08:00
jingyaogong
3382c90246
[fix] ppo mask
2025-11-19 23:39:02 +08:00
jingyaogong
c8727733f3
[fix] prompt length calculate
2025-11-15 18:25:37 +08:00
jingyaogong
86d5cc70ec
[feat] clear cache
2025-11-06 13:12:28 +08:00
jingyaogong
ccab16a9b9
[feat] add args
2025-10-30 10:05:12 +08:00
jingyaogong
230b29b94a
[fix] model device
2025-10-29 10:36:28 +08:00
jingyaogong
cd576b58e8
[feat] update trainer
2025-10-28 23:30:10 +08:00
jingyaogong
43726a7c34
[feat] pause-training
2025-10-26 18:49:52 +08:00
jingyaogong
8d1778a186
[feat] shuffle data
2025-10-23 20:13:28 +08:00
jingyaogong
3658bdb20d
[fix] loss-issues-430
2025-10-23 19:08:42 +08:00
jingyaogong
1e4f464553
[fix] sampler-ddp
2025-10-23 15:03:19 +08:00
jingyaogong
faec18117e
[fix] graph-oom & ddp-pos_cis
2025-10-23 14:22:13 +08:00
jingyaogong
249fb5b7ef
[feat] minimind-2510
2025-10-21 21:19:47 +08:00