介绍Lighteval项目
项目概述
Lighteval 是由 Hugging Face 的排行榜和评估团队研发的一个轻量级、灵活快速的工具包,专注于大语言模型(LLM)的评估。作为一个全功能的工具包,Lighteval 提供了跨多种后端对 LLM 进行评估的功能,比如支持 transformers、tgi、vllm 和 nanotron 等工具。用户可以借此深入了解模型的性能,并通过详细的样本结果进行调试和比较。
主要特性
- 速度:通过使用 vllm 作为后端,加快评估速度。
- 完整性:利用 accelerate 后端可以启动任何在 Hugging Face 上托管的模型。
- 无缝存储:可以将结果保存在 S3 或 Hugging Face 数据集中。
- Python API:简便的 Python API 集成。
- 自定义任务:允许添加自定义任务,满足个性化需求。
- 多功能性:提供大量现成的指标和任务以供使用。
安装指南
用户可以通过以下命令安装 Lighteval:
pip install lighteval[accelerate]
此外,若要将结果推送至 Hugging Face Hub,需要使用 Hugging Face 的访问令牌作为环境变量:
huggingface-cli login
快速入门
Lighteval 提供了两种主要的模型评估入口:
lighteval accelerate
:利用 🤗 Accelerate 进行 CPU 或多 GPU 的评估。lighteval nanotron
:在分布式环境中使用 ⚡️ Nanotron 进行评估。
以下是使用 Accelerate 后端进行评估的快速命令示例:
lighteval accelerate \
--model_args "pretrained=gpt2" \
--tasks "leaderboard|truthfulqa:mc|0|0" \
--override_batch_size 1 \
--output_dir="./evals/"
致谢
Lighteval 的研发起始于对 Eleuther AI Harness 的扩展,并在其发展历程中受到了 HELM 框架的启发。这两者对 Lighteval 的形成提供了很多创新性的借鉴。
欢迎贡献
Lighteval 欢迎来自社区的想法、建议和新特性的贡献。如果您发现了 Bug、希望添加新任务或指标,请随时参与贡献。在新增功能时,请首先提交问题报告,并在提交 PR 时确保运行风格检查。
pip install -e .[dev]
pre-commit install
pre-commit run --all-files
引用信息
在学术引用中,您可以使用以下格式:
@misc{lighteval,
author = {Fourrier, Clémentine and Habib, Nathan and Wolf, Thomas and Tunstall, Lewis},
title = {LightEval: A lightweight framework for LLM evaluation},
year = {2023},
version = {0.5.0},
url = {https://github.com/huggingface/lighteval}
}