AstrAI/astrai/trainer
ViperEkura 9bcd696580 fix: token-level ratio and prompt masking in GRPO strategy
- Mask prompt tokens to 0 so their logprobs excluded from ratio/KL
- Switch to token-level ratio + PPO clipping via reduction='none'
- Slice response token logprobs from full sequence output
- Replace k3 KL estimator with non-negative k1 estimator
- Fix epsilon from finifo.eps (~1e-38) to 1e-8
- Remove unused 'reduction' param from GRPOStrategy.__init__
- Clarify offline batch semantics in docstring
- Add 11 unit tests for masking, advantage, KL, sync, clipping
- Sync training.md and architecture.md docs
2026-07-12 21:24:09 +08:00
..
__init__.py chore : 升级 torch 2.11.0+cu128,移除自定义 Muon,修复 gloo device_id 2026-06-27 16:10:37 +08:00
metric_util.py refactor : grad_norm 指标简化,clip_grad_norm 移至 executor 2026-06-30 14:59:43 +08:00
schedule.py fix: scheduler division-by-zero, loss_mask bool 2026-07-03 22:04:55 +08:00
strategy.py fix: token-level ratio and prompt masking in GRPO strategy 2026-07-12 21:24:09 +08:00
train_callback.py fix: set tqdm postfix before update so first step shows metrics 2026-07-07 00:14:13 +08:00
train_context.py refactor : replace iteration with consumed_samples 2026-06-30 18:42:42 +08:00
trainer.py refactor: merge validation into MetricCallback, simplify progress bar to optimizer steps 2026-07-03 21:43:08 +08:00