Skip to content

Attempt to add rank max learning rate logic into in-loop-evals PR#586

Draft
piperwolters wants to merge 6 commits into
mainfrom
piperw/in-loop-evals-test
Draft

Attempt to add rank max learning rate logic into in-loop-evals PR#586
piperwolters wants to merge 6 commits into
mainfrom
piperw/in-loop-evals-test

Conversation

@piperwolters

@piperwolters piperwolters commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Based on tests, this is seeming to run fine with run_as_beaker_job True or False. When True, each eval job is auto launched with rank_max_lr_num_gpus (default is 8). If False, the GPU amount just uses the training world size.

Logic taken from: #505

Testing in progress here:

piperwolters and others added 4 commits June 25, 2026 18:24
This was a one-off harness used to launch the 400k v1.2 + GeoBench-2
in-loop eval validation run, not part of the feature itself. The in-loop
eval functionality lives in loop_eval_launch.py, evaluator_callback.py,
and wandb.py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@piperwolters
piperwolters marked this pull request as draft June 30, 2026 23:37
root and others added 2 commits July 1, 2026 04:27
checkpoint_sweep_evals builds a MockOlmoEarthDataLoader to satisfy the
trainer interface, but it hardcoded dp_world_size=1. The trainer validates
the loader's DP world size against the process-group world size, so a
rank-max LR eval job launched with >1 GPU failed with:
  OLMoConfigurationError: data loader's DP world size ... got 1, expected 8

Read the world size/rank from the distributed context instead (no-op for
single-process jobs, where get_world_size() returns 1).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Base automatically changed from gabi/split-in-loop-evals to main July 7, 2026 09:55
@gabrieltseng

Copy link
Copy Markdown
Collaborator

comment from @pjreddie - since we run the evals in a separate job now, can we sweep learning rates but do it sequentially, so this only requires a single GPU ?

This might make the evals very slow to run though

@piperwolters

Copy link
Copy Markdown
Contributor Author

comment from @pjreddie - since we run the evals in a separate job now, can we sweep learning rates but do it sequentially, so this only requires a single GPU ?

This might make the evals very slow to run though

Hmm good point. Is there usually a "rush" to get results when sweeping learning rates, or is it more of an after-thought once we've found a good model?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants