资讯动态

lm-evaluation-harness 安装与配置快速上手指南:四步装好并跑通首次评估

发布时间:2026/9/12 3:17:05 来源:尧图企业网站定制
lm-evaluation-harness 安装与配置快速上手指南四步装好并跑通首次评估【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harnesslm-evaluation-harness 是 EleutherAI 出品的开源框架把同一个语言模型送进 60 多个学术基准统一跑分让不同模型的分数可直接横向比较。本文带你走完整条上手链路克隆仓库、分离式安装、YAML 配置、首次评估每条命令都能直接复制执行。快速开始三条命令拿到第一个分数先不追求完整环境用 CPU 跑一个小模型、小数据量确认工具链是通的。执行下面这组命令克隆仓库、安装核心包和 Hugging Face 后端。git clone --depth 1 https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness cd lm-evaluation-harness pip install -e . pip install lm_eval[hf]装完后用 gpt2一个 124M 参数的小模型在 CPU 上跑 hellaswag 任务--limit 10表示只取前 10 条样例几秒钟就能看到结果lm-eval run --model hf \ --model_args pretrainedgpt2,dtypefloat32 \ --tasks hellaswag \ --device cpu \ --limit 10你会看到一张结果表形如hellaswag | 0-shot | acc,none | 0.2000 | ...。gpt2 得分低很正常——这一步验证的是流程跑通而不是模型能力。跑通之后再按下面的章节把环境补齐。项目速览lm-evaluation-harness 能做什么定位生成式语言模型统一评测框架Hugging Face Open LLM Leaderboard 的后端已被数百篇论文用于跨论文可比的分数字段。主要语言Python包名lm_eval硬性要求 Python ≥ 3.10。核心框架Hugging Face transformers 加载本地模型、vLLM 做高吞吐推理、OpenAI/TextSynth 等商业 API、PEFT 支持 LoRA 适配器、GPTQ/AutoGPTQ 支持量化权重。适用场景选型期多模型横评、微调前后回归对比、few-shot 能力测量结果可落盘为 JSON也能接 WB、Zeno 做可视化。评测在这里有明确含义框架把每道题自动拼装成任务描述 若干示例答案 待答题目的 few-shot 提示再喂给模型计分。下图是这个提示的构成task description 是任务说明examples 是示例prompt 是真正要回答的那一句环境准备lm-evaluation-harness 前置要求一览项目要求说明Python≥ 3.10pyproject.toml 中的硬性要求低版本直接拒绝安装GPU可选无 GPU 可用 CPU 跑小模型NVIDIA 显卡需装好 CUDA 驱动磁盘建议 ≥ 10 GB模型权重和任务数据集首次运行时会自动下载网络必须任务数据来自 Hugging Face datasets首次运行拉取虚拟环境建议venv 或 conda 隔离避免依赖污染全局 PythonMac 用户没有 CUDA 也不影响把--device cuda:0换成--device mps即可走 Metal 后端需 PyTorch ≥ 2.1。安装步骤lm-evaluation-harness 核心包与模型后端分开装1. 克隆仓库。用--depth 1只拉最新一次提交省掉历史体积git clone --depth 1 https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness你会得到本地lm-evaluation-harness目录顶层有pyproject.toml、lm_eval/和docs/。2. 安装核心框架。可编辑安装-e让源码和站点包共用一份后续改代码立即生效cd lm-evaluation-harness pip install -e .预期输出以Successfully installed lm_eval-0.4.13.dev0 ...结尾。3. 按需求装模型后端。从 2025/12 起基础包不再捆绑 transformers/torch后端改用可选扩展extras单独安装常用三组如下pip install lm_eval[hf] # transformers torch accelerate peft pip install lm_eval[vllm] # vLLM 快速推理 pip install lm_eval[api] # OpenAI / Anthropic / 本地推理服务器也可以一次装全pip install lm_eval[hf,vllm,api]。装完后pip list里能看到transformers、torch等对应包。4. 验证 CLI 是否可用。安装入口点注册了两个等价命令lm-eval和lm_eval用帮助信息确认lm-eval --help✅ 你会看到run执行评估、ls列出任务/标签、validate校验任务配置三个子命令的说明。5.可选安装任务依赖。个别任务math 判分、longbench 的 jieba 分词、IFEval 等需要额外包如果你只用 hellaswag、arc 这类基础任务可跳过pip install lm_eval[tasks]安装完成后运行lm-eval ls tasks可看到内置的全部任务名数百行后续选任务都从这份清单里挑。配置与首次运行lm-evaluation-harness 用一份 YAML 跑完整任务参数多了以后把配置写进 YAML 文件比一长串命令行更清晰。创建eval_config.yaml内容如下model: hf model_args: pretrained: gpt2 dtype: float32 tasks: - hellaswag - arc_easy num_fewshot: 0 batch_size: auto device: cpu output_path: ./results/gpt2/ log_samples: true逐条解释关键字段model后端类型hftransformers、vllm、local-completionsOpenAI 兼容服务器等。model_args透传给模型构造器pretrained可以是 Hub 名称或本地路径dtype控制计算精度。tasks任务名列表支持通配符如lambada_openai_mt_*一次选中所有机器翻译 lambada 变体。num_fewshot提示中放几道示例题0 即纯 zero-shot。batch_sizeauto会自动探测当前显存/内存能塞下的最大批量auto:4表示重新探测 4 次以进一步提速。devicecuda:0、cpu、mps三选一。output_pathlog_samples评估结果存成results.json逐条输入输出也落盘方便事后复查哪道题答错了。用配置文件启动评估命令行会覆盖文件中的同名项比如临时加--tasks mmlu --limit 100lm-eval run --config eval_config.yaml你会看到 hellaswag 和 arc_easy 两张得分表依次打印./results/gpt2/目录下出现results.json和样例文件。lm-evaluation-harness 单 GPU 评估与 batch_size 调优有 CUDA 显卡时把设备指到cuda:0批量交给auto自动探测能显著减少手动试批量的成本lm-eval run --model hf \ --model_args pretrainedEleutherAI/gpt-j-6B \ --tasks hellaswag \ --device cuda:0 \ --batch_size auto预期与 CPU 版一致任务得分表打印完毕即成功若中途报显存不足把auto换成一个较小的整数如 8。lm-evaluation-harness 多 GPU 并行评估配置模型放得进单卡时用 accelerate 启动器做数据并行——每张卡加载一份完整模型K 张卡约 K 倍速度accelerate launch -m lm_eval run \ --model hf \ --tasks lambada_openai,arc_easy \ --batch_size 16⚠️ 注意数据并行与 FSDP 权重切分互斥accelerate config里需关闭 FSDP 或选 NO_SHARD 模式。模型大到单卡装不下时不加启动器、直接在model_args里声明切分权重会被摊到所有可用 GPU 上lm-eval run --model hf \ --tasks lambada_openai,arc_easy \ --model_args parallelizeTrue \ --batch_size 16两种手段还可以叠加启动器起多份副本、每份内部再切分。如果你用 vLLM 后端并行参数改在model_args里写tensor_parallel_size张量并行卡数、data_parallel_size副本数配合--batch_size auto享受其连续批处理。lm-evaluation-harness 无 GPU 环境CPU / Mac MPS运行纯 CPU 机器把--device cpu加上、模型选 gpt2/pythia 级别即可完整走通Mac 用户换成--device mps。这条路径与 GPU 版唯一区别就是设备参数其余命令完全相同可作为 CI 环境里的冒烟测试。常见问题lm-evaluation-harness 安装与运行排错现象lm_eval: command not found原因pip 装的入口点不在当前 shell 的 PATH 里常见于混用了多个 Python 环境。 解决先确认包装没装错——运行python -m lm_eval --help能出帮助说明包本身没问题重新激活对应虚拟环境再敲lm-eval即可装错环境就回到正确环境执行pip install -e .重装。现象--model hf时报No module named transformers原因2025/12 起基础包默认不含 transformers 和 torch这是设计变更而不是安装失败。 解决执行pip install lm_eval[hf]。外层引号别省否则 bash 会把方括号当通配符解析。现象评估中途RuntimeError: CUDA out of memory原因批量过大或权重加激活超过了单卡显存。 解决按从轻到重依次尝试——--batch_size auto或换更小的整数批量--model_args parallelizeTrue切分到多卡给model_args加load_in_4bitTrue做 4bit 量化加载。现象Task xxx not found原因任务名拼写有误或该任务属于外部任务集、未挂进来。 解决用lm-eval ls tasks核对正确名称外部任务通过--include_path /path/to/tasks挂载并可用lm-eval validate --tasks xxx先校验配置再运行。延伸资源深入官方文档与任务体系CLI 全部参数与子命令说明docs/interface.mdYAML 配置文件完整字段参考docs/config_files.mdPython APIsimple_evaluate()编程式调用docs/python-api.md内置任务清单与任务 YAML 写法lm_eval/tasks/README.md各模型后端接口详解docs/model_guide.md编写新任务指南与空白模板docs/new_task_guide.md、templates/new_yaml_task/交互式入门 notebookexamples/lm-eval-overview.ipynb到这里工具链已经就绪。下一步建议先把你真正要评的模型换进model_args用--limit 10抽查几条生成样例确认打分符合预期再放开限制跑完整任务。【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价