yanghw116
e556464734
Merge efd8073450 into 7a6fddd63a
2026-09-01 10:09:16 +08:00
jingyaogong
89d674b8a5
[refactor] PPO cleanup
2026-07-23 11:11:05 +08:00
jingyaogong
2d4c385b0f
[fix] PPO rollout mode
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 11:05:51 +08:00
FloatFrank
1191fc8e9f
[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
3f1a7cc25b
[fix] ddp exit hang
2026-06-01 17:50:39 +08:00
jingyaogong
4497610ec0
[fix] issue#771
2026-05-19 17:40:03 +08:00
yanghw116
efd8073450
adapt to Ascend NPU
2026-05-18 18:36:14 +08:00
jingyaogong
773e451b11
[fix] bugs
2026-04-27 19:16:08 +08:00
jingyaogong
6361510016
[fix] rollout bugs
2026-04-27 17:54:09 +08:00
jingyaogong
5416a44471
[fix] bugs
2026-04-21 13:03:34 +08:00
jingyaogong
101d7df2da
[update] minimind-3
2026-03-25 23:57:45 +08:00
readlnh
cf4b49a348
[fix] align log/save last-step check and ETA with 1-indexed step
2026-03-24 02:01:40 +01:00
readlnh
d25500d363
[fix] gradient accumulation step alignment
2026-03-24 01:45:04 +01:00
jingyaogong
fea69cf338
[fix] data skip
2026-01-18 16:56:29 +08:00
jingyaogong
f7ffdf1fdb
[update] shuffle data
2026-01-18 16:39:34 +08:00
jingyaogong
e119db8478
[fix] compile unpack
2026-01-14 20:13:32 +08:00
jingyaogong
81d24a4f16
[feat] add compile
2026-01-14 14:42:30 +08:00
jingyaogong
42a4e8c86a
[fix] dist cleanup
2026-01-02 22:25:55 +08:00
jingyaogong
9d898576ac
[update] aux loss
2026-01-01 22:41:46 +08:00
jingyaogong
c65335b56f
[fix] experts unused
2025-12-31 21:47:04 +08:00
jingyaogong
5dd4df7e18
[fix] moe unused
2025-12-31 21:00:06 +08:00
jingyaogong
7eae14f3ce
[feat] remove empty_cache
2025-12-27 07:14:36 +08:00
jingyaogong
11b962da06
[feat] explicit left padding
2025-12-23 18:59:48 +08:00
jingyaogong
5e1447b913
[fix] cuda memory #559
2025-12-01 16:17:43 +08:00
jingyaogong
6b86ea399a
[feat] release memory
2025-11-27 19:39:49 +08:00
jingyaogong
d7f4f4eab8
[fix] ppo mask
2025-11-19 23:39:02 +08:00
jingyaogong
9c98cabc9a
[fix] prompt length calculate
2025-11-15 18:25:37 +08:00
jingyaogong
509d8dacf1
[feat] clear cache
2025-11-06 13:12:28 +08:00
jingyaogong
bf123b585d
[feat] add args
2025-10-30 10:05:12 +08:00
jingyaogong
1713c24114
[fix] model device
2025-10-29 10:36:28 +08:00
jingyaogong
8f7e07b8ef
[feat] update trainer
2025-10-28 23:30:10 +08:00
jingyaogong
e8484874f5
[feat] pause-training
2025-10-26 18:49:52 +08:00
jingyaogong
a82526da11
[feat] shuffle data
2025-10-23 20:13:28 +08:00
jingyaogong
805744e60a
[fix] loss-issues-430
2025-10-23 19:08:42 +08:00
jingyaogong
463044e92a
[fix] sampler-ddp
2025-10-23 15:03:19 +08:00
jingyaogong
fa7dff8291
[fix] graph-oom & ddp-pos_cis
2025-10-23 14:22:13 +08:00
jingyaogong
7d877db79b
[feat] minimind-2510
2025-10-21 21:19:47 +08:00