?
Skillintermédiaire

Chain-of-Thought : faire raisonner le modèle

Implémenter CoT, Auto-CoT et leurs variantes pour des tâches de raisonnement.

Chain-of-Thought Prompting

Le Chain-of-Thought (CoT) est une technique de prompting qui demande au modèle de décomposer son raisonnement en étapes explicites avant de donner sa réponse finale. Introduit par Wei et al. (2022), le CoT améliore significativement les performances sur les tâches de raisonnement.

Pourquoi le CoT fonctionne

  • Force le modèle à allouer plus de "compute" au raisonnement
  • Rend les erreurs de raisonnement détectables et corrigeables
  • Améliore les résultats de 10-40% sur les tâches arithmétiques et logiques
  • Plus efficace sur les grands modèles (>10B paramètres)

CoT standard (few-shot)

Q: Roger a 5 balles de tennis. Il achète 2 boîtes de 3 balles.
Combien a-t-il de balles maintenant ?

A: Roger commence avec 5 balles.
2 boîtes de 3 balles = 2 × 3 = 6 balles.
5 + 6 = 11 balles.
Réponse : 11

Q: La cafétéria avait 23 pommes. Ils en ont utilisé 20 et acheté 6.
Combien reste-t-il de pommes ?

A:

Zero-shot CoT

Ajouter simplement l'instruction "Réfléchis étape par étape" :

Q: Un magasin a 45 articles. Il en vend 17 le matin et 12 l'après-midi.
Combien reste-t-il d'articles ?

Réfléchis étape par étape.

Simple mais étonnamment efficace. Amélioration de 10-20% sur la plupart des tâches de raisonnement.

Auto-CoT

Générer automatiquement les exemples de CoT :

1. Clusteriser les questions par type 2. Sélectionner un exemple représentatif par cluster 3. Générer le raisonnement avec zero-shot CoT 4. Utiliser ces exemples générés comme few-shot

CoT avec vérification (Self-Consistency)

Générer N raisonnements différents et prendre la réponse majoritaire :

responses = []
for _ in range(5):
    response = llm.generate(prompt, temperature=0.7)
    responses.append(extract_answer(response))

final_answer = most_common(responses)

Améliore la fiabilité de 5-15% supplémentaires.

CoT structuré pour les tâches complexes

Analyse ce contrat en suivant ces étapes :

1. IDENTIFICATION : Identifie les parties prenantes
2. OBLIGATIONS : Liste les obligations de chaque partie
3. RISQUES : Identifie les clauses problématiques
4. CONCLUSION : Donne ton évaluation globale

Contrat : {texte}

Variantes avancées

Plan-and-Solve

D'abord, élabore un plan pour résoudre ce problème.
Ensuite, exécute ce plan étape par étape.

Least-to-Most Prompting

Décomposer un problème complexe en sous-problèmes de difficulté croissante, résoudre chacun séquentiellement.

Limites du CoT

  • Augmente le nombre de tokens (coût et latence)
  • Peut "halluciner" un raisonnement qui semble logique mais est faux
  • Moins utile pour les tâches simples (sur-réflexion)
  • Le raisonnement explicite peut être incorrect même si la réponse est bonne

Sources

promptsCoTraisonnement