agentleFS
waybarrioswaybarrios/opencode-power-pack/skills/huggingface-community-evals/SKILL.md

huggingface-community-evals

Skill547 starsChanged 3 months agoMITView on GitHub

Run evaluations for Hugging Face Hub models using inspect-ai and lighteval on local hardware. Use for backend selection, local GPU evals, and choosing between vLLM / Transformers / accelerate. Not for HF Jobs orchestration, model-card PRs, .eval_results publication, or community-evals automation.

We split this skill into the rules it gives an agent

20 rules. 5 are common, 1 is distinctive, and 14 are very specific to this project.

  • 5

    Common

    Most of the 4 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 14

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the user wants to run the same eval remotely on Hugging Face Jobs, submit the same script via hf jobs uv run (CLI) or the hf_jobs() MCP …

    line 25
  2. Common:

    If the user wants to publish results into the community evals workflow, stop after generating the evaluation run and hand that publishing …

    line 27
  3. Very specific:

    Prefer uv run for local execution.

    line 42
  4. Very specific:

    If nvidia-smi is unavailable, either:

    line 52
  5. Very specific:

    use scripts/inspect_eval_uv.py for lighter provider-backed evaluation, or

    line 53
  6. Very specific:

    Use inspect-ai when you want explicit task control and inspect-native flows.

    line 59
  7. Very specific:

    Use lighteval when the benchmark is naturally expressed as a lighteval task string, especially leaderboard-style tasks.

    line 60
  8. Very specific:

    Prefer vllm for throughput on supported architectures.

    line 62
  9. Very specific:

    Use Hugging Face Transformers (--backend hf) or accelerate as compatibility fallbacks.

    line 63
  10. Common:

    Start with a smoke test.

    line 64
  11. Very specific:

    If the user wants remote execution, submit the same script + args to Hugging Face Jobs (hf jobs uv run or hf_jobs()).

    line 68
  12. Common:

    Use this path when:

    line 83
  13. Common:

    If the user wants to:

    line 141
  14. Common:

    run these scripts on Hugging Face Jobs

    line 142
  15. Very specific:

    Prefer inspect_vllm_uv.py --backend vllm for fast GPU inference on supported architectures.

    line 171
  16. Very specific:

    Use inspect_vllm_uv.py --backend hf when vllm does not support the model.

    line 172
  17. Very specific:

    Prefer lighteval_vllm_uv.py --backend vllm for throughput on supported models.

    line 173
  18. Very specific:

    Use lighteval_vllm_uv.py --backend accelerate as the compatibility fallback.

    line 174
  19. Very specific:

    Use inspect_eval_uv.py when Inference Providers already cover the model and you do not need direct GPU control.

    line 175
  20. Distinctive:

    if necessary, submit the run to Hugging Face Jobs instead

    line 193

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Overview

This skill is for running evaluations against models on the Hugging Face Hub on local hardware.

It covers:

  • inspect-ai with local inference
  • lighteval with local inference
  • choosing between vllm, Hugging Face Transformers, and accelerate
  • smoke tests, task selection, and backend fallback strategy

It does not cover:

  • Hugging Face Jobs orchestration
  • model-card or model-index edits
  • README table extraction
  • Artificial Analysis imports
  • .eval_results generation or publishing
  • PR creation or community-evals automation

If the user wants to run the same eval remotely on Hugging Face Jobs, submit the same script via hf jobs uv run (CLI) or the hf_jobs() MCP tool if configured, for remote GPU execution.

If the user wants to publish results into the community evals workflow, stop after generating the evaluation run and hand that publishing step off to the project's own community-evals workflow.

All paths below are relative to the directory containing this SKILL.md.

When To Use Which Script

Use caseScript
Local inspect-ai eval on a Hub model via inference providersscripts/inspect_eval_uv.py
Local GPU eval with inspect-ai using vllm or Transformersscripts/inspect_vllm_uv.py
Local GPU eval with lighteval using vllm or acceleratescripts/lighteval_vllm_uv.py
Extra command patternsexamples/USAGE_EXAMPLES.md

Prerequisites

  • Prefer uv run for local execution.
  • Set HF_TOKEN for gated/private models.
  • For local GPU runs, verify GPU access before starting:
uv --version
printenv HF_TOKEN >/dev/null
nvidia-smi

If nvidia-smi is unavailable, either:

  • use scripts/inspect_eval_uv.py for lighter provider-backed evaluation, or
  • submit it to Hugging Face Jobs (hf jobs uv run or hf_jobs()) if the user wants remote compute.

Core Workflow

  1. Choose the evaluation framework.
    • Use inspect-ai when you want explicit task control and inspect-native flows.
    • Use lighteval when the benchmark is naturally expressed as a lighteval task string, especially leaderboard-style tasks.
  2. Choose the inference backend.
    • Prefer vllm for throughput on supported architectures.
    • Use Hugging Face Transformers (--backend hf) or accelerate as compatibility fallbacks.
  3. Start with a smoke test.
    • inspect-ai: add --limit 10 or similar.
    • lighteval: add --max-samples 10.
  4. Scale up only after the smoke test passes.
  5. If the user wants remote execution, submit the same script + args to Hugging Face Jobs (hf jobs uv run or hf_jobs()).

Quick Start

Option A: inspect-ai with local inference providers path

Best when the model is already supported by Hugging Face Inference Providers and you want the lowest local setup overhead.

uv run scripts/inspect_eval_uv.py \
  --model meta-llama/Llama-3.2-1B \
  --task mmlu \
  --limit 20

Use this path when:

  • you want a quick local smoke test
  • you do not need direct GPU control
  • the task already exists in inspect-evals

Option B: inspect-ai on Local GPU

Best when you need to load the Hub model directly, use vllm, or fall back to Transformers for unsupported architectures.

Local GPU:

uv run scripts/inspect_vllm_uv.py \
  --model meta-llama/Llama-3.2-1B \
  --task gsm8k \
  --limit 20

Transformers fallback:

uv run scripts/inspect_vllm_uv.py \
  --model microsoft/phi-2 \
  --task mmlu \
  --backend hf \
  --trust-remote-code \
  --limit 20

Option C: lighteval on Local GPU

Best when the task is naturally expressed as a lighteval task string, especially Open LLM Leaderboard style benchmarks.

Local 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 fallback:

uv run scripts/lighteval_vllm_uv.py \
  --model microsoft/phi-2 \
  --tasks "leaderboard|mmlu|5" \
  --backend accelerate \
  --trust-remote-code \
  --max-samples 20

Remote Execution Boundary

This skill intentionally stops at local execution and backend selection.

If the user wants to:

  • run these scripts on Hugging Face Jobs
  • pick remote hardware
  • pass secrets to remote jobs
  • schedule recurring runs
  • inspect / cancel / monitor jobs

then submit one of these scripts plus the chosen arguments to Hugging Face Jobs (hf jobs uv run or hf_jobs()).

Task Selection

inspect-ai examples:

  • mmlu
  • gsm8k
  • hellaswag
  • arc_challenge
  • truthfulqa
  • winogrande
  • humaneval

lighteval task strings use suite|task|num_fewshot:

  • leaderboard|mmlu|5
  • leaderboard|gsm8k|5
  • leaderboard|arc_challenge|25
  • lighteval|hellaswag|0

Multiple lighteval tasks can be comma-separated in --tasks.

Backend Selection

  • Prefer inspect_vllm_uv.py --backend vllm for fast GPU inference on supported architectures.
  • Use inspect_vllm_uv.py --backend hf when vllm does not support the model.
  • Prefer lighteval_vllm_uv.py --backend vllm for throughput on supported models.
  • Use lighteval_vllm_uv.py --backend accelerate as the compatibility fallback.
  • Use inspect_eval_uv.py when Inference Providers already cover the model and you do not need direct GPU control.

Hardware Guidance

Model sizeSuggested local hardware
< 3Bconsumer GPU / Apple Silicon / small dev GPU
3B - 13Bstronger local GPU
13B+high-memory local GPU or Hugging Face Jobs

For smoke tests, prefer cheaper local runs plus --limit or --max-samples.

Troubleshooting

  • CUDA or vLLM OOM:
    • reduce --batch-size
    • reduce --gpu-memory-utilization
    • switch to a smaller model for the smoke test
    • if necessary, submit the run to Hugging Face Jobs instead
  • Model unsupported by vllm:
    • switch to --backend hf for inspect-ai
    • switch to --backend accelerate for lighteval
  • Gated/private repo access fails:
    • verify HF_TOKEN
  • Custom model code required:
    • add --trust-remote-code

Examples

See:

  • examples/USAGE_EXAMPLES.md for local command patterns
  • scripts/inspect_eval_uv.py
  • scripts/inspect_vllm_uv.py
  • scripts/lighteval_vllm_uv.py

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.