Évaluer les capacités de raisonnement des LLM avec Chain-of-Thought Hub

Chain-of-Thought Hub est un framework open-source conçu pour mesurer les capacités de raisonnement complexe des grands modèles de langage (LLM). En exploitant la technique du "Chain-of-Thought" (chaîne de pensée), cet outil permet de comparer les performances de modèles tels que GPT-4, Claude ou Llama sur des tâches logiques ardues. Ce guide détaille comment configurer l'environnement, paramétrer les modèles et exécuter des benchmarks complets.

Configuration de l'environnement de test

Pour commencer, vous devez cloner le dépôt et préparer l'environnement Python. Il est recommandé d'utiliser Python 3.8 ou une version ultérieure.

# Initialisation du projet
git clone https://github.com/suzgunmirac/chain-of-thought-hub.git
cd chain-of-thought-hub
python3 -m pip install -r requirements.txt

L'architecture du projet sépare les scripts d'évaluation par famille de modèles et par benchmark, notamment dans le répertoire BBH/ pour le benchmark "Big-Bench Hard".

Gestion des accès API

L'outil interagit avec les modèles via leurs API respectives. Vous devez définir vos clés d'accès dans votre environnement système ou via un fichier de configuration. Voici comment procéder pour les principaux fournisseurs :

# Configuration des accès via variables d'environnement
export OPENAI_API_KEY="votre_cle_openai"
export ANTHROPIC_API_KEY="votre_cle_anthropic"

Les modèles configurés utilisent des templates spécifiques situés dans BBH/lib_prompt/. Ces fichiers définissent comment les exemples "few-shot" sont présentés au modèle pour induire un raisonnement étape par étape.

Exécution d'un benchmark BBH

Le benchmark Big-Bench Hard (BBH) regroupe 27 tâches complexes où le raisonnement logique est indispensable. Pour lancer une évaluation sur l'ensemble des tâches avec un modèle spécifique, utilisez le script dédié :

# Lancement de l'évaluation pour GPT-4 Turbo
python3 BBH/run_bbh_gpt_4_turbo.py \
    --task all \
    --shots 3 \
    --output_dir ./resultats_evaluation/gpt4_turbo

Détails des options :

  • --task : Définit la tâche cible (ex: logical_deduction) ou all pour l'intégralité du benchmark.
  • --shots : Nombre d'exemples de démonstration inclus dans le prompt (généralement entre 3 et 8).
  • --output_dir : Répertoire de destination pour les journaux et les scores finaux.

Analyse et interprétation des métriques

Une fois l'exécution terminée, les données sont stockées au format JSON. Les indicateurs clés à surveiller sont :

  • Exactitude (Accuracy) : Le pourcentage de réponses finales correctes par rapport aux labels de référence.
  • Cohérence de la chaîne de pensée : Analyse qualitative de la structure logique générée avant la réponse finale.
  • Temps de réponse : Latence moyenne par requête pour évaluer l'efficacité opérationnelle.

Pour visualiser ces performances, le projet inclut des notebooks Jupyter permettant de générer des graphiques comparatifs entre différents modèles.

Extension du framework à de nouvelles tâches

Il est possible d'intégrer vos propres jeux de données pour tester des domaines spécifiques :

  1. Ajoutez vos données JSON dans BBH/data/.
  2. Créez un template de prompt adapté dans BBH/lib_prompt/.
  3. Enregistrez la nouvelle tâche dans le script de pilotage principal pour permettre son exécution automatique.

L'optimisation des prompts joue un rôle crucial. Expérimenter avec des variantes de la consigne "Let's think step by step" ou modifier la structure des exemples peut influencer significativement la précision du raisonnement produit par le LLM.

Étiquettes: LLM Benchmark GPT-4 Claude-AI Chain-of-Thought

Publié le 16 juin à 03h09