evaluation
NeMo Evaluator Launcher (NEL) का उपयोग करके क्वांटाइज़्ड या अनक्वांटाइज़्ड LLMs की सटीकता का मूल्यांकन करता है। "evaluate model", "benchmark accuracy", "run MMLU",… पर ट्रिगर होता है।
npx skills add https://github.com/nvidia/model-optimizer --skill evaluationNeMo Evaluator Launcher Assistant
Guide the user through creating NEL YAML configs, running evaluations, and monitoring progress. NEL manages serving for canaries and full runs; see Step 3's serving-handoff check for external endpoints.
Completed-run analysis
For completed runs, skip launch/config; use launching-evals for artifacts/analysis and apply run-validation.md before scores. Its policy overrides blanket uncapping and fixed token/context limits.
Workspace integration
If MODELOPT_WORKSPACE_ROOT is set, use the common skill's workspace-management.md and reuse existing workspaces (PTQ → checkpoint smoke test → NEL evaluation; carry compatibility requirements into NEL's deployment config).
Workflow
- [ ] Step 0: Check workspace (if MODELOPT_WORKSPACE_ROOT set)
- [ ] Step 1: Check `nel` install + existing config; set up `.env` (+ `modelopttools:eval-config` for judge-scored runs)
- [ ] Step 2: Build base config (5-question flow OR shortcut)
- [ ] Step 3: Configure deployment (model path, params, cross-check)
- [ ] Step 4: Fill remaining ??? values
- [ ] Step 5: Confirm tasks (iterative)
- [ ] Step 6: Multi-node (if needed)
- [ ] Step 7: Interceptors (if needed)
- [ ] Step 7.5: Container auth (SLURM private images)
- [ ] Step 8: Dry-run → canary → full run
- [ ] Step 9: Verify completed run
nel-next path (Terminal-Bench 2.x, SWE-bench, …) — branch here FIRST
A few agentic AA benchmarks do not run on the currently validated
nemo-evaluator-launcher 0.2.6 path (Steps 1–9 don't apply). They run on nel-next
(nemo-evaluator[harbor] 0.4.x) — a separate package, CLI (nel eval run), -O
overrides, and services/benchmarks/cluster/output schema. If the user asks
for one, do not add it to a 0.2.6 evaluation.tasks list — instead:
- Read
references/nel-next.md(shared: venv, schema, AWS creds, architecture, timeout strategy, MLflow, run flow) + the per-benchmark reciperecipes/tasks/aa_next/{terminal_bench_2_1,swebench_verified}.md; start fromrecipes/examples/example_eval_next.yaml. - Isolated nel-next venv:
"$SKILL_DIR/scripts/nel-next.sh" --setup-only(keeps 0.2.6neluntouched). - Run
modelopttools:eval-config(Step 3b) to write the AWS-sandbox creds + harbor infra rows (${NEL_NEXT_EVAL_IMAGE},${HARBOR_*_ECR_REPOSITORY},${HARBOR_ECS_REGION}) into.env; always include theoutput.export_config.mlflowblock. - Dry-run → canary → full (
nel-next.sh eval run), then push to MLflow — SLURM doesn't auto-export, so runnel-next.sh mlflow-push -r <run_id> -c <cfg>after (config-driven; seereferences/nel-next.md). - Before reporting a full-run score, apply
references/run-validation.md, including its benchmark-specific checks.
Steps 1–9 below are currently validated with 0.2.6 — use them for everything else.
MRCR (NeMo Gym simple_agent) path — branch here too
MRCR does run on the currently validated 0.2.6 nel launcher (as a nemo_gym
task, not nel-next), so Steps 1–9 apply — but it is mechanically special and
standalone (one gym eval per config; never mix it with aa/ tasks). It is
simple as gym tasks go: simple_agent, no judge — deterministic prefix-gated
grading, HF_TOKEN the only secret. Not an AA benchmark — never generate it
for an "AA" request. If the user asks for MRCR:
- Read
references/gym.md(pinned launcher, gym prepare/reap machinery, pin↔container coupling, preflight gaps, failure modes) +recipes/tasks/gym/mrcr.md; start fromrecipes/examples/gym/example_mrcr.yaml(1M variant, like the golden). - Pick the variant first (
config_n3_1m/config_n3_128k/config) — it sets the context cap, dataset and metric prefix; the three are not comparable; set it in bothdata_prep_paramsandcollect_rollout_params. Take the largest variant within the checkpoint's trained context — see the recipe. .env:HF_TOKEN(dataset + n3 tokenizer are gated) plusNEMO_EVALUATOR_TRUST_PRE_CMD=1(thepre_cmdinstallstiktoken+transformers; prepare fails without it) andNEMO_EVALUATOR_TRUST_UNLISTED_TASKS=1(nemo_gymis not in the FDF map).- MRCR needs a git-backed Gym image. The pin is newer than any image's baked
Gym and must apply, so the template's
container:is???and the bootstrap exits 1 on a non-git/opt/Gym(the publiceval-factory/nemo-gym:*images). NVIDIA-internal:modelopttools:eval-configStep 3d names a working image. - Long-context deploy: for 1M,
--max-model-len 1100000+VLLM_ALLOW_LONG_MAX_MODEL_LEN=1; for 128K,--max-model-lenat the checkpoint's trained context (room for the answer above 131,072) and no override. 1M also needsgpu_memory_utilization: 0.95. Both: multi-instance fan-out; never cap output tokens; report the needle-count strata alongsidepass@1/accuracy. - Run both dry-run and launch through
"$SKILL_DIR/scripts/nel-gym.sh"; it enforces the currently validated 0.2.6 launcher even ifnelon PATH is stale and avoids an unsetNEL_INVOCATION_IDfailure before client startup. Canary withlimit_samples— the MRCR template forwards it as++limit(see the recipe's Canary section); the prepare pass still runs in full.
Detailed launcher instructions live in launcher-workflow.md. Read only the sections needed for the current stage; retain the dry-run → canary → full-run gates. Existing configs must pass Step 3's serving-handoff check before Step 8. Paths in that reference are relative to this skill directory.
Step 1 — Prerequisites
Read Step 1.
Step 2 — Build base config (when not using shortcut)
Read Step 2.
Step 3 — Configure deployment
Read Step 3.
Step 4 — Fill remaining ??? values
Read Step 4.
Step 5 — Confirm tasks (iterative)
Read Step 5.
Step 6 — Multi-node
Read Step 6.
Step 7 — Interceptors
Read Step 7.
Step 7.5 — Container registry auth (SLURM private images only)
Read Step 7.5.
Step 8 — Run evaluation (gated dry-run → canary → full)
Read Step 8.
Step 9 — Verify completed run
Apply run-validation.md's Bounded Evaluation-Failure
Policy and Timeout and Output-Limit Accounting before reporting scores. For
comparisons, also apply its External Baseline Sanity Check, then use
compare-results.
Issues: https://github.com/NVIDIA-NeMo/Evaluator/issues · https://github.com/NVIDIA-NeMo/Evaluator/discussions