关于 huggingface-community-evals
该 Skill 用于在本地硬件上评估 Hugging Face Hub 中的模型,帮助评测人员选择 inspect-ai 或 lighteval 及推理后端。它不涵盖远程任务编排或结果发布。
主要功能
- 01使用 inspect-ai 或 lighteval 运行评估
- 02通过推理提供方或本地推理评测
- 03选择 vllm、Transformers 或 accelerate 后端
- 04先运行冒烟测试,再扩大评估规模
- 05提供任务选择和后端回退建议
适用场景
- 01快速评估 Hub 中的模型
- 02在本地 GPU 上评测模型
- 03运行排行榜风格的基准任务
- 04通过冒烟测试检查模型与任务是否适配
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ huggingface/ skills --skill huggingface-community-evals安装后在 Claude Code 中输入/huggingface-community-evals确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/.env.exampleUSAGE_EXAMPLES.mdscripts/inspect_eval_uv.pyinspect_vllm_uv.pylighteval_vllm_uv.py详细介绍
概述
此技能用于在本地硬件上对 Hugging Face Hub 上的模型运行评测。
涵盖内容:
- 使用本地推理的
inspect-ai - 使用本地推理的
lighteval - 在
vllm、Hugging Face Transformers 和accelerate之间进行选择 - 冒烟测试、任务选择和后端回退策略
不涵盖以下内容:
- Hugging Face Jobs 编排
- 编辑模型卡或
model-index - 提取 README 表格
- 导入 Artificial Analysis 数据
- 生成或发布
.eval_results - 创建 PR 或自动化社区评测
如果用户想要在 Hugging Face Jobs 上远程运行相同的评测,请转交给 hugging-face-jobs 技能,并传入此技能中的一个本地脚本。
如果用户想要将结果发布到社区评测工作流,请在生成评测运行结果后停止,并将发布步骤转交给 ~/code/community-evals。
以下所有路径均相对于包含此
SKILL.md的目录。
何时使用哪个脚本
| 用例 | 脚本 |
|---|---|
通过推理提供商对 Hub 模型运行本地 inspect-ai 评测 | scripts/inspect_eval_uv.py |
使用 vllm 或 Transformers 运行本地 GPU inspect-ai 评测 | scripts/inspect_vllm_uv.py |
使用 vllm 或 accelerate 运行本地 GPU lighteval 评测 | scripts/lighteval_vllm_uv.py |
| 其他命令示例 | examples/USAGE_EXAMPLES.md |
前置条件
- 本地执行时优先使用
uv run。 - 对于受限或私有模型,请设置
HF_TOKEN。 - 运行本地 GPU 评测前,请确认 GPU 可用:
uv --version
printenv HF_TOKEN >/dev/null
nvidia-smi
如果无法使用 nvidia-smi,则可以:
- 使用
scripts/inspect_eval_uv.py运行资源需求较低、基于推理提供商的评测,或 - 如果用户需要远程计算,则转交给
hugging-face-jobs技能。
核心工作流
- 选择评测框架。
- 需要明确控制任务并使用 inspect 原生工作流时,使用
inspect-ai。 - 基准测试适合用 lighteval 任务字符串表示时,使用
lighteval,尤其适用于排行榜类任务。
- 需要明确控制任务并使用 inspect 原生工作流时,使用
- 选择推理后端。
- 对于受支持的架构,优先使用
vllm以获得更高吞吐量。 - 将 Hugging Face Transformers(
--backend hf)或accelerate用作兼容性回退方案。
- 对于受支持的架构,优先使用
- 从冒烟测试开始。
inspect-ai:添加--limit 10或类似参数。lighteval:添加--max-samples 10。
- 只有在冒烟测试通过后才扩大运行规模。
- 如果用户需要远程执行,请将相同的脚本和参数转交给
hugging-face-jobs。
快速开始
选项 A:使用本地推理提供商路径运行 inspect-ai
适用于模型已受 Hugging Face Inference Providers 支持,且你希望尽可能减少本地配置工作量的情况。
uv run scripts/inspect_eval_uv.py \
--model meta-llama/Llama-3.2-1B \
--task mmlu \
--limit 20
在以下情况下使用此路径:
- 你想快速进行本地冒烟测试
- 你不需要直接控制 GPU
- 该任务已存在于
inspect-evals中
选项 B:在本地 GPU 上运行 inspect-ai
适用于你需要直接加载 Hub 模型、使用 vllm,或针对不受支持的架构回退到 Transformers 的情况。
本地 GPU:
uv run scripts/inspect_vllm_uv.py \
--model meta-llama/Llama-3.2-1B \
--task gsm8k \
--limit 20
Transformers 回退方案:
uv run scripts/inspect_vllm_uv.py \
--model microsoft/phi-2 \
--task mmlu \
--backend hf \
--trust-remote-code \
--limit 20
选项 C:在本地 GPU 上运行 lighteval
适用于任务适合用 lighteval 任务字符串表示的情况,尤其是 Open LLM Leaderboard 风格的基准测试。
本地 GPU:
uv run scripts/lighteval_vllm_uv.py \
--model meta-llama/Llama-3.2-3B-Instruct \
--tasks "leaderboard|mmlu|5,leaderboard|gsm8k|5" \
--max-samples 20 \
--use-chat-template
accelerate 回退方案:
uv run scripts/lighteval_vllm_uv.py \
--model microsoft/phi-2 \
--tasks "leaderboard|mmlu|5" \
--backend accelerate \
--trust-remote-code \
--max-samples 20
远程执行边界
此技能有意仅涵盖本地执行和后端选择。
如果用户想要:
- 在 Hugging Face Jobs 上运行这些脚本
- 选择远程硬件
- 向远程任务传递密钥
- 安排定期运行
- 检查/取消/监控任务
则切换到 hugging-face-jobs 技能,并传入这些脚本之一及所选参数。
任务选择
inspect-ai 示例:
mmlugsm8khellaswagarc_challengetruthfulqawinograndehumaneval
lighteval 任务字符串格式为 suite|task|num_fewshot:
leaderboard|mmlu|5leaderboard|gsm8k|5leaderboard|arc_challenge|25lighteval|hellaswag|0
多个 lighteval 任务可以用逗号分隔后传入 --tasks。
后端选择
- 对于受支持的架构,优先使用
inspect_vllm_uv.py --backend vllm进行快速 GPU 推理。 - 如果
vllm不支持该模型,请使用inspect_vllm_uv.py --backend hf。 - 对于受支持的模型,优先使用
lighteval_vllm_uv.py --backend vllm以提高吞吐量。 - 使用
lighteval_vllm_uv.py --backend accelerate作为兼容性回退方案。 - 如果 Inference Providers 已支持该模型,且你不需要直接控制 GPU,请使用
inspect_eval_uv.py。
硬件指南
| 模型大小 | 建议的本地硬件 |
|---|---|
< 3B | 消费级 GPU / Apple Silicon / 小型开发 GPU |
3B - 13B | 性能更强的本地 GPU |
13B+ | 大内存本地 GPU,或交由 hugging-face-jobs 处理 |
对于冒烟测试,优先选择成本较低的本地运行,并使用 --limit 或 --max-samples。
故障排除
- CUDA 或 vLLM 显存溢出:
- 调低
--batch-size - 调低
--gpu-memory-utilization - 为冒烟测试换用更小的模型
- 必要时交由
hugging-face-jobs处理
- 调低
vllm不支持该模型:- 对于
inspect-ai,切换到--backend hf - 对于
lighteval,切换到--backend accelerate
- 对于
- 无法访问受限或私有仓库:
- 检查
HF_TOKEN
- 检查
- 需要自定义模型代码:
- 添加
--trust-remote-code
- 添加
示例
请参阅:
examples/USAGE_EXAMPLES.md,了解本地命令模式scripts/inspect_eval_uv.pyscripts/inspect_vllm_uv.pyscripts/lighteval_vllm_uv.py