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

La méthode de prompting en deux phases d'un développeur solo pour les grands projets avec Claude AI
Un développeur solo partage un flux de travail utilisant Claude Chat comme architecte et Claude Code comme constructeur, avec une méthode de prompt en deux phases incluant l'analyse des modes de défaillance et des portes de vérification.

Mise à jour d'OpenClaw : Correction des erreurs « allowlist miss » de l'exécutable Telegram
Une mise à jour récente d'OpenClaw a provoqué l'échec des commandes exec de Telegram avec des erreurs 'exec denied: allowlist miss', même après avoir désactivé les approbations. La correction nécessite d'activer l'accès élevé, de configurer explicitement la sécurité exec, et de mettre à jour les fichiers openclaw.json et exec-approvals.json.

Comment exécuter OpenClaw entièrement en local avec Ollama
Un post sur Reddit décrit une méthode pour exécuter OpenClaw entièrement en local, sans recourir à des API cloud ou à une facturation par jeton, en utilisant Ollama et LLMFit pour évaluer les performances des modèles locaux.

Réglage fin de Qwen 3:0.6B pour la catégorisation de questions – Résultats de base vs résultats ajustés
Ajustement fin d'un petit LLM de 0,6B paramètres (Qwen 3:0.6B) avec ~850 questions domestiques en utilisant Unsloth. Le prompting de base a obtenu 10% de précision ; les résultats après ajustement dépassent probablement 80-90%.