ELO Rating dans les LLMs
iaDéfinition
Le systeme ELO Rating, adapte des echecs pour le classement des LLMs, est utilise dans les 'chatbot arenas' ou des evaluateurs humains comparent les reponses de deux LLMs anonymes et votent pour le meilleur. Le score ELO de chaque modele est mis a jour dynamiquement selon les resultats des matchs : battre un modele de score eleve augmente beaucoup le score, battre un modele de score faible l'augmente peu. LMSYS Chatbot Arena (LMSYS, Berkeley, 2023) est la principale plateforme de classement ELO pour les LLMs, avec plus de 2 millions de votes humains collectes depuis 2023. Les utilisateurs soumettent des questions, recoivent des reponses de deux LLMs anonymes, et votent pour le meilleur (ou 'tie' si equivalent). Ce format elimine les biais de contamination des benchmarks car les questions sont libres. Le score ELO est calcule avec la formule de Elo : E_a = 1 / (1 + 10^((R_b - R_a)/400)), ou R_a et R_b sont les scores actuels. Si le modele A gagne, son nouveau score est R_a + K*(1 - E_a) avec K facteur d'ajustement. Un K de 4 est typiquement utilise pour les grands volumes de matchs LLM. Les avantages du classement ELO : capture les preferences humaines reelles sur des questions variees (pas seulement les benchmarks standardises), resistant a la contamination des donnees d'entrainement, et reflète la qualite perçue plutot que la precision formelle. Les inconvenients : couteux en temps humain, sensible au biais de la population evaluatrice. Les scores ELO en 2025 montrent Claude 3.5 Opus, GPT-4o et Gemini 1.5 Ultra au sommet avec des scores de 1350-1400 ELO. Les modeles open-source comme LLaMA 3.1 70B et Mistral Large 2 atteignent 1200-1250, et les modeles 7B se situent entre 1050-1150.
Calcul du score ELO
def update_elo(rating_a, rating_b, result, k=4):
# result: 1 = A gagne, 0 = B gagne, 0.5 = tie
expected_a = 1 / (1 + 10**((rating_b - rating_a) / 400))
expected_b = 1 - expected_a
new_rating_a = rating_a + k * (result - expected_a)
new_rating_b = rating_b + k * ((1 - result) - expected_b)
return new_rating_a, new_rating_b
# Exemple : Claude (1380 ELO) bat GPT-4o (1370 ELO)
r_claude, r_gpt4o = update_elo(1380, 1370, result=1, k=4)
print(f'Claude: {r_claude:.1f}, GPT-4o: {r_gpt4o:.1f}')
# Claude: 1382.0, GPT-4o: 1368.0 (faible changement car scores proches)Classement LMSYS Arena (illustration 2025)
- Claude 3.5 Opus / GPT-4o-2024-11-20 : ~1380-1400 ELO
- Gemini 1.5 Pro / Claude 3.7 Sonnet : ~1350-1370 ELO
- LLaMA 3.1 70B Instruct : ~1240 ELO
- Mistral Large 2 : ~1210 ELO
- Mistral 7B Instruct v0.3 : ~1090 ELO
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h