← All runs · 63-deepscaler-r1d-signed-ema-k20
Small artifacts (local only, not deployed): artifacts/63-deepscaler-r1d-signed-ema-k20/
On this truncated read, comm-eff signed_ema (β_anc=0.50) holds the dense line — within noise on the AIME headline and tightly on the low-variance training-reward curve. Not a full-length verdict (see caveats).
val-core/math-ai/aime24/acc/mean@8; 30 problems, std ~0.09)| arm | steps reached | AIME@100 | reward tracks dense? |
|---|---|---|---|
| dense-control (comm-eff OFF, reproduction ref) | 102 (full) | 0.254 | — (reference) |
| signed-ema-b50 (β_anc=0.50, primary candidate) | 99 + val@100 | 0.2125 (Δ vs dense = 0.041, inside the 0.05 band + noise) | ✅ tracked 0.44–0.53 band through step 99 |
| signed-ema-b50-la (b50 + fixed_linear lookahead) | 50 (cut) | val@25=0.20 | ✅ tracked; 3 real lookahead projections fired (after 2 warmup fallbacks) |
| signed-ema-b00 (β_anc=0.00 ablation) | not run (dropped in the cut) | — | — |
The comm-eff arms ran at ~8× higher policy entropy than dense (~6.6 vs ~0.8) yet held reward/AIME parity — compression perturbs the distribution, but the anchor + spectral (signed_ema) correction keeps capability on the dense line.
math_reward scorer differs from the RLVR-Linearity paper's, so absolute numbers aren't paper-comparable (internal cross-arm comparison is valid).val_only resume of its step-100 checkpoint) — the live run crashed at the step-100 save on an R2 config bug (since fixed).shamane-pluralis/autonomous-harness-rlvr-compression/63-deepscaler-r1d-signed-ema-k20/signed-ema-b50/checkpoints/global_step_100/ (20 objects, 26.5 GiB).63-deepscaler-r1d-signed-ema-k20 (runs 63-dense-control / 63-signed-ema-b50 / 63-signed-ema-b50-la); dropped tail steps backfilled.VERDICT: PASS (directional — TRUNCATED run, operator-cut 2026-07-10)
On this truncated read, comm-eff signed_ema (β_anc=0.50) holds the dense line: within
noise on the AIME headline and tightly on the low-variance training-reward curve. Not a
full-length verdict — the sweep was cut short (dense 102, b50 ~100, b50-la 50, b00 dropped).
val-core/math-ai/aime24/acc/mean@8; 30 problems, std ~0.09)| criterion | observed | target | result |
|---|---|---|---|
| dense-control reward-health floor | AIME@100 = 0.254 | ≥ 0.10 | ✅ |
| all attempted cells no NaN / non-finite grad | dense 102, b50 99, b50-la 50 clean | no NaN | ✅ |
| headline: max{b50, b50-la} step-100 AIME ≥ dense − 0.05 | b50@100 = 0.2125 vs dense 0.254 (Δ 0.041) | within 0.05 | ✅ (inside band + noise) |
| corroborating train-reward parity | b50 tracked dense's 0.44–0.53 band through step 99 | overlap | ✅ |
| step-100 checkpoint → R2 | b50 global_step_100 mirrored (20 obj, 26.5 GiB) | present | ✅ |
| b00 ablation | NOT RUN (dropped in the operator cut) | report-only | ⚠️ dropped |
projections; reward tracked dense over the short window.
(~6.6 vs ~0.8) — anchor + spectral correction keeps capability on the dense line.
val_only resume of its step-100 checkpoint); thelive run crashed at the step-100 save on an R2 config bug (since fixed).
math_reward scorer ≠ the RLVR-Linearity paper's, so absoluteAIME numbers are not paper-comparable (internal cross-arm comparison is valid).
python scripts/analyze.py runs/63-deepscaler-r1d-signed-ema-k20 --emit verdict.md
(analysis done from WandB + the preserved train logs under runs/<id>/logs/; the run was
operator-truncated so this verdict.md was authored to match the close comment SSOT.)
# resolved training commands (#63) — extracted from train logs ## dense-control python3 -m verl.trainer.main_ppo algorithm.adv_estimator=grpo data.train_files=/workspace/data/deepscaler/train.parquet data.val_files=/workspace/data/deepscaler/test.parquet data.train_batch_size=128 data.max_prompt_length=2048 data.max_response_length=16384 data.filter_overlong_prompts=True data.truncation=error algorithm.use_kl_in_reward=False actor_rollout_ref.model.path=deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B actor_rollout_ref.model.use_remove_padding=True actor_rollout_ref.model.enable_gradient_checkpointing=True actor_rollout_ref.actor.optim.lr=1e-6 actor_rollout_ref.actor.ppo_mini_batch_size=64 actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 actor_rollout_ref.actor.use_kl_loss=True actor_rollout_ref.actor.kl_loss_coef=0.001 actor_rollout_ref.actor.kl_loss_type=low_var_kl actor_rollout_ref.actor.entropy_coeff=0 actor_rollout_ref.actor.fsdp_config.param_offload=False actor_rollout_ref.actor.fsdp_config.optimizer_offload=False actor_rollout_ref.actor.ppo_max_token_len_per_gpu=3000 actor_rollout_ref.actor.use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.tensor_model_parallel_size=1 actor_rollout_ref.rollout.name=vllm actor_rollout_ref.rollout.gpu_memory_utilization=0.85 actor_rollout_ref.rollout.enable_chunked_prefill=False actor_rollout_ref.rollout.enforce_eager=False actor_rollout_ref.rollout.free_cache_engine=True actor_rollout_ref.rollout.log_prob_use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_max_token_len_per_gpu=4096 actor_rollout_ref.rollout.checkpoint_engine.update_weights_bucket_megabytes=4096 actor_rollout_ref.rollout.n=16 actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.ref.fsdp_config.param_offload=True actor_rollout_ref.ref.log_prob_use_dynamic_bsz=True actor_rollout_ref.ref.log_prob_max_token_len_per_gpu=8192 trainer.critic_warmup=0 'trainer.logger=["console","wandb"]' trainer.project_name=63-deepscaler-r1d-signed-ema-k20 trainer.experiment_name=63-dense-control trainer.n_gpus_per_node=4 trainer.nnodes=1 trainer.save_freq=200 trainer.test_freq=25 trainer.total_epochs=2 actor_rollout_ref.actor.ppo_max_token_len_per_gpu=30000 actor_rollout_ref.actor.use_dynamic_bsz=True actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.log_prob_max_token_len_per_gpu=36864 actor_rollout_ref.rollout.log_prob_use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.ref.log_prob_max_token_len_per_gpu=36864 actor_rollout_ref.ref.log_prob_use_dynamic_bsz=True actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.calculate_log_probs=True algorithm.rollout_correction.rollout_is=null algorithm.rollout_correction.rollout_rs=null algorithm.rollout_correction.bypass_mode=false actor_rollout_ref.actor.fsdp_config.param_offload=False actor_rollout_ref.actor.fsdp_config.optimizer_offload=False actor_rollout_ref.actor.fsdp_config.use_orig_params=true actor_rollout_ref.ref.fsdp_config.param_offload=True actor_rollout_ref.model.enable_gradient_checkpointing=True actor_rollout_ref.model.use_remove_padding=True actor_rollout_ref.actor.use_kl_loss=False algorithm.use_kl_in_reward=False actor_rollout_ref.actor.entropy_coeff=0 trainer.total_training_steps=200 trainer.val_before_train=True trainer.checkpoint_r2_enabled=true actor_rollout_ref.actor.comm_eff.enabled=false actor_rollout_ref.actor.comm_eff.compression_type=powersgd actor_rollout_ref.actor.comm_eff.clean_cadence=0 actor_rollout_ref.actor.comm_eff.mask.enabled=false actor_rollout_ref.actor.comm_eff.mask.p=0.9 actor_rollout_ref.actor.comm_eff.mask.rescale=true actor_rollout_ref.actor.comm_eff.mask.mask_recompute=true actor_rollout_ref.actor.comm_eff.mask.seed=0 actor_rollout_ref.actor.comm_eff.mask.pp_size=8 actor_rollout_ref.actor.comm_eff.anchor.enabled=true actor_rollout_ref.actor.comm_eff.anchor.cadence=20 actor_rollout_ref.actor.comm_eff.anchor.delay_K=20 actor_rollout_ref.actor. ## signed-ema-b50 python3 -m verl.trainer.main_ppo algorithm.adv_estimator=grpo data.train_files=/workspace/data/deepscaler/train.parquet data.val_files=/workspace/data/deepscaler/test.parquet data.train_batch_size=128 data.max_prompt_length=2048 data.max_response_length=16384 data.filter_overlong_prompts=True data.truncation=error algorithm.use_kl_in_reward=False actor_rollout_ref.model.path=deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B actor_rollout_ref.model.use_remove_padding=True actor_rollout_ref.model.enable_gradient_checkpointing=True actor_rollout_ref.actor.optim.lr=1e-6 actor_rollout_ref.actor.ppo_mini_batch_size=64 actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 actor_rollout_ref.actor.use_kl_loss=True actor_rollout_ref.actor.kl_loss_coef=0.001 actor_rollout_ref.actor.kl_loss_type=low_var_kl actor_rollout_ref.actor.entropy_coeff=0 actor_rollout_ref.actor.fsdp_config.param_offload=False actor_rollout_ref.actor.fsdp_config.optimizer_offload=False actor_rollout_ref.actor.ppo_max_token_len_per_gpu=3000 actor_rollout_ref.actor.use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.tensor_model_parallel_size=1 actor_rollout_ref.rollout.name=vllm actor_rollout_ref.rollout.gpu_memory_utilization=0.85 actor_rollout_ref.rollout.enable_chunked_prefill=False actor_rollout_ref.rollout.enforce_eager=False actor_rollout_ref.rollout.free_cache_engine=True actor_rollout_ref.rollout.log_prob_use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_max_token_len_per_gpu=4096 actor_rollout_ref.rollout.checkpoint_engine.update_weights_bucket_megabytes=4096 actor_rollout_ref.rollout.n=16 actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.ref.fsdp_config.param_offload=True actor_rollout_ref.ref.log_prob_use_dynamic_bsz=True actor_rollout_ref.ref.log_prob_max_token_len_per_gpu=8192 trainer.critic_warmup=0 'trainer.logger=["console","wandb"]' trainer.project_name=63-deepscaler-r1d-signed-ema-k20 trainer.experiment_name=63-signed-ema-b50 trainer.n_gpus_per_node=4 trainer.nnodes=1 trainer.save_freq=100 trainer.test_freq=25 trainer.total_epochs=2 actor_rollout_ref.actor.ppo_max_token_len_per_gpu=20000 actor_rollout_ref.actor.use_dynamic_bsz=True actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.log_prob_max_token_len_per_gpu=36864 actor_rollout_ref.rollout.log_prob_use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.ref.log_prob_max_token_len_per_gpu=36864 actor_rollout_ref.ref.log_prob_use_dynamic_bsz=True actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.calculate_log_probs=True algorithm.rollout_correction.rollout_is=null algorithm.rollout_correction.rollout_rs=null algorithm.rollout_correction.bypass_mode=false actor_rollout_ref.actor.fsdp_config.param_offload=False actor_rollout_ref.actor.fsdp_config.optimizer_offload=False actor_rollout_ref.actor.fsdp_config.use_orig_params=true actor_rollout_ref.ref.fsdp_config.param_offload=True actor_rollout_ref.model.enable_gradient_checkpointing=True actor_rollout_ref.model.use_remove_padding=True actor_rollout_ref.actor.use_kl_loss=False algorithm.use_kl_in_reward=False actor_rollout_ref.actor.entropy_coeff=0 trainer.total_training_steps=102 trainer.val_before_train=True trainer.checkpoint_r2_enabled=true actor_rollout_ref.actor.comm_eff.enabled=true actor_rollout_ref.actor.comm_eff.compression_type=powersgd actor_rollout_ref.actor.comm_eff.clean_cadence=0 actor_rollout_ref.actor.comm_eff.mask.enabled=false actor_rollout_ref.actor.comm_eff.mask.p=0.9 actor_rollout_ref.actor.comm_eff.mask.rescale=true actor_rollout_ref.actor.comm_eff.mask.mask_recompute=true actor_rollout_ref.actor.comm_eff.mask.seed=0 actor_rollout_ref.actor.comm_eff.mask.pp_size=8 actor_rollout_ref.actor.comm_eff.anchor.enabled=true actor_rollout_ref.actor.comm_eff.anchor.cadence=20 actor_rollout_ref.actor.comm_eff.anchor.delay_K=20 actor_rollout_ref.actor. ## signed-ema-b50-la python3 -m verl.trainer.main_ppo algorithm.adv_estimator=grpo data.train_files=/workspace/data/deepscaler/train.parquet data.val_files=/workspace/data/deepscaler/test.parquet data.train_batch_size=128 data.max_prompt_length=2048 data.max_response_length=16384 data.filter_overlong_prompts=True data.truncation=error algorithm.use_kl_in_reward=False actor_rollout_ref.model.path=deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B actor_rollout_ref.model.use_remove_padding=True actor_rollout_ref.model.enable_gradient_checkpointing=True actor_rollout_ref.actor.optim.lr=1e-6 actor_rollout_ref.actor.ppo_mini_batch_size=64 actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 actor_rollout_ref.actor.use_kl_loss=True actor_rollout_ref.actor.kl_loss_coef=0.001 actor_rollout_ref.actor.kl_loss_type=low_var_kl actor_rollout_ref.actor.entropy_coeff=0 actor_rollout_ref.actor.fsdp_config.param_offload=False actor_rollout_ref.actor.fsdp_config.optimizer_offload=False actor_rollout_ref.actor.ppo_max_token_len_per_gpu=3000 actor_rollout_ref.actor.use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.tensor_model_parallel_size=1 actor_rollout_ref.rollout.name=vllm actor_rollout_ref.rollout.gpu_memory_utilization=0.85 actor_rollout_ref.rollout.enable_chunked_prefill=False actor_rollout_ref.rollout.enforce_eager=False actor_rollout_ref.rollout.free_cache_engine=True actor_rollout_ref.rollout.log_prob_use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_max_token_len_per_gpu=4096 actor_rollout_ref.rollout.checkpoint_engine.update_weights_bucket_megabytes=4096 actor_rollout_ref.rollout.n=16 actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.ref.fsdp_config.param_offload=True actor_rollout_ref.ref.log_prob_use_dynamic_bsz=True actor_rollout_ref.ref.log_prob_max_token_len_per_gpu=8192 trainer.critic_warmup=0 'trainer.logger=["console","wandb"]' trainer.project_name=63-deepscaler-r1d-signed-ema-k20 trainer.experiment_name=63-signed-ema-b50-la trainer.n_gpus_per_node=4 trainer.nnodes=1 trainer.save_freq=100 trainer.test_freq=25 trainer.total_epochs=2 actor_rollout_ref.actor.ppo_max_token_len_per_gpu=20000 actor_rollout_ref.actor.use_dynamic_bsz=True actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.log_prob_max_token_len_per_gpu=36864 actor_rollout_ref.rollout.log_prob_use_dynamic_bsz=True actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.ref.log_prob_max_token_len_per_gpu=36864 actor_rollout_ref.ref.log_prob_use_dynamic_bsz=True actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=1 actor_rollout_ref.rollout.calculate_log_probs=True algorithm.rollout_correction.rollout_is=null algorithm.rollout_correction.rollout_rs=null algorithm.rollout_correction.bypass_mode=false actor_rollout_ref.actor.fsdp_config.param_offload=False actor_rollout_ref.actor.fsdp_config.optimizer_offload=False actor_rollout_ref.actor.fsdp_config.use_orig_params=true actor_rollout_ref.ref.fsdp_config.param_offload=True actor_rollout_ref.model.enable_gradient_checkpointing=True actor_rollout_ref.model.use_remove_padding=True actor_rollout_ref.actor.use_kl_loss=False algorithm.use_kl_in_reward=False actor_rollout_ref.actor.entropy_coeff=0 trainer.total_training_steps=102 trainer.val_before_train=True trainer.checkpoint_r2_enabled=true actor_rollout_ref.actor.comm_eff.enabled=true actor_rollout_ref.actor.comm_eff.compression_type=powersgd actor_rollout_ref.actor.comm_eff.clean_cadence=0 actor_rollout_ref.actor.comm_eff.mask.enabled=false actor_rollout_ref.actor.comm_eff.mask.p=0.9 actor_rollout_ref.actor.comm_eff.mask.rescale=true actor_rollout_ref.actor.comm_eff.mask.mask_recompute=true actor_rollout_ref.actor.comm_eff.mask.seed=0 actor_rollout_ref.actor.comm_eff.mask.pp_size=8 actor_rollout_ref.actor.comm_eff.anchor.enabled=true actor_rollout_ref.actor.comm_eff.anchor.cadence=20 actor_rollout_ref.actor.comm_eff.anchor.delay_K=20 actor_rollout_ref.act