Evaluate with NeMo Evaluator#
NeMo Evaluator can measure a supported checkpoint through the OpenAI-compatible server. The server builds or reuses its complete runtime bundle before evaluation.
Install Dependencies#
Set up the runtime from a published wheel or source build first. Then install evaluator dependencies from the repository without replacing the installed Edge-LLM package:
python -m pip install -r /path/to/TensorRT-Edge-LLM/requirements-nemo-evaluator.txt
Evaluate a Running Server#
Start the server in one terminal:
tensorrt-edgellm-serve \
Qwen/Qwen3.5-0.8B \
--max-input-len 32768 \
--max-kv-cache-capacity 40960 \
--port 8000
In another terminal, run NeMo Evaluator directly:
nemo-evaluator run_eval \
--eval_type mmlu \
--model_id Qwen/Qwen3.5-0.8B \
--model_url http://127.0.0.1:8000/v1/chat/completions \
--model_type chat \
--output_dir nemo-results \
--overrides "config.params.limit_samples=250,config.params.parallelism=1,config.params.max_new_tokens=6144"
The helper script provides the same workflow with shorter options and prints a concise metric summary. Its default
URL is http://127.0.0.1:8000/v1/chat/completions, so the common local command is:
python scripts/run_nemo_eval.py \
--eval-type mmlu \
--limit-samples 250 \
--parallelism 1 \
--max-new-tokens 6144 \
--output-dir nemo-results
Use --model-url when the server listens elsewhere. When --model-id is not
set, the helper reads the served model ID from the server’s /v1/models
endpoint.
Start the Server Automatically#
For a one-command local run, pass a Hugging Face model ID or local checkpoint instead of a URL:
python scripts/run_nemo_eval.py \
--model Qwen/Qwen3.5-0.8B \
--cache-dir /data/edgellm-cache \
--eval-type mmlu \
--limit-samples 250 \
--output-dir nemo-results
The helper starts the server with the current Python environment, waits for /health, runs the evaluation, and stops
the server. Server output is written to nemo-results/edgellm_server.log.
Use the server build-profile options only with --model:
python scripts/run_nemo_eval.py \
--model /path/to/checkpoint \
--max-batch-size 2 \
--max-input-len 32768 \
--max-kv-cache-capacity 40960
Multimodal components are built from the checkpoint as part of the same bundle. Pass the same JSON accepted by the
server’s --speculative-config option to evaluate a speculative-decoding configuration. --eval-type accepts any
evaluation registered by the installed NeMo Evaluator packages that supports a chat endpoint.
Scores and Overrides#
Results are written under --output-dir. Use a threshold to fail the command on a clear accuracy regression:
python scripts/run_nemo_eval.py \
--min-score 0.50 \
--score-key score
Additional NeMo Evaluator settings can be supplied as comma-separated overrides:
python scripts/run_nemo_eval.py \
--extra-overrides "config.params.limit_samples=100,config.params.temperature=0.0"
The helper currently supports NeMo Evaluator’s chat model type because the server exposes
/v1/chat/completions.