NVIDIA-NeMo / NVIDIA-NeMo/RL

Nemo Gym nodes are not starting in Lepton RayCluster

Open
#2,352 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
2k
Forks
561
Avg merge
4d 5h
Merged PRs (30d)
145

Description

**Describe the bug**

While doing RLVR on A100 nodes on Lepton using Nemotron which calls Nemo RL. Below is the error I get.
Surprisingly there is no issue running the same on SLURM.

▶ Setting up compute cluster...
policy_nodes:4 + nemo_gym_nodes:4 + rm_nodes:0 = total_nodes:8
Traceback (most recent call last):
File "/opt/nemo-rl/nemo_rl/algorithms/grpo.py", line 452, in setup
ray.get(helper_pg.ready(), timeout=1000)
File "/opt/nemo_rl_venv/lib/python3.12/site-packages/ray/_private/auto_init_hook.py", line 22, in auto_init_wrapper
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/opt/nemo_rl_venv/lib/python3.12/site-packages/ray/_private/client_mode_hook.py", line 104, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/opt/nemo_rl_venv/lib/python3.12/site-packages/ray/_private/worker.py", line 2882, in get
values, debugger_breakpoint = worker.get_objects(object_refs, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/nemo_rl_venv/lib/python3.12/site-packages/ray/_private/worker.py", line 942, in get_objects
] = self.core_worker.get_objects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "python/ray/_raylet.pyx", line 3215, in ray._raylet.CoreWorker.get_objects
File "python/ray/includes/common.pxi", line 98, in ray._raylet.check_status
ray.exceptions.GetTimeoutError: Get timed out: some object(s) not ready.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/mnt/lustre-shared/_nemotron/src/nemotron/recipes/super3/stage2_rl/stage1_rlvr/train.py", line 474, in
main()
File "/mnt/lustre-shared/_nemotron/src/nemotron/recipes/super3/stage2_rl/stage1_rlvr/train.py", line 402, in main
) = setup(config, tokenizer, train_dataset, val_dataset)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/nemo-rl/nemo_rl/algorithms/grpo.py", line 458, in setup
raise TimeoutError(
TimeoutError: Timed out waiting for placement groups to be ready. The cluster may not have enough resources to satisfy the requested configuration, or the resources may be busy with other tasks.

**Expected behavior**

▶ Setting up compute cluster...
policy_nodes:4 + nemo_gym_nodes:4 + rm_nodes:0 = total_nodes:8
✓ Ray cluster for NeMo Gym reserved with 4 nodes
DEBUG: grpo setup: nemo_gym_num_nodes = 4
DEBUG: grpo setup: nemo_gym_nodes = [{'node_id': '534dc20aba6f31c281d75807e1bc4cxxx', 'node_ip': '10.65.20.3'}, {'node_id': '1e431947ab9e3e058642d5711e3dcbdf50db0dacxx', 'node_ip': '10.65.9.207'}, {'node_id': 'df7489327ac55a8b4f4cd7f41xx', 'node_ip': '10.65.25.3'}, {'node_id': '769ace5eca1c40a9feccbf81d15b6xx', 'node_ip': '10.65.17.211'}]
✓ Ray train cluster initialized with 2 nodes with 8 GPUs per node
✓ Ray inference cluster initialized with 2 nodes with 8 GPUs per node

**Additional context**

I have also tried with longer timeouts and diff compute nodes combinations between policy_nodes and nemo_gym_nodes, not helping!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.