launching-evals

Par nvidia · skills

Exécutez, surveillez, analysez et déboguez des évaluations LLM via nemo-evaluator-launcher. Couvre l'exécution des évaluations, la vérification du statut et de la progression en temps réel, le débogage des exécutions échouées, l'export des artefacts et logs, ainsi que l'analyse des résultats. Se déclenche TOUJOURS lors de mentions concernant l'exécution d'évaluations, la vérification de la progression, le débogage d'évaluations échouées, l'analyse d'exécutions ou de résultats, les répertoires d'exécution ou chemins d'artefacts sur des clusters, les problèmes de jobs Slurm, les IDs d'invocation, ou l'inspection de logs (logs client, logs serveur, SSH vers le cluster, tail de logs, grep de logs). Ne PAS utiliser pour créer ou modifier des configs d'évaluation.

npx skills add https://github.com/nvidia/skills --skill launching-evals

NeMo Evaluator Skill

Quick Reference

nemo-evaluator-launcher CLI

# Run evaluation
uv run nemo-evaluator-launcher run --config <path.yaml>
uv run nemo-evaluator-launcher run --config <path.yaml> -t <a_single_task_to_be_run_by_name>
uv run nemo-evaluator-launcher run --config <path.yaml> -t <task_name_1> -t <task_name_2> ...
uv run nemo-evaluator-launcher run --config <path.yaml> -o evaluation.nemo_evaluator_config.config.params.limit_samples=10 ...

# Preview the resolved config and the sbatch script without running the evaluation
uv run nemo-evaluator-launcher run --config <path.yaml> --dry-run

# Check status (--json for machine-readable output)
uv run nemo-evaluator-launcher status <invocation_id> --json

# Get evaluation run info (output paths, slurm job IDs, cluster hostname, etc.)
uv run nemo-evaluator-launcher info <invocation_id>

# Copy just the logs (quick — good for debugging)
uv run nemo-evaluator-launcher info <invocation_id> --copy-logs ./evaluation-results/

# For artifacts: use `nel info` to discover paths. If remote, SSH to explore and rsync what you need.
# If local, just read directly from the paths shown by `nel info`.
# ssh <user>@<hostname> "ls <artifacts_path>/"
# rsync -avzP <user>@<hostname>:<artifacts_path>/{results.yml,eval_factory_metrics.json,config.yml} ./evaluation-results/<invocation_id>.<job_index>/artifacts/

# Resume a failed/interrupted run (re-sbatches existing run.sub in the original run directory)
uv run nemo-evaluator-launcher resume <invocation_id>

# List past runs
uv run nemo-evaluator-launcher ls runs --since 1d   

# List available evaluation tasks (by default, only shows tasks from the latest released containers)
uv run nemo-evaluator-launcher ls tasks
uv run nemo-evaluator-launcher ls tasks --from_container nvcr.io/nvidia/eval-factory/simple-evals:26.03

Workflow

Le workflow complet d'évaluation est divisé en les étapes suivantes que tu dois suivre DANS L'ORDRE.

  1. Crée ou modifie une config en utilisant la skill nel-assistant. Si l'utilisateur fournit une exécution passée, utilise l'artefact config.yml comme point de départ.
  2. Exécute l'évaluation. Consulte references/run-evaluation.md lors de l'exécution de cette étape.
  3. Monitorage de la progression (OBLIGATOIRE après chaque nel run) : interroge le statut régulièrement jusqu'à SUCCESS/FAILED. Consulte references/check-progress.md.
  4. Actions post-exécution (quand l'état terminal est atteint) :
    1. Quand le statut d'évaluation est SUCCESS, analyse les résultats. Consulte references/analyze-results.md lors de l'exécution de cette étape.
    2. Quand le statut d'évaluation est FAILED, débogue l'exécution échouée. Consulte references/debug-failed-runs.md lors de l'exécution de cette étape.

Key Facts

  • Les informations spécifiques aux benchmarks apprises lors du lancement/analyse des évals doivent être ajoutées à references/benchmarks/
  • PPP = compte Slurm (le champ account dans cluster_config.yaml). Quand l'utilisateur dit « change PPP to X », mets à jour la valeur du compte (ex: coreai_dlalgo_compevalcoreai_dlalgo_llm).
  • Paires de jobs Slurm : NEL (nemo-evaluator-launcher) soumet des jobs Slurm appairés — un job RUNNING + un job restart PENDING (pour quand le walltime de 4h expire). N'annule jamais les jobs restart en attente — ils sont attendus et nécessaires.
  • Exigence du cache HF : Pour les configs avec HF_HUB_OFFLINE=1, les modèles doivent être pré-téléchargés dans le cache HF sur chaque cluster avant le lancement. Avant d'exécuter un modèle sur un nouveau cluster, demande toujours à l'utilisateur si le modèle est déjà en cache. Si ce n'est pas le cas, sur le nœud de connexion du cluster : python3 -m venv hf_cli && source hf_cli/bin/activate && pip install huggingface_hub puis HF_HOME=/lustre/fsw/portfolios/coreai/users/<username>/cache/huggingface hf download <model>. Sans cela, vLLM échouera avec LocalEntryNotFoundError.
  • data_parallel_size est par nœud : dp_size=1 avec num_nodes=8 signifie 8 instances de modèle au total (une par nœud), avec équilibre de charge par haproxy. N'interprète PAS dp_size comme le nombre de réplicas global.
  • Intercepteur payload_modifier : La liste params_to_remove (ex: [max_tokens, max_completion_tokens]) supprime ces champs du payload sortant, levant intentionnellement les limites de longueur de sortie pour que les modèles de raisonnement puissent réfléchir aussi longtemps que nécessaire.
  • Contournement auto-export git : Le conteneur export (python:3.12-slim) n'a pas git. Quand tu installes le launcher depuis une URL git, définis auto_export.launcher_install_cmd pour installer git d'abord (ex: apt-get update -qq && apt-get install -qq -y git && pip install "nemo-evaluator-launcher[all] @ git+...#subdirectory=packages/nemo-evaluator-launcher").
  • N'utilise PAS nemo-evaluator-launcher export --dest local — il ne génère qu'un JSON récapitulatif (processed_results.json), il NE copie PAS les logs ou artefacts réels malgré l'acceptation des flags --copy_logs et --copy-artifacts. nel info --copy-artifacts fonctionne mais copie tout (très lent pour les grands benchmarks). Approche préférée : utilise nel info pour découvrir les chemins — si local, lis directement ; si distant, SSH pour explorer et rsync seulement ce dont tu as besoin. Note que nel info affiche les artefacts standard mais les benchmarks produisent des artefacts supplémentaires dans des sous-répertoires — explore pour les trouver.

Skills similaires