Aperçu
Cette compétence est pour exécuter des évaluations sur des modèles du Hugging Face Hub sur du matériel local.
Elle couvre:
inspect-aiavec inférence localelightevalavec inférence locale- le choix entre
vllm, Hugging Face Transformers, etaccelerate - les tests de fumée, la sélection de tâches, et la stratégie de secours du backend
Elle ne couvre pas:
- L'orchestration Hugging Face Jobs
- Les édits de model-card ou
model-index - L'extraction de tableau 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 veut exécuter la même éval à distance sur Hugging Face Jobs, passer la main à la compétence hugging-face-jobs et lui transmettre l'un des scripts locaux de cette compétence.
Si l'utilisateur veut publier les résultats dans le flux community evals, arrêter après avoir généré l'exécution d'évaluation et transmettre 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 |
|---|---|
Éval inspect-ai locale sur un modèle Hub via des fournisseurs d'inférence |
scripts/inspect_eval_uv.py |
Éval GPU locale avec inspect-ai utilisant vllm ou Transformers |
scripts/inspect_vllm_uv.py |
Éval GPU locale avec lighteval utilisant vllm ou accelerate |
scripts/lighteval_vllm_uv.py |
| Motifs de commande supplémentaires | examples/USAGE_EXAMPLES.md |
Prérequis
- Préférer
uv runpour l'exécution locale. - Définir
HF_TOKENpour les modèles protégés/privés. - Pour les exécutions GPU locales, vérifier l'accès GPU avant de commencer:
uv --version
printenv HF_TOKEN >/dev/null
nvidia-smi
Si nvidia-smi n'est pas disponible, soit:
- utiliser
scripts/inspect_eval_uv.pypour une évaluation plus légère basée sur des fournisseurs, soit - passer la main à la compétence
hugging-face-jobssi l'utilisateur veut du calcul à distance.
Flux de travail principal
- Choisir le cadre d'évaluation.
- Utiliser
inspect-aiquand vous voulez un contrôle explicite des tâches et des flux natifs inspect. - Utiliser
lightevalquand le benchmark est naturellement exprimé sous la forme d'une chaîne de tâche lighteval, en particulier les tâches de style classement.
- Utiliser
- Choisir le backend d'inférence.
- Préférer
vllmpour le débit sur les architectures supportées. - Utiliser Hugging Face Transformers (
--backend hf) ouacceleratecomme secours de compatibilité.
- Préférer
- Commencer par un test de fumée.
inspect-ai: ajouter--limit 10ou similaire.lighteval: ajouter--max-samples 10.
- Augmenter l'échelle uniquement après que le test de fumée réussisse.
- Si l'utilisateur veut l'exécution à distance, passer la main à
hugging-face-jobsavec le même script + arguments.
Démarrage rapide
Option A: inspect-ai avec chemin des fournisseurs d'inférence locale
Idéal quand le modèle est déjà supporté par Hugging Face Inference Providers et que vous voulez la surcharge de configuration locale la plus faible.
uv run scripts/inspect_eval_uv.py \
--model meta-llama/Llama-3.2-1B \
--task mmlu \
--limit 20
Utiliser ce chemin quand:
- vous voulez un test de fumée local rapide
- vous n'avez pas besoin de contrôle GPU direct
- la tâche existe déjà dans
inspect-evals
Option B: inspect-ai sur GPU local
Idéal quand vous avez besoin de charger le modèle Hub directement, d'utiliser vllm, ou de 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
Secours 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
Idéal quand la tâche est naturellement exprimée sous la forme d'une chaîne de tâche lighteval, en particulier les benchmarks de 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
Secours 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 à distance
Cette compétence s'arrête intentionnellement à l'exécution locale et la sélection du backend.
Si l'utilisateur veut:
- exécuter ces scripts sur Hugging Face Jobs
- choisir le matériel distant
- transmettre des secrets aux jobs distants
- planifier des exécutions récurrentes
- inspecter / annuler / surveiller les jobs
alors basculer vers la compétence hugging-face-jobs et lui transmettre l'un de ces scripts plus les arguments choisis.
Sélection de tâches
Exemples inspect-ai:
mmlugsm8khellaswagarc_challengetruthfulqawinograndehumaneval
Les chaînes de tâche 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érer
inspect_vllm_uv.py --backend vllmpour une inférence GPU rapide sur les architectures supportées. - Utiliser
inspect_vllm_uv.py --backend hfquandvllmne supporte pas le modèle. - Préférer
lighteval_vllm_uv.py --backend vllmpour le débit sur les modèles supportés. - Utiliser
lighteval_vllm_uv.py --backend acceleratecomme secours de compatibilité. - Utiliser
inspect_eval_uv.pyquand Inference Providers couvrent déjà le modèle et que vous n'avez pas besoin de contrôle GPU direct.
Orientation matérielle
| 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 avec beaucoup de mémoire ou passer la main à hugging-face-jobs |
Pour les tests de fumée, préférer les exécutions locales moins chères plus --limit ou --max-samples.
Dépannage
- CUDA ou vLLM OOM:
- réduire
--batch-size - réduire
--gpu-memory-utilization - basculer vers un modèle plus petit pour le test de fumée
- si nécessaire, passer la main à
hugging-face-jobs
- réduire
- Modèle non supporté par
vllm:- basculer vers
--backend hfpourinspect-ai - basculer vers
--backend acceleratepourlighteval
- basculer vers
- L'accès au repo protégé/privé échoue:
- vérifier
HF_TOKEN
- vérifier
- Code de modèle personnalisé requis:
- ajouter
--trust-remote-code
- ajouter
Exemples
Voir:
examples/USAGE_EXAMPLES.mdpour les motifs de commande locauxscripts/inspect_eval_uv.pyscripts/inspect_vllm_uv.pyscripts/lighteval_vllm_uv.py