EleutherAI/lm-evaluation-harness
A framework for few-shot evaluation of language models.
What it solves
It provides a unified framework for testing generative language models across a wide variety of evaluation tasks. This eliminates the need to manually implement benchmarks for every new model, ensuring that results are reproducible and comparable across different research papers and organizations.
How it works
The harness acts as a standardized interface between language models and academic benchmarks. It supports a vast array of model backends—including Hugging Face transformers, vLLM, NVIDIA NeMo, and commercial APIs (like OpenAI)—and applies them to over 60 standard academic benchmarks. It handles the complexities of tokenization, batching, and inference (including multi-GPU sharding and tensor parallelism) to calculate performance metrics for the selected tasks.
Who it’s for
AI researchers, developers, and organizations (such as NVIDIA and Cohere) who need to rigorously benchmark the capabilities of their LLMs against industry-standard datasets.
Highlights
- Extensive Benchmark Library: Includes over 60 standard academic benchmarks with hundreds of subtasks.
- Broad Model Support: Compatible with Hugging Face, vLLM, GPT-NeoX, Megatron-DeepSpeed, and various commercial APIs.
- Flexible Infrastructure: Supports data-parallel evaluation, model sharding via
accelerate, and native PyTorch Tensor Parallelism. - Llama.cpp Integration: Supports GGUF models both via the Hugging Face backend and through a
llama-serverOpenAI-compatible endpoint. - Customizability: Allows for custom prompts, evaluation metrics, and plugin-based registration of model backends and filters.
Related
- Project
- Project
- Project
- Dispatch
- Project