forked from NVIDIA/nvflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontainers.yaml
More file actions
88 lines (80 loc) · 4.66 KB
/
Copy pathcontainers.yaml
File metadata and controls
88 lines (80 loc) · 4.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Container Image References
#
# This file defines the Docker images used by setup_containers.sh
# to create .sqsh container images for Slurm.
#
# This is a TEMPLATE -- do not edit this file directly.
# Copy it to a personal file and update with your registry paths:
#
# cp cluster_configs/containers.yaml cluster_configs/my_containers.yaml
# # Edit my_containers.yaml with your registry paths
# sbatch --account=<acct> scripts/setup_containers.sh --config cluster_configs/my_containers.yaml ./containers
#
# Naming:
# YAML KEYS (nemo-rl, nemo-gym, nemo-skills, vllm, vllm-grpo, sglang) match the
# short names the workflow code uses to look up containers -- do NOT rename
# them. Only the values (registry/tag refs) change between deployments.
#
# Format:
# - Simple string: image reference (e.g., your-registry/nvflow-nemo-skills:v1.1.2)
# - Nested object: Platform-specific tags (amd64/arm64 keys)
#
# Built locally (custom images; all deps pre-installed, no runtime downloads):
# nemo-rl -> dockerfiles/Dockerfile.nemo-rl (base: nvcr.io/nvidia/nemo-rl:v0.7.0)
# nemo-skills -> dockerfiles/Dockerfile.nemo-skills (base: ubuntu:22.04, NeMo-Skills @ e06c9b90)
# vllm -> dockerfiles/Dockerfile.vllm (base: vllm/vllm-openai:v0.22.0)
# vllm-grpo -> dockerfiles/Dockerfile.vllm --build-arg VLLM_VERSION=v0.20.0
# nemo-gym -> dockerfiles/Dockerfile.nemo-gym (base: python:3.12-slim, CPU-only Gym client)
# Pulled as-is (no custom Dockerfile):
# sglang -> lmsysorg/sglang:v0.5.10.post1
#
# Optional launcher image for airgapped users (airgap-only; NOT a worker -- see
# the nvflow-client entry below):
# nvflow-client -> dockerfiles/Dockerfile.nvflow (base: digest-pinned ubuntu:24.04; multi-arch amd64+arm64)
containers:
# ---------------------------------------------------------------------------
# Required: Built locally from dockerfiles/, then pushed to your registry
# (see INSTALL.md Step 1 and Step 2).
# ---------------------------------------------------------------------------
# SFT/GRPO trainer. Extends the NeMo-RL v0.7.0 base with the NeMo-Gym
# per-component venvs baked in, so no `uv` resolve happens at job runtime.
# dockerfiles/Dockerfile.nemo-rl (upstream Gym main 33ef60369). The stock base
# also works if your compute nodes have internet during training.
nemo-rl: <YOUR_REGISTRY>/nvflow-nemo-rl:v0.7.0
# CPU-only Gym client for the Gym-only stages (DG-SDG gym stages + GRPO
# prepare_data/prefetch_cache). dockerfiles/Dockerfile.nemo-gym (base:
# python:3.12-slim; upstream Gym main 33ef60369; per-component venvs baked).
nemo-gym: <YOUR_REGISTRY>/nvflow-nemo-gym:0.4.0
# Tested: nvflow-nemo-skills:v1.1.2 (NeMo-Skills @ commit e06c9b90)
nemo-skills: <YOUR_REGISTRY>/nvflow-nemo-skills:v1.1.2
# Tested: nvflow-vllm:v0.22.0 (extends vllm/vllm-openai:v0.22.0;
# pre-cached tiktoken + openai_harmony; multi-arch amd64 + arm64)
vllm: <YOUR_REGISTRY>/nvflow-vllm:v0.22.0
# Tested: nvflow-vllm:v0.20.0 (extends vllm/vllm-openai:v0.20.0; pinned to
# match NeMo-RL v0.7.0 colocated vLLM). Same repo as `vllm`, different tag.
vllm-grpo: <YOUR_REGISTRY>/nvflow-vllm:v0.20.0
# ---------------------------------------------------------------------------
# Required: Pulled as-is (no custom Dockerfile)
# ---------------------------------------------------------------------------
# Tested: lmsysorg/sglang:v0.5.10.post1
sglang: lmsysorg/sglang:v0.5.10.post1
# ---------------------------------------------------------------------------
# OPTIONAL -- launcher image, ONLY for users in an airgapped environment who
# cannot `uv sync` / pip-install. It is NOT a worker and is NOT referenced by
# my_cluster.yaml `containers:`; it bundles the `nflow` CLI + baked venv to
# drive NVFlow over an ssh_tunnel with no host install and no user-side internet.
# The default install remains `uv sync` (README / INSTALL.md).
# Built multi-arch (amd64 + arm64) from dockerfiles/Dockerfile.nvflow; see
# docs/remote-launch.md.
#
# Tested: nvflow-client:v1.1.2. Substitute the tag you built and pushed.
# ---------------------------------------------------------------------------
nvflow-client: <YOUR_REGISTRY>/nvflow-client:<RELEASE_TAG>
# ---------------------------------------------------------------------------
# Optional: Not currently used by NVFlow recipes
# Uncomment and update if needed for your workflows.
# ---------------------------------------------------------------------------
# trtllm: nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc8
# megatron: <YOUR_REGISTRY>/nemo-skills-megatron:<TAG>
# sandbox: <YOUR_REGISTRY>/nemo-skills-sandbox:<TAG>
# verl: <YOUR_REGISTRY>/nemo-skills-verl:<TAG>