Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
d86e6c9
feat: add NeMo Gym rollouts pipeline and multi-node vLLM support
gwarmstrong Feb 10, 2026
4e6e6cf
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Feb 13, 2026
268b2e6
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Feb 17, 2026
85ab39d
fix: address review feedback on gym rollouts pipeline
gwarmstrong Feb 17, 2026
03f3ee7
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Feb 17, 2026
a34c0d6
refactor: address PR review feedback for gym rollouts pipeline
gwarmstrong Mar 3, 2026
278f370
docs: document packaging override env vars
gwarmstrong Mar 3, 2026
aa2320e
test: add GPU dry-run tests for nemo_gym_rollouts pipeline
gwarmstrong Mar 4, 2026
12169c5
fix: align server_address/model params with ns generate pattern
gwarmstrong Mar 4, 2026
14a71cd
fix: add input validation from CodeRabbit review
gwarmstrong Mar 4, 2026
a11a15d
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Mar 4, 2026
4571a2e
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Mar 4, 2026
241c57f
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Mar 5, 2026
ab7f44a
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Mar 5, 2026
3a8ebcc
fix: add REQUIRES_SANDBOX for livecodebench datasets
gwarmstrong Mar 6, 2026
0fa0d5d
fix: install compatible datasets version for livecodebench grading
gwarmstrong Mar 6, 2026
276263e
revert: remove REQUIRES_SANDBOX for livecodebench
gwarmstrong Mar 7, 2026
ff4d8fe
fix: fallback to local evaluation when livecodebench sandbox fails
gwarmstrong Mar 7, 2026
f37e477
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Apr 8, 2026
905de11
Merge branch 'georgea/nemo-gym-rollouts-pr' of github.com:NVIDIA/NeMo…
gwarmstrong Apr 8, 2026
4251e23
Merge branch 'main' into georgea/nemo-gym-rollouts-pr
gwarmstrong Apr 16, 2026
2915631
fix(tests): patch sandbox_command/get_free_port at server submodule
gwarmstrong Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions docs/basics/code-packaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,21 @@ running commands from it.
```
In all cases, uncommitted code will not be used.

!!! note

You can override the default packaging behavior with the following environment variables:

- `NEMO_SKILLS_FORCE_PATTERN_PACKAGER=1` — Skip git-based packaging entirely and always use the installed
`nemo_skills` package tree (PatternPackager). Useful when you have an editable install and don't want
packaging tied to the git state of your current directory.
- `NEMO_SKILLS_FORCE_INSTALLED_PACKAGE=1` — When running from a git repo, use the installed `nemo_skills`
package instead of the repo's `nemo_skills/` directory. The git repo is still packaged, but `nemo_skills`
is picked up from the installed location. Useful when your repo checkout has extra files you don't want
uploaded.

Note that `NEMO_SKILLS_FORCE_INSTALLED_PACKAGE` has no effect when `NEMO_SKILLS_FORCE_PATTERN_PACKAGER`
is also set, since the latter bypasses the git repo branch entirely.


Finally, it's important to keep in mind that whenever you submit a new experiment, NeMo-Run will create a copy of your
code package both locally (inside `~/.nemo_run`) and on cluster (inside `ssh_tunnel/job_dir` path in your cluster config).
Expand Down
8 changes: 6 additions & 2 deletions nemo_skills/evaluation/evaluator/livecodebench.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ async def eval_livecodebench_async(eval_config: LiveCodeBenchEvaluatorConfig):
"""Evaluation running within a sandbox."""
async with sandbox_context(eval_config.sandbox) as sandbox:
if not await _install_packages_in_sandbox(sandbox, eval_config):
return
raise RuntimeError("Failed to install livecodebench packages in sandbox.")

jsonl_file = eval_config.input_file
LOG.info(f"Processing file: {jsonl_file} in sandbox")
Expand Down Expand Up @@ -299,6 +299,10 @@ def eval_livecodebench(cfg):
raise RuntimeError("The 'pypy3' interpreter requires a running sandbox, but the service was unreachable.")

if sandbox_is_ready:
asyncio.run(eval_livecodebench_async(eval_config))
try:
asyncio.run(eval_livecodebench_async(eval_config))
except Exception as e:
LOG.warning(f"Sandbox evaluation failed: {e}. Falling back to local evaluation.")
eval_livecodebench_without_sandbox(eval_config)
else:
eval_livecodebench_without_sandbox(eval_config)
1 change: 1 addition & 0 deletions nemo_skills/pipeline/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
from nemo_skills.pipeline.generate import generate
from nemo_skills.pipeline.megatron_lm.train import train_megatron_lm
from nemo_skills.pipeline.nemo_evaluator import nemo_evaluator
from nemo_skills.pipeline.nemo_gym_rollouts import nemo_gym_rollouts
from nemo_skills.pipeline.nemo_rl.grpo import grpo_nemo_rl
from nemo_skills.pipeline.nemo_rl.sft import sft_nemo_rl
from nemo_skills.pipeline.prepare_data import prepare_data
Expand Down
Loading
Loading