补齐奖励路径全确定性,生成式 RM 按位可复现
值得精读。四个值得关注的设计决策:(1) 将 Ray actor 从装饰器形式改为"普通类 + 实例化时 ray.remote 包装",让框架组件可以被继承覆写,是给核心类开扩展点的通用手法;(2) 用"提交序 vs 完成序"解释 V0/V1 trainer 在确定性上的根本差异——异步流水线里任何依赖完成序的 concat 都无法用 seed 修复,这是设计异步训练引擎的重要教训;(3) flash-attn Triton 交叉熵内核不受 `torch.use_deterministic_algorithms` 约束这一细节,以及用 env 开关强制降级纯 PyTorch 路径的方案;(4) 路由确定性在 rollout 侧(hash + PYTHONHASHSEED,依赖 env 传播)与 RM 侧(crc32,平台无关)采用两套方案的取舍。