Vue d'ensemble
Cette skill est pour exécuter des évaluations contre des modèles sur le Hub Hugging Face sur du matériel local.
Elle couvre :
inspect-aiavec inférence localelightevalavec inférence locale- le choix entre
vllm, Hugging Face Transformers etaccelerate - les smoke tests, la sélection de tâches et la stratégie de fallback backend
Elle ne couvre pas :
- l'orchestration Hugging Face Jobs
- les modifications de model-card ou
model-index - l'extraction de tableaux README
- les imports Artificial Analysis
- la génération ou la publication de
.eval_results - la création de PR ou l'automatisation community-evals
Si l'utilisateur souhaite exécuter la même évaluation à distance sur Hugging Face Jobs, basculez vers la skill hugging-face-jobs et passez-lui l'un des scripts locaux de cette skill.
Si l'utilisateur souhaite publier les résultats dans le workflow community evals, arrêtez après la génération de l'exécution d'évaluation et transmettez cette étape de publication à ~/code/community-evals.
Tous les chemins ci-dessous sont relatifs au répertoire contenant ce
SKILL.md.
Quand utiliser quel script
| Cas d'usage | Script |
|---|---|
Évaluation locale inspect-ai sur un modèle Hub via des fournisseurs d'inférence |
scripts/inspect_eval_uv.py |
Évaluation GPU locale avec inspect-ai utilisant vllm ou Transformers |
scripts/inspect_vllm_uv.py |
Évaluation GPU locale avec lighteval utilisant vllm ou accelerate |
scripts/lighteval_vllm_uv.py |
| Patterns de commandes supplémentaires | examples/USAGE_EXAMPLES.md |
Prérequis
- Préférez
uv runpour l'exécution locale. - Définissez
HF_TOKENpour les modèles gated/privés. - Pour les exécutions GPU locales, vérifiez l'accès GPU avant de commencer :
uv --version
printenv HF_TOKEN >/dev/null
nvidia-smi
Si nvidia-smi n'est pas disponible, soit :
- utilisez
scripts/inspect_eval_uv.pypour une évaluation plus légère soutenue par des fournisseurs, soit - transmettez à la skill
hugging-face-jobssi l'utilisateur souhaite du calcul distant.
Workflow principal
- Choisissez le framework d'évaluation.
- Utilisez
inspect-aiquand vous voulez un contrôle explicite des tâches et des flows natifs à inspect. - Utilisez
lightevalquand le benchmark s'exprime naturellement sous forme de chaîne de tâche lighteval, en particulier pour les tâches de style leaderboard.
- Utilisez
- Choisissez le backend d'inférence.
- Préférez
vllmpour le débit sur les architectures supportées. - Utilisez Hugging Face Transformers (
--backend hf) ouacceleratecomme fallbacks de compatibilité.
- Préférez
- Commencez par un smoke test.
inspect-ai: ajoutez--limit 10ou équivalent.lighteval: ajoutez--max-samples 10.
- Augmentez l'échelle uniquement après que le smoke test réussisse.
- Si l'utilisateur souhaite une exécution à distance, transmettez à
hugging-face-jobsavec le même script + arguments.
Démarrage rapide
Option A : inspect-ai avec chemin des fournisseurs d'inférence locale
Meilleur quand le modèle est déjà supporté par les fournisseurs d'inférence Hugging Face et que vous voulez les frais généraux de configuration locale les plus bas.
uv run scripts/inspect_eval_uv.py \
--model meta-llama/Llama-3.2-1B \
--task mmlu \
--limit 20
Utilisez ce chemin quand :
- vous voulez un smoke test local rapide
- vous n'avez pas besoin de contrôle direct du GPU
- la tâche existe déjà dans
inspect-evals
Option B : inspect-ai sur GPU local
Meilleur quand vous avez besoin de charger directement le modèle Hub, utiliser vllm, ou revenir à Transformers pour les architectures non supportées.
GPU local :
uv run scripts/inspect_vllm_uv.py \
--model meta-llama/Llama-3.2-1B \
--task gsm8k \
--limit 20
Fallback Transformers :
uv run scripts/inspect_vllm_uv.py \
--model microsoft/phi-2 \
--task mmlu \
--backend hf \
--trust-remote-code \
--limit 20
Option C : lighteval sur GPU local
Meilleur quand la tâche s'exprime naturellement sous forme de chaîne de tâche lighteval, en particulier pour les benchmarks du style Open LLM Leaderboard.
GPU local :
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
Fallback accelerate :
uv run scripts/lighteval_vllm_uv.py \
--model microsoft/phi-2 \
--tasks "leaderboard|mmlu|5" \
--backend accelerate \
--trust-remote-code \
--max-samples 20
Limite d'exécution distante
Cette skill s'arrête intentionnellement à l'exécution locale et la sélection du backend.
Si l'utilisateur souhaite :
- exécuter ces scripts sur Hugging Face Jobs
- choisir le matériel distant
- passer des secrets aux jobs distants
- planifier des exécutions récurrentes
- inspecter / annuler / surveiller les jobs
alors basculez vers la skill hugging-face-jobs et passez-lui l'un de ces scripts plus les arguments choisis.
Sélection de tâches
Exemples inspect-ai :
mmlugsm8khellaswagarc_challengetruthfulqawinograndehumaneval
Les chaînes de tâches lighteval utilisent suite|task|num_fewshot :
leaderboard|mmlu|5leaderboard|gsm8k|5leaderboard|arc_challenge|25lighteval|hellaswag|0
Plusieurs tâches lighteval peuvent être séparées par des virgules dans --tasks.
Sélection du backend
- Préférez
inspect_vllm_uv.py --backend vllmpour l'inférence GPU rapide sur les architectures supportées. - Utilisez
inspect_vllm_uv.py --backend hfquandvllmne supporte pas le modèle. - Préférez
lighteval_vllm_uv.py --backend vllmpour le débit sur les modèles supportés. - Utilisez
lighteval_vllm_uv.py --backend acceleratecomme fallback de compatibilité. - Utilisez
inspect_eval_uv.pyquand les fournisseurs d'inférence couvrent déjà le modèle et que vous n'avez pas besoin de contrôle direct du GPU.
Orientations matériel
| Taille du modèle | Matériel local suggéré |
|---|---|
< 3B |
GPU grand public / Apple Silicon / petit GPU de développement |
3B - 13B |
GPU local plus puissant |
13B+ |
GPU local haute mémoire ou transmission à hugging-face-jobs |
Pour les smoke tests, préférez les exécutions locales moins chères avec --limit ou --max-samples.
Dépannage
- CUDA ou vLLM OOM :
- réduisez
--batch-size - réduisez
--gpu-memory-utilization - passez à un modèle plus petit pour le smoke test
- si nécessaire, transmettez à
hugging-face-jobs
- réduisez
- Modèle non supporté par
vllm:- passez à
--backend hfpourinspect-ai - passez à
--backend acceleratepourlighteval
- passez à
- L'accès au référentiel gated/privé échoue :
- vérifiez
HF_TOKEN
- vérifiez
- Code de modèle personnalisé requis :
- ajoutez
--trust-remote-code
- ajoutez
Exemples
Voir :
examples/USAGE_EXAMPLES.mdpour les patterns de commandes localesscripts/inspect_eval_uv.pyscripts/inspect_vllm_uv.pyscripts/lighteval_vllm_uv.py