CheckOps
LM Evaluation Harness
LM Evaluation Harness is an MIT framework from EleutherAI for few-shot evaluation of language models on hundreds of benchmark tasks, used by the Hugging Face Open LLM Leaderboard.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
LM Evaluation Harness is EleutherAI’s framework for testing generative language models on a large number of evaluation tasks. It has become a reference implementation for academic and open-model benchmarking, and it was the backend of the Hugging Face Open LLM Leaderboard, whose task group is included in the repository.
The harness provides a unified interface: you pick a model backend, a list of tasks and few-shot settings, and it handles prompting, answer extraction and metric computation. Tasks include well-known benchmarks such as MMLU, HellaSwag, ARC, GSM8K, TruthfulQA, BIG-Bench-Hard and many multilingual sets, and you can add your own tasks with YAML configuration files that describe datasets, prompt templates, filters and metrics.
Backends cover Hugging Face Transformers, vLLM, SGLang and other local engines, as well as API-served models through OpenAI-compatible endpoints. The README notes that since December 2025 the base package no longer bundles transformers or torch; you install a backend extra such as lm_eval[hf] or lm_eval[vllm]. Options support data-parallel runs, batching, chat templates and stripping chain-of-thought traces from reasoning models.
Results are written as JSON with per-task metrics and, optionally, per-sample logs, which makes it possible to inspect individual answers and track changes between checkpoints. Integrations exist for logging to Weights & Biases and Zeno.
In the quality loop the harness is a release gate for model changes: fine-tunes, quantisation, new checkpoints or serving changes can be compared against the same benchmarks before deployment. It measures model capability on standard tasks rather than application behaviour, so most product teams pair it with application-level evaluations.
The source code is at EleutherAI/lm-evaluation-harness on GitHub under the MIT licence, with about 14,500 stars; the most recent commit was on 14 September 2026.
To use the harness as a regression gate, fix the task list, few-shot settings, model revision and harness version, and record them with every run so results are comparable. Run a small, fast subset on each model change and the full benchmark set before releases. Remember that public benchmark scores can be affected by training data contamination, so complement them with private tasks written for your own use case.
Logging per-sample outputs, not just aggregate scores, makes it possible to inspect why a score changed. That is often the difference between a real regression and a change in answer formatting that a stricter metric penalised.
Publishing the exact command used alongside results also makes scores reproducible by others.
Features
- Hundreds of tasks: Standard academic benchmarks and task groups.
- YAML task configs: Define new tasks without writing Python.
- Few-shot control: Configurable shots, templates and seeds.
- Multiple backends: Transformers, vLLM, SGLang and API endpoints.
- Chat templates: Evaluate chat and instruction models properly.
- Answer filters: Post-processing and answer extraction.
- Per-sample logs: Inspect individual model outputs.
- Data-parallel runs: Faster evaluation on multiple GPUs.
- Leaderboard tasks: The Open LLM Leaderboard task group.
- Logging integrations: Weights & Biases and Zeno.
Pros
- Reference standard: Widely used, so results are comparable with published numbers.
- Extensible: New tasks are mostly configuration.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 14 September 2026.
- Community: About 14,500 GitHub stars.
Cons
- Benchmark, not product eval: Scores do not tell you how your application behaves.
- Compute cost: Large task suites need significant GPU time.
- Contamination risk: Public benchmarks may appear in training data.
- Setup variance: Prompt formats and settings change scores, so pin configurations.
Usage and Links (Example)
pip install "lm_eval[hf]"
lm_eval --model hf \
--model_args pretrained=meta-llama/Llama-3.1-8B-Instruct,dtype=bfloat16 \
--tasks mmlu,gsm8k,hellaswag \
--num_fewshot 5 --batch_size auto \
--apply_chat_template --log_samples --output_path results/
Evaluate a model behind an OpenAI-compatible server:
lm_eval --model local-completions \
--model_args model=my-model,base_url=http://localhost:8000/v1/completions \
--tasks arc_easy
Practical tips:
- Pin the harness version, task versions and few-shot settings for comparable runs.
- Keep per-sample logs to investigate regressions, not just averages.
- Add a private, task-specific YAML set alongside public benchmarks.
Resources:
Pricing
LM Evaluation Harness is free and open source under the MIT licence.
Recommended for?
- Model and fine-tuning teams comparing checkpoints.
- Platform teams validating quantisation or serving changes.
- Researchers reporting results comparable with the literature.
- Not enough on its own for application-level LLM testing.
Conclusion
LM Evaluation Harness is the standard open framework for benchmarking language models. Its breadth of tasks and backends makes it the natural regression gate for anything that changes model weights or serving.
Treat its scores as capability signals, pin configurations carefully, and combine it with evaluations of your own application data.
On CheckOps, LM Evaluation Harness is filed under the Release & CI gates stage. Related tools listed here include Lighteval, OpenCompass, HELM, Inspect, OpenAI Evals and DeepEval. Before standardising on one, compare recent maintenance activity, the pricing model as your usage grows, and the integrations you rely on today. Information on this page was verified against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with LM Evaluation Harness side by side.
LLightevalLighteval is an MIT toolkit from Hugging Face for fast, flexible LLM evaluation across many backends, with sample-by-sample results and custom tasks.Compare with LM Evaluation Harness
OOpenCompassOpenCompass is an Apache-2.0 LLM evaluation platform from Shanghai AI Laboratory that benchmarks open and API models across large dataset collections with distributed evaluation.Compare with LM Evaluation Harness
HHELMHELM (Holistic Evaluation of Language Models) is an Apache-2.0 framework from Stanford CRFM for reproducible, transparent evaluation of language models across many scenarios and metrics; it entered maintenance mode in June 2026.Compare with LM Evaluation Harness
IInspectInspect is the UK AI Security Institute's MIT-licensed framework for LLM evaluations, with datasets, solvers, scorers, agents, sandboxed tools and 200+ pre-built evals.Compare with LM Evaluation Harness
OOpenAI EvalsOpenAI Evals is an MIT-licensed framework and open registry for evaluating LLMs and LLM systems, now complemented by evals in the OpenAI Dashboard.Compare with LM Evaluation Harness
DDeepEvalDeepEval is an open-source LLM evaluation library with pytest-style asserts. Confident AI is the optional paid cloud from the same team.Compare with LM Evaluation Harness