Skip to content

Data stream 2 - #5

Merged
samsja merged 22 commits into
mainfrom
data-stream-2
Feb 25, 2025
Merged

Data stream 2#5
samsja merged 22 commits into
mainfrom
data-stream-2

Conversation

@samsja

@samsja samsja commented Feb 25, 2025

Copy link
Copy Markdown
Member

Okay so this new version of the data loader

As discussed offline we are following this pattern:

image

seems that we don't have performance issue, ( done on 2xa40 with a 150m)

Screenshot from 2025-02-24 17-37-44

Maybe need to check performance a bit more once we have e2e run

Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
Signed-off-by: Sami Jaghouar <sami.jaghouar@gmail.com>
@samsja
samsja merged commit 99a69b9 into main Feb 25, 2025

@Jackmin801 Jackmin801 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LFGTM! :p

samsja added a commit that referenced this pull request Mar 30, 2026
* add swebench lite

* fix dataset name

---------

Co-authored-by: Mika Senghaas <mail@mikasenghaas.de>
seanbell added a commit to clouddatalabs/scalerl-prime-rl that referenced this pull request Apr 26, 2026
…polish

- scripts/prebuild_tb_images.sh: drop `set -e`; report per-task
  succeeded/failed at end and exit non-zero if any failed (an upstream
  task with a broken Dockerfile, e.g. log-summary's missing logs/ dir,
  no longer aborts the remaining 27 builds).
- docs/SCALERL.md "4xB200" → "single 8-GPU B200 node (4 train + 4
  infer GPUs split per the [deployment] block)" — disambiguates the
  steady-state perf number for Snowflake reading capacity sizing
  (Snowflake POC critique PrimeIntellect-ai#5).
- configs/scalerl_math/rl.toml: add doc note that the implicit
  `use_token_client = true` default is correct ONLY for single-turn
  envs. Cross-references the TB config's full rationale so a future
  user copying scalerl_math to bootstrap a multi-turn env doesn't
  silently get the linear-history corruption mode (Snowflake POC
  critique PrimeIntellect-ai#6).
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
…#2/#5)

- enabled_losses can now disable the primary loss for an env: when the term
  matching training_mode isn't enabled, train_sink zeroes that env's samples'
  completion_mask (after the decode/prefill metric), so the primary core trains
  nothing while echo (its own mask) still applies. [#2b]
- setup_loss_fns no longer fabricates a default rl core when no rl/custom term
  exists; the rl core raises if an rl-mode batch is applied. [#2a, trainer-side]
- OrchestratorConfig.validate_primary_loss: training_mode must have a matching
  term (rl/custom | sft | opd) in `losses`. [#2a, config-time]
- LossList rejects more than one primary (rl/custom) term. [#5]
- tests for the validators + the no-rl-term rl-core error.

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
…ht resolver

- #1 reserve loss-term names {sft, opd} (any term) and `rl` (non-primary), so an overlay can't
  silently overwrite a training_mode dispatch core or the rl primary in the trainer registry.
- #5 resolve the primary's advantage weight orchestrator-side: scale the per-token advantage by the
  advantage-weight's tau in process_group and drop adv_tau from the dppo_kl core / RLLossConfig. Now
  *any* primary core (dppo_kl or custom) gets the resolved advantage × tau — no per-core special-case.
  Bit-identical for the default tau=1.0.
- #4 overlay trainability = non-None AND non-zero, so a zero-weight overlay (e.g. advantage-weighted
  with zero advantage) no longer keeps an otherwise-empty batch alive past the empty-batch guard.
- #6 custom overlay weight resolver is group-aware: it now receives `WeightInputs{sample, rollouts}`
  (the full GRPO group) instead of a lone sample, so it can compute group-relative weights.
- #10 document the overlay_mask/overlay_weight token-export columns (schema v2) in the configs skill.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
snimu added a commit that referenced this pull request Jun 10, 2026
…ted) rollout

Bug review #5: the token-backfill path (renderer build_trajectory_step) doesn't
emit prompt_attribution, so prompt-side role tokens (system/user/tool) stay
unattributed and prompt-role echo silently trains nothing on backfilled rollouts
(e.g. SFT against external APIs). Completion/assistant echo is unaffected.

Loud guard rather than a silent no-op: TrainSink precomputes whether any echo
term targets a role beyond "assistant", and process_rollout warns once when such
a config meets a backfilled rollout. The full fix (emit prompt_attribution from
build_trajectory_step, or attribute in the backfill path) is noted in the warning
and left for the renderer submodule.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mikasenghaas
mikasenghaas deleted the data-stream-2 branch August 5, 2026 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants