Méthodologie pour l'Évaluation Comparative Cohérente des LLM Locaux vs Cloud

Un développeur sur r/LocalLLaMA a détaillé une méthodologie pour obtenir des chiffres de benchmark cohérents lors de la comparaison de LLM locaux avec des API cloud, abordant les frustrations courantes liées aux comparaisons inégales dues aux latences, notations et méthodologies différentes.
Le Problème Central du Benchmarking
Les comparaisons naïves qui envoient des requêtes à la fois aux modèles locaux et cloud mesurent des choses différentes. Les API cloud impliquent de la mise en file d'attente, de l'équilibrage de charge et du routage. Les modèles locaux impliquent un préchauffage, du traitement par lots et de la contention GPU. La solution mise en œuvre est d'utiliser uniquement des requêtes séquentielles. Bien que plus lent—un benchmark de 60 appels prend ~3 minutes au lieu de 45 secondes—cela garantit que chaque mesure est propre, isolant le temps d'inférence du temps d'attente en file.
La Configuration de Mesure
La configuration utilise ZenMux comme point de terminaison unifié, fournissant une URL de base pour quatre modèles : GPT-5.4, Claude Sonnet 4.6, Gemini 3.1 Pro et un Llama 4 quantifié local. L'approche fonctionne avec n'importe quel point de terminaison compatible OpenAI, tel que :
- serveur llama.cpp :
curl http://localhost:8080/v1/chat/completions ... - vLLM :
curl http://localhost:8000/v1/chat/completions ... - Ollama :
curl http://localhost:11434/v1/chat/completions ...
La clé est d'utiliser le même code client, les mêmes paramètres de délai d'attente et la même logique de nouvelle tentative pour tout.
Comment la Mesure Fonctionne
Le système est structuré en cinq modules : Configuration YAML → BenchRunner → AIClient → Analyseur → Rapporteur.
La configuration YAML définit les tâches et les modèles. Exemple :
suite: coding-benchmark
models:
- gpt-5.4
- claude-sonnet-4.6
- gemini-3.1-pro
- llama-4
runs_per_model: 3
tasks:
- name: fizzbuzz
prompt: "Écrivez une fonction Python qui affiche FizzBuzz pour les nombres de 1 à 100"
- name: refactor-suggestion
prompt: "Étant donné ce code, suggérez des améliorations :\n\ndef calc(x):\n if x == 0: return 0\n if x == 1: return 1\n return calc(x-1) + calc(x-2)"Le BenchRunner prend le produit cartésien des tâches × modèles × exécutions et appelle l'API séquentiellement, en enregistrant la latence, les jetons de prompt et les jetons de complétion.
La Partie Notation
La notation de qualité est basée sur des règles, et non sur un LLM en tant que juge, pour éviter le biais d'auto-préférence et garantir la reproductibilité. La fonction _quality_score utilise trois signaux :
- Longueur de la réponse : 50–3000 caractères note 4.0, plus court note 1.0, plus long note 3.0.
- Mise en forme : La présence de puces ajoute jusqu'à 3.0 points.
- Présence de code : Détecter des blocs de code ou des définitions de fonction ajoute 2.0 points.
Le score maximum est de 9.0. Cela sépare de manière fiable une "bonne réponse structurée" des "réponses inutiles/vides/hallucinées" pour un classement relatif. Pour la latence, le temps de réponse au 95e centile (P95) est également calculé.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Exploiter les Compétences des Agents pour Écrire des Noyaux CUDA avec Upskill
Hugging Face présente une approche pratique pour améliorer les modèles dans l'écriture de noyaux CUDA grâce au nouvel outil Upskill, optimisant l'efficacité des modèles via les compétences d'agent.

Test de Contrat pour le Développement Piloté par l'IA avec OpenClaw
Les tests de contrat peuvent remplacer les tests d'intégration/E2E lors de l'utilisation d'agents IA comme OpenClaw, en se concentrant sur les interfaces et les invariants entre les composants. L'IA génère du code pour satisfaire des contrats déterministes, créant une boucle de rétroaction serrée pour une itération plus rapide.

Difficultés d'installation d'OpenClaw sur Windows 11 pour les non-développeurs
Un bricoleur récréatif détaille trois obstacles spécifiques lors de l'installation d'OpenClaw sur un Mini PC à 200 $ fonctionnant sous Windows 11, incluant les politiques d'exécution PowerShell, les blocages de Windows Defender et les dépendances manquantes comme Node.js et Git.

Comment un agent inactif brûlait 50 millions de jetons par jour – et comment y remédier
Un agent OpenClaw inactif brûlait 50 millions de tokens par jour à cause de pings de heartbeat avec une session gonflée. Un utilisateur de Reddit explique comment il a tracé la fuite et l'a corrigée avec des changements de configuration.