Commit Graph

374 Commits (0f6803e551f07e2b83a597819af7f1eeff249db3)

Author SHA1 Message Date
tkgcc 0f6803e551 [fix] replace tool eval() with an AST math evaluator
execute_tool() relied on signal.SIGALRM, which does not exist on Windows.
The AttributeError was swallowed by a bare except, so every tool call
silently returned None and the model always observed
{"error": "tool not found"} (issue #846).

calculate_math also ran eval() on model-generated text. Two of the three
call sites (scripts/eval_toolcall.py, scripts/web_demo.py) passed no
globals at all, leaving full builtins reachable from sampled output.

safe_math_eval() in trainer_utils.py parses the expression with ast and
walks it, allowing only arithmetic operators and a math whitelist, with
caps on expression length and exponent size. It cannot loop forever, so
the signal-based timeout is no longer needed and is removed. Both sqrt(x)
and math.sqrt(x) spellings keep working.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 07:53:33 +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
jingyaogong aa3e6affa1 [update] add a comment 2026-04-09 15:09:58 +08:00
jingyaogong 25a7edcd6f [update] image 2026-04-04 14:54:13 +08:00
jingyaogong cacf1d4cd0 [update] readme 2026-04-04 11:25:21 +08:00