Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Self-Consistency

ia

Définition

La Self-Consistency est une technique d'amelioration du raisonnement des LLMs proposee par Wang et al. (Google Brain, 2022) qui consiste a generer plusieurs chaines de raisonnement independantes (Chain-of-Thought) pour la meme question avec une temperature elevee, puis a selectionner la reponse finale par vote majoritaire (majority voting). C'est l'une des techniques les plus simples et les plus efficaces pour ameliorer les performances sur les taches de raisonnement. L'intuition est que pour les problemes de raisonnement ayant une reponse unique et verifiable (maths, logique), plusieurs chemins de raisonnement differents peuvent menera la meme bonne reponse. Si 7 solutions sur 10 arrivent a la reponse 'x = 4', et que 3 arrivent a 'x = 5', la reponse majoritaire 'x = 4' est probablement correcte — meme si certains raisonnements intermediaires contenaient des erreurs qui se sont annulees. La Self-Consistency ameliore significativement les performances sur GSM8K, MATH et ARC-Challenge : avec GPT-4 et 10 echantillons, les gains sont de 2-5 points par rapport au greedy decoding (temperature 0). Les gains sont plus importants pour les problemes difficiles ou le modele hesite. La limite est le cout computationnel : generer N solutions multiplie le cout d'inference par N. Des variantes plus efficaces incluent Universal Self-Consistency (un LLM juge selectionne la meilleure reponse sans verifier la majorite), Adaptive Self-Consistency (ajuster N dynamiquement selon la confiance du modele), et Self-RAG (auto-evaluation plus sophistiquee). La Self-Consistency est particulierement utile quand on n'a pas acces a un verifieur externe (comme des tests unitaires pour le code). Elle constitue une forme rudimentaire de Test-Time Compute : allouer plus de compute a l'inference pour ameliorer la fiabilite des reponses sans retrainer le modele.

Implementation Self-Consistency

from collections import Counter
import openai

def self_consistency(question, n=10, temperature=0.7, model='gpt-4o-mini'):
    # Generer N solutions independantes
    solutions = []
    for _ in range(n):
        response = openai.chat.completions.create(
            model=model, temperature=temperature,
            messages=[{'role': 'user', 'content': f'Resous etape par etape: {question}'}]
        )
        answer = extract_final_answer(response.choices[0].message.content)
        solutions.append(answer)

    # Majority voting
    most_common = Counter(solutions).most_common(1)[0]
    return most_common[0], most_common[1] / n  # Reponse + confidence

Gains empiriques sur GSM8K

ModeleGreedy (n=1)Self-Cons (n=40)
PaLM 540B56.9%74.4%
GPT-3 175B57.1%75.2%
GPT-4o92%96%

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis