diff --git a/README.md b/README.md index d8b1505c46..bc7885eeb0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,15 @@ # Nemo Skills +> [!NOTE] +> **Benchmarks and rollouts are moving to [NeMo-Gym](https://github.com/NVIDIA-NeMo/Gym).** We +> encourage you to move your rollout workflows over to NeMo-Gym, and to implement new benchmarks +> there rather than in Nemo-Skills. +> +> Nemo-Skills will continue to add support for running NeMo-Gym benchmarks, so you can run them with +> the same cluster configs, server configurations, and slurm setup you already use. The benchmark +> implementation itself should live in NeMo-Gym. An early version of this exists today as +> `ns nemo_gym_rollouts`, but the interface is experimental and will likely change. + Nemo-Skills is a collection of pipelines to improve "skills" of large language models (LLMs). We support everything needed for LLM development, from synthetic data generation, to model training, to evaluation on a wide range of benchmarks. Start developing on a local workstation and move to a large-scale Slurm cluster with just a one-line change. diff --git a/core/requirements.txt b/core/requirements.txt index 0d0fdd2c58..ff5ff67111 100644 --- a/core/requirements.txt +++ b/core/requirements.txt @@ -23,9 +23,13 @@ koifeval @ git+https://github.com/bzantium/koifeval.git@7a27889c0cf285e60b1a7b47 langcodes langdetect language-data -litellm[caching]==1.83.14 +# 1.83.14 hard-pins click==8.1.8, which caps the whole tree below click 8.2. +# 1.84.10 relaxes that to click>=8.0.0,<9.0 (and clears GHSA-4xpc-pv4p-pm3w). From #1507. +litellm[caching]==1.84.10 math-verify[antlr4_9_3] -mcp +# mcp 2.0 removed the streamablehttp_client alias that nemo_skills/mcp/clients.py imports. +# Unpin once those call sites move to streamable_http_client and the 2.0 API is verified. +mcp<2.0 numpy openai openpyxl>=3.1.0 @@ -43,4 +47,6 @@ sympy torchcodec tqdm transformers -wandb +# Floors click to >=8.2 (wandb 0.26.x only requires click>=8.0.1, so the resolver +# was settling on click 8.1.8). Taken from #1507. +wandb>=0.27.1 diff --git a/docs/index.md b/docs/index.md index fb9edd25ed..ddec0a3f03 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,6 +4,17 @@ hide: - toc --- +!!! note "Benchmarks and rollouts are moving to NeMo-Gym" + + We encourage you to move your rollout workflows over to + [NeMo-Gym](https://github.com/NVIDIA-NeMo/Gym), and to implement new benchmarks there rather + than in Nemo-Skills. + + Nemo-Skills will continue to add support for running NeMo-Gym benchmarks, so you can run them + with the same cluster configs, server configurations, and slurm setup you already use. The + benchmark implementation itself should live in NeMo-Gym. An early version of this exists today + as `ns nemo_gym_rollouts`, but the interface is experimental and will likely change. + [Nemo-Skills](https://github.com/NVIDIA-NeMo/Skills) is a collection of pipelines to improve "skills" of large language models (LLMs). We support everything needed for LLM development, from synthetic data generation, to model training, to evaluation on a wide range of benchmarks. Start developing on a local workstation and move to a large-scale Slurm cluster with just a one-line change. Here are some of the features we support: diff --git a/pyproject.toml b/pyproject.toml index f6f24aca81..617e40e6e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,7 +73,7 @@ dev = { file = ["requirements/common-tests.txt", "requirements/common-dev.txt"] # rely on pip's looser resolver instead. override-dependencies = [ # leptonai (pulled in by nemo_run) hard-pins httpx[http2]==0.27.2, which - # conflicts with litellm==1.83.14's httpx==0.28.1. Relax the pin so the + # conflicts with litellm's httpx>=0.28.0 floor. Relax the pin so the # resolver can pick a single version that satisfies litellm. "httpx[http2]>=0.28.1", # urllib3<2 has open CVEs (e.g. CVE-2024-37891 / CVE-2025-50182). torchx diff --git a/requirements/pipeline.txt b/requirements/pipeline.txt index 8cc278c7ed..00e5a19f06 100644 --- a/requirements/pipeline.txt +++ b/requirements/pipeline.txt @@ -1,7 +1,11 @@ # Pipeline/orchestration dependencies (CLI, cluster management, experiment tracking). # These are additional to core/requirements.txt. -click < 8.2.0 # https://github.com/ai-dynamo/dynamo/issues/1039 nemo-evaluator-launcher<0.1.47 nemo_run @ git+https://github.com/NVIDIA-NeMo/Run -typer >= 0.13 +# >=0.16 is click 8.2 compatible (fixes the make_metavar break behind +# https://github.com/ai-dynamo/dynamo/issues/1039). +# <0.27 because typer 0.27.0 generates dash-separated option names (--output-dir) +# instead of the underscore names (--output_dir) that every `ns` command, test and +# doc example uses. Lift the cap only together with a repo-wide rename. +typer >= 0.16, < 0.27