Comment on Évalue les LLMs
Regardez la vidéo!
On voit toujours les LLMs surpasser tous les benchmarks, comme le mystérieux récent chatbot GPT-2 qui a surpassé tous les modèles, et qui était en fait le nouveau modèle GPT-4o. Vous avez peut-être entendu des affirmations similaires concernant certains modèles qui en surpassent d'autres dans des benchmarks populaires comme ceux du classement HuggingFace où les modèles sont évalués sur diverses tâches. Mais comment est-ce qu’on détermine quel LLM est supérieur ? Ne font-il pas que générer des mots et des idées ? Comment savoir qu'un est meilleur que l'autre ?
On va répondre à ces questions dans ce blogue. Je suis Louis-François, co-fondateur de Towards AI où on crée des ressources éducatives et formations en IA pour l’industrie, et aujourd'hui, on se plonge dans la manière dont on peut quantifier et évaluer avec précision la performance de ces modèles, dans les méthodologies actuelles utilisées pour cela et dans l'importance de ce processus.
C’est parti!
Pourquoi on évalue les LLMs?
Évaluer les LLM est crucial pour identifier les risques potentiels, analyser comment ces modèles interagissent avec les humains, déterminer leurs capacités et limites pour des tâches spécifiques, et s'assurer que leur entraînement progresse efficacement. Et, surtout, c'est vital si on veut savoir si on est le meilleur !
Ok, les évaluations sont utile. Mais qu'est-ce qu'on évalue exactement dans un LLM ?
Quand on utilise un LLM, on attend deux choses du modèle :
1. D'abord, qu'il accomplisse la tâche assignée, que ce soit la synthèse, l'analyse de sentiment, la réponse à des questions ou toute autre chose que les LLM peuvent faire.
2. Ensuite, que le modèle soit robuste et équitable. Cela inclut sa performance sur des entrées inattendues ou jamais vues auparavant, surtout celles qui diffèrent significativement de ses données d'entraînement, et les entrées adversariales conçues pour induire le modèle en erreur, comme l'injection de prompt, dont on a parlé dans une vidéo précédente. De plus, il est essentiel de vérifier si ces LLM largement entraînés contiennent des biais inhérents et de confirmer leur fiabilité et leur équité.
Maintenant qu'on sait ce qu'on évalue, voyons comment on fait cela.
Comment évaluer les LLM ?
Chaque tâche que l'on évalue nécessite une façcon de classer qu’on appelle un benchmark adapté à cette tâche spécifique. Cela signifie qu'on a besoin d'un jeu de données avec des questions et une méthode pour comparer les réponses (qui sont nos métriques), que l'on calcule soit automatiquement, soit en utilisant un autre modèle meilleur comme GPT-4, soit en payant des humains pour le faire.
On commence par la méthode la plus utilisée et la plus abordable pour établir des benchmarks : l'utilisation de métriques et d'outils automatisés sans intervention humaine. Cette méthode utilise des métriques comme la précision et la calibration.
- La précision mesure à quel point la réponse est correcte. Au-delà de la précision, il y a des métriques traditionnelles comme les scores F1, qui équilibrent la précision (combien d'éléments sélectionnés sont pertinents) et le rappel (combien d'éléments pertinents sont sélectionnés), utilisées dans des benchmarks comme SQuAD, HellaSwag et TruthfulQA.
Par exemple, pour les tâches spécifiques aux LLM, on utilise :
- ROUGE, ou Recall-Oriented Understudy for Gisting Evaluation : Cette métrique est utilisée pour les tâches de synthèse. Elle compare combien de mots ou de courtes phrases de la synthèse générée apparaissent dans les synthèses de référence. Plus il y a de recouvrement, meilleure est considérée la synthèse.
- Le ratio de similarité de Levenshtein : Mesure la similarité entre deux textes en calculant le nombre minimal de modifications de caractères simples (comme les insertions, les suppressions ou les substitutions) nécessaires pour transformer un mot en un autre.
- Le score BLEU (Bilingual Evaluation Understudy) : Couramment utilisé pour évaluer la traduction automatique, il calcule combien de mots ou de phrases dans le texte généré par la machine correspondent à ceux d'une traduction de référence.
Ensuite, on a la calibration.
- La calibration évalue le niveau de confiance des sorties du modèle. Par exemple, il y a l'Erreur de Calibration Attendue, qui catégorise les prédictions par niveau de confiance. Voici comment cela fonctionne :
1. Regroupement des prédictions par niveau de confiance : Le modèle fait une série de prédictions et indique à quel point il est confiant pour chacune d'elles (par exemple, 70% confiant, 80% confiant).
2. On vérifie ensuite la précision réelle dans chaque groupe : Pour les prédictions que le modèle estime à 70% de confiance, on vérifie si environ 70% d'entre elles sont réellement correctes. On fait de même pour les autres niveaux de confiance.
3. Enfin, on compare la confiance à la précision réelle : Si le modèle dit qu'il est confiant à 70% et que 70% de ses prédictions sont correctes, le modèle est bien calibré. L'Erreur de Calibration Attendue mesure à quel point la confiance du modèle est proche de la précision réelle à travers tous ces groupes. Plus l'erreur de calibration attendue est petite, mieux la confiance du modèle correspond à ses performances.
Les benchmarks, tels que ceux utilisés dans les évaluations HuggingFace, incluent souvent des métriques de calibration pour évaluer les performances du modèle, s'assurant que des modèles comme ceux évalués sur le benchmark MMLU sont correctement calibrés. Par exemple, le MMLU, qui est probablement le benchmark le plus populaire, évalue les modèles sur un ensemble diversifié de 57 sujets, y compris des sujets comme les mathématiques élémentaires, l'histoire des États-Unis, l'informatique et le droit. Il utilise des questions à choix multiples pour évaluer la capacité du modèle à comprendre et à raisonner dans ces domaines variés et calcule les scores automatiquement avec les réponses stockées.
Bien que le benchmarking automatisé offre une approche de test efficace, directe et standardisée, il peut négliger les nuances et les aspects qualitatifs des sorties des évaluateurs humains. Idéalement, on veut aussi des humains dans la boucle. Cependant, utiliser des humains est assez coûteux, donc une alternative est d'utiliser des modèles comme juges.
Il existe deux approches principales pour l'évaluation : utiliser un modèle général super puissant comme GPT-4 ou de petits modèles spécialisés formés sur des données de préférence.
Les modèles comme GPT-4 fournissent des résultats qui correspondent bien aux préférences humaines, mais ils sont souvent propriétaires, sujets à des modifications de l'API, et manquent d'interprétabilité, ce qui n'est pas idéal pour des évaluations cohérentes dans un benchmark.
Des modèles plus petits et spécialisés comme juges (comme les classificateurs de sentiments) peuvent réduire ce risque grâce à leur entraînement ciblé, ce qui peut rendre leurs évaluations plus cohérentes et interprétables, surtout parce que vous en êtes propriétaire, mais ils nécessitent également des tests rigoureux, car ils seront moins polyvalents et moins puissants qu'un grand modèle comme GPT-4.
Quelle que soit l'approche ici, cette méthode utilisant des modèles comme évaluateurs présente des limitations, telles que des scores incohérents et une tendance des modèles à se favoriser eux-mêmes. Par exemple, GPT-4 tendera à préférer les réponses de GPT-4 versus d’autres comme Llama de Meta. Récemment, une nouvelle méthode appelée G-eval a été introduite. Elle utilise les LLM de manière unique, combinant la technique de prompt appellée chaîne de pensée (ou chain-of-thought) avec une technique utilisant des formulaire.
Par exemple, supposons qu'on veuille évaluer la qualité avec laquelle un modèle résume un texte. Au lieu de simplement comparer le résumé généré à un résumé de référence en utilisant la métrique ROUGE, G-eval demanderait au modèle d'expliquer son raisonnement pour chaque partie du résumé qu'il a généré. Par exemple, il pourrait demander : "Pourquoi avez-vous inclus ce détail spécifique ?" Le modèle fournirait alors son raisonnement. Ensuite, le modèle remplirait un formulaire évaluant le résumé en fonction de critères prédéterminés. Cette double approche garantit une évaluation plus nuancée et humaine.
Cette méthode devient de plus en plus populaire, car elle s'aligne davantage sur le raisonnement humain, offrant une vue équilibrée qui intègre à la fois la précision mécanique des métriques automatisées et les analyses qualitatives des évaluations humaines. Et parlant des humains, il n’y a presque rien de mieux que ça.
Dans la dernière approche, où les humains jugent les LLM, l'évaluation se concentre sur la perception de la qualité et de la précision des résultats par les personnes. Les évaluateurs examinent les sorties et considèrent leur clarté, leur pertinence et leur fluidité.
Il existe plusieurs façons de procéder...
1. L'une d'elles est le Vibes-Check, où les membres de la communauté testent différents modèles en leur donnant des prompts spécifiques pour voir comment ils répondent. Ils peuvent partager leurs impressions générales ou faire une revue plus détaillée, et même partager leurs conclusions publiquement. Cependant, comme l’a partagé Clémentine Fourrier dans un excellent article sur HuggingFace, cette approche est très susceptible au biais de confirmation, où les évaluateurs tendent à trouver ce qu'ils cherchent.
2. Une autre méthode est les aréna communautaires, qui permettent aux gens de voter et de donner leur avis sur différents modèles, offrant un large éventail d'opinions et d'aperçus. Les membres de la communauté discutent simplement avec les modèles jusqu'à ce qu'ils trouvent que l'un est meilleur que les autres. C'est assez subjectif. Les votes sont ensuite compilés dynamiquement pour créer le classement et avoir un système de classement par elo. C'est là que le récent GPT-4o, avec le nom secret de GPT-2 Chatbot, a fait beaucoup de bruit dans l'arena des chatbots LMSYS.
3. Enfin, il y a la méthode la plus évidente, que nous appelons Annotations Systématiques. Cela implique des évaluateurs (généralement payés) suivant des règles strictes pour éviter les biais et maintenir la cohérence de leurs évaluations. Bien que cela puisse être très minutieux, cela peut aussi être assez coûteux. Les grandes entreprises le font, comme ScaleAI, par exemple.
Mais encore mieux, on peut combiner les deux approches. Des outils comme Dynabench utilisent des évaluateurs humains et des modèles d'IA. Ils améliorent continuellement les données qu'ils testent sur les modèles, s'assurant qu'elles restent pertinentes et stimulantes, et sont généralement des benchmarks de très haute qualité.
Les évaluateurs humains sont cruciaux, car ils offrent une perspective unique que les vérifications automatiques ne peuvent égaler. Ils ne se contentent pas de vérifier si la réponse est correcte ; ils considèrent également si elle a du sens dans le contexte, si elle est bien rédigée, claire et sûre, et si elle semble en ligne avec ce que les humains accepteraient ou valoriseraient généralement.
Le succès de ces évaluations humaines peut dépendre de plusieurs facteurs, comme le nombre de personnes qui évaluent, leur expertise dans le domaine, leur compréhension de la tâche et d'autres détails. Cependant, ils sont susceptibles aux biais. Mais les modèles le sont aussi. On ne peut tout simplement pas éviter cela, mais on peut le réduire avec des instructions claires et beaucoup de données et de personnes.
Ces méthodes d'évaluation mélangent des approches en ligne et hors ligne, où les évaluations en ligne interagissent avec des données en direct et capturent les retours des utilisateurs en temps réel, et les évaluations hors ligne testent les LLM contre des ensembles de données spécifiques. Les deux sont essentiels pour avoir une bonne compréhension des capacités des LLM au fil du temps, avec des bases solides et d’autres flexibles qui évoluent.
En fin de compte, chaque style a ses limites. Les évaluations basées sur des prompts peuvent être imprévisibles, car les LLM réagissent différemment à différents prompts. D'autre part, les évaluateurs, qu'ils soient humains ou IA, ont des biais personnels et différentes manières d'interpréter le ton, ce qui peut rendre les résultats incohérents.
Bien que les systèmes d'évaluation actuels soient détaillés, ils peuvent ne pas saisir pleinement les véritables capacités et risques des LLM dans ce domaine en évolution si rapide. À mesure qu’on continue d'explorer et d'élargir les possibilités des LLM, il est essentiel de continuer à améliorer nos méthodes d'évaluation, et je suis très enthousiaste de voir jusqu'où cela peut aller. C'est déjà incroyable ce que nous pouvons faire presque automatiquement à très peu de frais comparativement à l’an dernier.
Et voilà! J’espère que ce blogue a pu un peu démystifier comment on évalue les LLMs et la complexité derrière tout ça. En gros, on doit utiliser un peu toutes ces approches pour avoir le portrait le plus complet possible de chaque LLM. Elles ont toutes une utilité et des forces propres, mais il n’y a rien de mieux que faire nos propres tests et bâtir nos propres évaluations pour notre tâche spécifique!
Merci d'avoir lu le blogue en entier, et à la prochaine !