NeMo Evaluator SDK 是 NVIDIA 推出的企业级大语言模型(LLM)评测工具,用于在容器化、可复现的环境中跨多个基准测试评估模型。
用途 该工具面向需要规模化、可复现 LLM 评测的场景,支持在 100 多个基准测试、18 个以上评测框架(harness)上运行评测,覆盖学术基准、代码生成、数学推理、安全评测以及视觉语言模型(VLM)任务。它支持多种执行后端,包括本地 Docker、Slurm HPC 集群和 Lepton 云。
主要能力
- 多框架支持:集成 lm-evaluation-harness(60+ 任务,如 MMLU、GSM8K、HellaSwag、ARC)、simple-evals(20+,如 GPQA、MATH、AIME)、bigcode-evaluation-harness(25+,如 HumanEval、MBPP、MultiPL-E)、safety-harness(Aegis、WildGuard)、garak(安全探测)、vlmevalkit(OCRBench、ChartQA、MMMU)、bfcl(函数调用)、mtbench(多轮对话)、livecodebench、helm(医疗领域)、nemo-skills 等。
- 多后端执行:支持本地 Docker、Slurm HPC 集群、Lepton 云。
- 结果导出:可导出到 MLflow、Weights & Biases 或本地 JSON。
- 配置覆盖:通过命令行参数覆盖模型端点、评测参数、执行设置和任务列表。
- 提供 Python API(详见 references/python-api-usage.md)。
使用方式 安装:
pip install nemo-evaluator-launcher
设置 API 密钥:
export NGC_API_KEY=nvapi-your-key-here
创建最小配置 config.yaml:
defaults:
- execution: local
- deployment: none
- _self_
execution:
output_dir: ./results
target:
api_endpoint:
model_id: meta/llama-3.1-8b-instruct
url: https://integrate.api.nvidia.com/v1/chat/completions
api_key_name: NGC_API_KEY
evaluation:
tasks:
- name: ifeval
运行评测:
nemo-evaluator-launcher run --config-dir . --config-name config
查看可用任务:
nemo-evaluator-launcher ls tasks
常用 CLI 命令包括:run(执行评测)、status <id>(查看任务状态)、info <id>(查看详细信息)、ls tasks(列出基准)、ls runs(列出所有调用)、export <id>(导出结果到 mlflow/wandb/local)、kill <id>(终止任务)。
典型工作流
- 标准基准评测:配置 API 端点(支持 OpenAI 兼容接口,如 vLLM、TRT-LLM、NIM),选择基准(如 ifeval、gpqa_diamond、gsm8k_cot_instruct、humaneval),运行并查看结果。
- Slurm HPC 集群评测:配置 Slurm 主机名、账户、分区、输出目录、walltime、节点数和 GPU 数,设置模型部署(checkpoint 路径、张量并行、数据并行、最大模型长度),启动并监控任务。
- 多模型对比:创建基础配置,通过命令行覆盖模型 ID 和 URL 分别评测不同模型,再导出到 MLflow、W&B 或本地 JSON 进行对比。
- 安全与视觉语言评测:配置安全任务(aegis、wildguard、garak)或 VLM 任务(ocrbench、chartqa、mmmu),VLM 端点需设置 type: vlm。
适用场景
- 需要在一个平台使用 100+ 基准、18+ 框架。
- 在 Slurm HPC 集群或云上运行评测。
- 需要可复现的容器化评测。
- 评测 OpenAI 兼容 API(vLLM、TRT-LLM、NIM)。
- 需要企业级评测并导出结果(MLflow、W&B)。
限制与替代方案 若只需快速本地评测,可考虑 lm-evaluation-harness;若仅关注代码基准,可考虑 bigcode-evaluation-harness;若需要更广泛的评测(公平性、效率),可考虑 HELM;高度专业化的领域评测可用自定义脚本。
环境要求
- Python 3.10-3.13
- Docker(本地执行需要)
- NGC API Key(拉取容器和使用 NVIDIA Build)
- HF_TOKEN(部分基准如 GPQA、MMLU 需要)
常见问题
- 容器拉取失败:需配置 NGC 凭据,执行 docker login nvcr.io -u '$oauthtoken' -p $NGC_API_KEY。
- 任务需要环境变量:部分任务需要 HF_TOKEN 或 JUDGE_API_KEY,可在任务下配置 env_vars。
- 评测超时:可提高 parallelism 或减少样本数(limit_samples)。
- Slurm 任务未启动:检查账户、分区和 QOS。
- 结果与预期不符:核对配置中的 temperature、num_fewshot 等参数是否与报告设置一致。
资源
- GitHub:https://github.com/NVIDIA-NeMo/Evaluator
- NGC 容器:nvcr.io/nvidia/eval-factory/
- NVIDIA Build:https://build.nvidia.com
- 文档:https://github.com/NVIDIA-NeMo/Evaluator/tree/main/docs
相关技能:evaluating-llms-harness、evaluating-code-models、nextflow。