add inference tests - #3
Merged
Merged
Conversation
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
samsja
force-pushed
the
add-inference-test
branch
from
February 20, 2025 21:50
2afc8d7 to
6907933
Compare
samsja
marked this pull request as draft
February 20, 2025 22:00
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
samsja
marked this pull request as ready for review
February 20, 2025 22:07
leonardtang
pushed a commit
to haizelabs/prime-rl
that referenced
this pull request
Jan 1, 2026
Downloading data from drives
samsja
added a commit
that referenced
this pull request
Mar 30, 2026
* add new env * add more gpu trainer * add more gpu train * update deps * add tmux helper * update confiogs * update int4 * add multi env worker * add generating logs filter * split verticaly --------- Co-authored-by: Mika Senghaas <mail@mikasenghaas.de>
seanbell
added a commit
to clouddatalabs/scalerl-prime-rl
that referenced
this pull request
Apr 25, 2026
snowflake_poc_critique.md findings PrimeIntellect-ai#2 and PrimeIntellect-ai#3 against arXiv:2510.13786: - Terminal-Bench handoff config now matches the paper's batch geometry: batch_size = 768 (= 48 prompts × 16 generations/step). The math smoke config keeps batch_size = 256 (16 prompts × 16) — already documented inline as a smaller-than-paper smoke choice; that comment stays. - Both configs now use trainer.scheduler.type = "linear" with warmup_steps = 100 and decay_steps = 0 to match the paper's 100-step linear warmup into the constant LR phase. torch.optim's LinearLR caps at end_factor=1.0 after total_iters, so warmup_steps=100 + decay_steps=0 is effectively warmup→constant. Comment in the math config explains the mechanism so future readers don't re-flatten to pure constant. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
seanbell
added a commit
to clouddatalabs/scalerl-prime-rl
that referenced
this pull request
Apr 26, 2026
Previously emitted warnings.warn(); test-api critique PrimeIntellect-ai#3: a warning is invisible under PYTHONWARNINGS=ignore and in log-suppressed SLURM contexts. ScaleRL §3.2 IS-parity violation has to fail loud or it silently ships bf16 LM-head matmul to the trainer. Replace the warning with a ValueError that names the three remediation paths: drop fp32_lm_head=True, add an [inference] block, or set the opt-in env var PRIME_RL_FP32_LM_HEAD_EXTERNAL_OK=1 to acknowledge you've exported PRIME_RL_VLLM_FP32_LM_HEAD=1 on the external vLLM server yourself. Update the existing test to expect the ValidationError, plus a new test for the explicit opt-out path. Inference-omitted + fp32_off remains a clean accept (no IS-parity hazard).
snimu
added a commit
that referenced
this pull request
Jun 4, 2026
- enabled_losses=None now validated as the full term list, so >1 echo term per env is caught at config time instead of at rollout time. [review #6] - loss_overrides keys validated against `losses`; non-echo overrides rejected. [#7] - warn (don't fail) when prompt-role echo is configured with renderer=None (MITO), where prompt_attribution is unavailable so it would silently no-op. [#8] - token_export: add echo_mask/echo_weight columns + export sequences trained only via echo (gate on loss_mask OR echo_mask). [#9] - doc notes: echo CE uses the rollout temperature (scale alpha to compensate, kept as-is); negative alpha is intentional (suppresses tokens). [#1, #10] - tests for the new config validators. Deferred to a follow-up pass (per the review): full per-sample primary routing / rl-disable [#2b] + the <=1-primary validation it enables [#5], and the multi-run losses fingerprint [#3]. Not run locally; ruff + py_compile clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
snimu
added a commit
that referenced
this pull request
Jun 4, 2026
…review #3) The trainer builds its loss cores once from its startup `losses`; each run's orchestrator carries its own. Register a MultiRunManager config-validation hook (alongside the LoRA-rank hook, reusing the per-run config-discovery path) that rejects a run whose `losses` differ from the trainer's. Single-run is already covered by validate_shared_losses. Not run locally; ruff + py_compile clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
snimu
added a commit
that referenced
this pull request
Jun 5, 2026
…lters - #2 loss_overrides may only override fields the orchestrator applies per-env: the role/custom `filters` and a *constant* weight's `alpha`. Overriding `weight` type/tau/custom, `loss` (core), or `name` (all resolved globally) is now rejected at config time instead of silently ignored. - #3 filters chain by AND (intersection): to_echo_config intersects role filters' role sets (and tool_names) and keeps *all* custom filters; build_echo_annotations intersects their per-step masks (_apply_echo_filters). EchoLossConfig.filter -> filters (list). validate_supported rejects role filters that intersect to no roles. Multiple role/custom filters now narrow rather than union/last-win. Tests: loss-override unsupported-field rejection; disjoint-role-filter rejection; multiple-filter acceptance. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
snimu
added a commit
that referenced
this pull request
Jun 10, 2026
…ithout 'tool' role Two config guardrails from the bug review (#3, #8) that prevent silently-no-op configs: #3 — `reference.logprobs.top_k` is shipped ahead of its consumer (top-k scoring is a follow-up: prefill request + wider transport + a core). Accepting top_k>1 made it silently behave like top_k=1; reject it with a clear "not supported yet" message until the follow-up wires it. #8 — `EchoAdvantageConfig.tool_names` only narrows the 'tool' role, so setting it without 'tool' in `roles` is a silent no-op (echo_advantage only checks names on tool-role tokens). Reject it (add 'tool' to roles or drop tool_names). Tests: both rejections. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.