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.

Bradley-Terry Model

ia

Définition

Le modele de Bradley-Terry est un modele probabiliste de classement base sur des comparaisons par paires, utilise comme fondement mathematique des systemes de classement ELO appliques aux LLMs dans les 'chatbot arenas'. Pour deux modeles A et B, Bradley-Terry stipule que la probabilite que A batte B est P(A>B) = p_A / (p_A + p_B), ou p_A et p_B sont les 'forces' (parametres) de chaque modele. L'estimation des parametres : en observant les resultats de N comparaisons par paires, les parametres de force de chaque modele sont estimes par maximum de vraisemblance. L'algorithme iteratif de calcul est conceptuellement similar a l'algorithme PageRank de Google. Le lien avec ELO : le systeme ELO est une implementation particuliere du modele Bradley-Terry avec une update en ligne (online learning) utilisant la formule de Glicko. Le modele Bradley-Terry complet (estimation batch sur tous les matchs) est plus precis statistiquement mais moins reactif aux changements de performance recents. Dans LMSYS Chatbot Arena, le classement ELO est calcule en fittant un modele Bradley-Terry sur les millions de votes humains collectes. Les intervalles de confiance (IC 95%) sont calcules par bootstrap : les modeles proches statistiquement ne peuvent pas etre considers comme significativement differents. L'importance statistique est souvent negligee dans la communication des benchmarks : deux modeles avec des scores ELO de 1350 et 1345 ne sont pas statistiquement differents avec seulement 10000 comparaisons, mais deviennent distinguables avec 100000+ comparaisons. Les laboratoires d'IA qui publient des classements devraient systematiquement reporter les intervalles de confiance.

Estimation Bradley-Terry en Python

import numpy as np
from scipy.optimize import minimize

def bradley_terry_mle(wins_matrix):
    n = len(wins_matrix)
    def neg_log_likelihood(params):
        p = np.exp(params)  # Forces positives
        ll = 0
        for i in range(n):
            for j in range(n):
                if wins_matrix[i,j] > 0:
                    ll += wins_matrix[i,j] * np.log(p[i] / (p[i] + p[j]))
        return -ll

    result = minimize(neg_log_likelihood, x0=np.zeros(n))
    strengths = np.exp(result.x)
    # Normaliser pour que la force mediane = 1000 (echelle ELO)
    return 400 * np.log10(strengths / strengths.median()) + 1000

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis