Neil Ge
cc82f38b75
Merge 9cb07dd1ec into a3c7b01cc0
2026-09-10 21:11:19 -04:00
jingyaogong
a3c7b01cc0
[fix] keep agent rollout token-aligned #850
2026-09-10 11:44:05 +08:00
neil.ge
9cb07dd1ec
perf: enable fused AdamW in pretrain training
...
Same fused AdamW optimization as the full SFT script, using the
existing device_type variable so the CPU-only path is unaffected.
Co-authored-by: TRAE CLI <traecli@bytedance.com>
2026-09-05 19:16:51 +08:00
neil.ge
859c8ee2a3
perf: enable fused AdamW in full SFT training
...
Use PyTorch's fused AdamW implementation to reduce optimizer kernel
launch overhead and speed up the training step on CUDA devices.
Guard with device check so the CPU-only fallback path is unaffected.
Co-authored-by: TRAE CLI <traecli@bytedance.com>
2026-09-05 18:37:04 +08:00
jingyaogong
6fc918beb6
[update] remove expert args
2026-09-04 22:16:38 +08:00
jingyaogong
4bd6062ead
Merge pull request #836 from JustinGuese/moe-cli-flags
...
Expose num_experts / num_experts_per_tok / seed on the trainer CLIs
2026-09-04 22:10:18 +08:00
jingyaogong
4d7a74acab
Merge pull request #840 from JustinGuese/readme-benchmark-resolution
...
docs: state the measurement resolution of the objective benchmark table
2026-09-04 22:10:00 +08:00
Justin Guese
77946fda00
[docs] 在客观评测表下补充各数据集的测量分辨率
...
lm_eval 对每个指标都会输出 stderr,但表格只保留了点估计。这里按测试集
大小给出各任务的 ± 标准误(obqa ±1.9 到 cmmlu ±0.4),并说明比较两个
模型时差值的标准误约为单项的 √2 倍,方便读者判断表中哪些差距是可以
解读的。中英文 README 同步。
2026-09-03 17:10:52 +07:00
Justin Guese
fc585a9bf9
[update] 把随机种子暴露到命令行
...
trainer 里的种子此前硬编码为 42(setup_seed(42 + rank) 与每轮的
setup_seed(42 + epoch)),要跑多种子实验只能改源码。新增 --seed,
默认 42,与改动前完全一致。
2026-09-03 15:36:14 +07:00
Justin Guese
c3199c7240
[update] 把 num_experts / num_experts_per_tok 暴露到命令行
...
此前要改专家数只能去编辑 model_minimind.py。三个入口
(train_pretrain / train_full_sft / eval_llm)的默认值与 MiniMindConfig
一致(4 / 1),默认行为不变;RL 与 agent 相关的 trainer 不动。
2026-09-03 15:13:29 +07:00
jingyaogong
7a6fddd63a
[update] readme
2026-08-31 18:08:05 +08:00
jingyaogong
c9a8ab4632
[update] dependency version
2026-08-31 17:54:37 +08:00
jingyaogong
e84156818a
[update] dependency version
2026-08-29 15:12:28 +08:00
jingyaogong
d65ef2c00e
[update] readme content
2026-08-21 16:49:00 +08:00
jingyaogong
ed5ea9e02a
[update] readme content
2026-08-21 16:30:30 +08:00
jingyaogong
eabad706da
[update] readme content
2026-08-21 16:25:20 +08:00
jingyaogong
393e387e9a
[update] supporter charts
2026-08-06 22:07:29 +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
jingyaogong
e9f46506da
Merge pull request #814 from FloatFrank/fix/ppo-logp-autocast-align-v3
...
[fix] PPO: align mb_resp_logp with old_resp_logp under autocast to stabilize training
2026-07-23 10:32:06 +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
512eed0b65
[fix] robustness
2026-06-28 18:03:34 +08:00
jingyaogong
3f1a7cc25b
[fix] ddp exit hang
2026-06-01 17:50:39 +08:00
jingyaogong
4a68da72d5
[fix] lora dims
2026-05-31 13:38:51 +08:00
jingyaogong
4497610ec0
[fix] issue#771
2026-05-19 17:40:03 +08:00
jingyaogong
9da8e1ab18
[update] requirements
2026-05-16 18:08:37 +08:00
jingyaogong
dddedc6881
[fix] repetition_penalty
2026-05-07 19:08:52 +08:00
jingyaogong
802c15b2b4
[feat] reduce RL memory
2026-05-06 15:07:28 +08:00
jingyaogong
e73a407f7a
Merge pull request #759 from TKiteRunner/fix/grpo-oom-reorder-rewards
...
fix: resolve CUDA OOM in train_grpo.py on GPUs with <=8GB VRAM
2026-05-06 15:00:17 +08:00
TKiteRunner
10776417aa
fix: resolve CUDA OOM in train_grpo.py on GPUs with <=8GB VRAM
2026-05-06 14:14:15 +08:00
jingyaogong
5020dc9dd4
[update] readme
2026-05-06 13:41:46 +08:00
jingyaogong
bdee223036
[fix] inference bug
2026-05-03 20:48:48 +08:00
jingyaogong
06d882e4ef
[update] readme
2026-05-01 12:06:47 +08:00
jingyaogong
da865af63d
[update] readme
2026-04-28 17:22:25 +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
d4c6bc5c7e
[update] readme
2026-04-27 10:59:41 +08:00
jingyaogong
24896cd2c4
[update] readme
2026-04-24 20:16:06 +08:00
jingyaogong
e2fc397176
[update] readme
2026-04-24 20:14:10 +08:00
jingyaogong
693fb1ccf1
[update] readme
2026-04-21 14:34:46 +08:00
jingyaogong
5416a44471
[fix] bugs
2026-04-21 13:03:34 +08:00
jingyaogong
1718e9a44d
[fix] transformers-5.x
2026-04-19 23:48:54 +08:00
jingyaogong
5704766352
[update] tie embedding
2026-04-19 21:57:28 +08:00
jingyaogong
1ea113ea2c
[update] readme
2026-04-19 14:51:47 +08:00
jingyaogong
487f78754d
[update] readme
2026-04-10 10:55:24 +08:00
jingyaogong
e796b8028a
[fix] lora compile
2026-04-10 00:01:21 +08:00
jingyaogong
b2488e6440
[update] readme
2026-04-09 19:00:41 +08:00
jingyaogong
939dc8ff42
[update] readme
2026-04-09 18:54:17 +08:00
jingyaogong
cadacabecb
[update] bench
2026-04-09 17:12:48 +08:00
jingyaogong
5351424bf0
[fix] lora moe
2026-04-09 16:36:48 +08:00