Les modèles de langage sont désormais capables de résoudre des tâches nécessitant de traiter de longues séquences composées de centaines de milliers de jetons. Cependant, ils échouent souvent sur des tâches qui nécessitent l’utilisation répétitive de règles simples, même sur des séquences bien plus courtes que celles vues lors de l’entraînement. Par exemple, les LLM de pointe peuvent trouver des éléments communs dans deux listes contenant jusqu'à 20 éléments, mais échouent lorsque les listes contiennent 80 éléments. Dans cet article, nous présentons MLissard, un benchmark multilingue conçu pour évaluer les capacités des modèles à traiter et générer des textes de longueurs variées et offre un mécanisme de contrôle de la complexité des séquences.
Notre évaluation des modèles open source et propriétaires montre une baisse constante des performances dans tous les modèles et langages à mesure que la complexité de la séquence augmente. Étonnamment, l’utilisation d’exemples contextuels dans des langues autres que l’anglais contribue à augmenter considérablement les performances d’extrapolation.
Dans le dossier data/(task)/, vous trouverez les ensembles de données à évaluer avec MLissard. Les fichiers sont au format .json et présentent une brève description de la tâche suivie d'exemples contextuels de la langue cible. Le champ "test_examples" contient les exemples de tests constitués de l'entrée, de la cible, de la longueur (len) et du bin qui appartient à cette longueur.
Dans results/(task)/GPT-4/ il est possible de retrouver les réponses générées par les modèles GPT-4 et Llama-3 ainsi que les tests d'ablation, les dossiers sont séparés par tâches.
Le dossier src/(task)/ contient des fichiers .py pour générer de nouveaux exemples ou développer MLissard. Pour exécuter : python <task_name>.py --output_path=my_output_path