Perplexité
Perplexité (en anglais Perplexity, PPL), en théorie de l'information et en apprentissage automatique, est une mesure de l'incertitude ou de la « surprise » d'un modèle de langage lors de la prédiction d'un échantillon de texte. Une faible perplexité indique que la distribution de probabilité du modèle correspond bien aux données de test, tandis qu'une perplexité élevée signifie que le modèle prédit mal la séquence[1].
Formellement, la perplexité d'une distribution de probabilité est définie comme l'exponentielle de son entropie. Pour une distribution discrète , elle est égale à , où est l'entropie[2]. Intuitivement, la perplexité peut être comprise comme le nombre « effectif » de choix possibles que le modèle a à chaque étape. Si la perplexité est de 100, cela signifie que l'incertitude du modèle est équivalente à choisir parmi 100 issues équiprobables[3].
Le terme a été introduit pour la première fois en 1977 par un groupe de chercheurs d'IBM dirigé par Frederick Jelinek dans le contexte de la reconnaissance statistique de la parole pour quantifier la « difficulté » d'une tâche[4].
La perplexité dans les modèles de langage
Dans le domaine du traitement du langage naturel (TALN), la perplexité est devenue une métrique intrinsèque (intrinsic) standard pour l'évaluation de la qualité des modèles de langage. Elle mesure à quel point un modèle prédit bien une séquence de mots ou de tokens dans un jeu de données de test.
Définition formelle
Pour un corpus de test et un modèle de langage , la perplexité est calculée comme l'inverse de la moyenne géométrique de la probabilité du corpus de test, normalisée par le nombre de mots :
Cette formule est équivalente à l'exponentielle de l'entropie croisée, ou de la perte logarithmique négative moyenne (negative log-likelihood) :
La minimisation de la perplexité est équivalente à la maximisation de la vraisemblance du modèle sur les données de test. Ainsi, un modèle avec une perplexité plus faible est considéré comme statistiquement plus précis[5].
Application historique et LLM modernes
Historiquement, la perplexité a été largement utilisée pour évaluer les modèles statistiques n-grammes. Par exemple, pour le corpus du Wall Street Journal, un modèle unigramme (ne tenant compte que de la fréquence des mots) a une perplexité d'environ 962, tandis qu'un modèle trigramme (tenant compte du contexte des deux mots précédents) a une perplexité d'environ 109[6]. Cette baisse spectaculaire montre à quel point le modèle capture mieux les régularités du langage.
Avec le développement des grands modèles de langage (LLM), la perplexité a conservé son rôle de référence de base. Les chercheurs rapportent la perplexité sur des jeux de données de test standards (par exemple, WikiText) comme un indicateur de la « fluidité » du modèle. Par exemple, dans l'article d'OpenAI sur GPT-2, il est indiqué que le modèle avec environ 117 millions de paramètres atteint une perplexité d'environ 37 sur le corpus WikiText-103[7]. La réduction de la perplexité est généralement corrélée à une amélioration de la qualité du modèle, c'est pourquoi cette métrique sert d'indicateur pratique des progrès lors de l'entraînement et de l'optimisation.
Limites et interprétation de la métrique
Bien qu'une faible perplexité indique une haute vraisemblance des données selon le modèle, cet indicateur présente plusieurs limites importantes et n'est pas toujours corrélé à la qualité réelle du texte généré.
- Faible perplexité ≠ haute qualité. La perplexité mesure la confiance du modèle dans ses prédictions, mais pas leur fiabilité. Un modèle peut être confiant tout en ayant tort, en générant un texte dénué de sens mais statistiquement probable (par exemple, en répétant des mots et des phrases très fréquents)[3].
- Sensibilité aux données et à la tokenisation. La perplexité est peu adaptée à la comparaison directe de modèles ayant des architectures, des vocabulaires ou des méthodes de tokenisation différents. Par exemple, un modèle basé sur les caractères peut avoir une perplexité numériquement plus faible qu'un modèle basé sur les mots, mais cela ne signifie pas qu'il résout mieux les tâches linguistiques[3].
- Incapacité à évaluer la sémantique et le contexte long. La perplexité est une métrique locale qui évalue la prédiction du token suivant. Elle est faiblement corrélée à la capacité du modèle à saisir les dépendances à long terme et le contexte sémantique sur de longues distances. Une étude de 2023 (Hu et al.) a montré que la capacité des LLM à comprendre de longs textes (jusqu'à 100 000 tokens) ne se reflète pratiquement pas dans la métrique de perplexité[8].
- Possibilité de manipulation. La métrique peut être « trompée ». Un modèle sur-entraîné affichera une perplexité artificiellement basse sur des données qu'il a « mémorisées ». Des recherches (Wang et al., 2022) ont également montré que la duplication de fragments de texte ou même l'absence d'un point à la fin d'une phrase peut réduire ou augmenter la perplexité de manière injustifiée, sans affecter la qualité réelle du texte[9].
Conclusion : le rôle de la perplexité aujourd'hui
Compte tenu des limites énumérées, dans la pratique moderne, la perplexité est considérée comme un indicateur auxiliaire et préliminaire de la qualité d'un modèle de langage. Elle reste un outil précieux pour l'évaluation rapide et le débogage des modèles, car elle ne dépend pas d'une tâche applicative spécifique et est simple à calculer[3].
Cependant, pour une évaluation complète des LLM, la perplexité seule ne suffit pas. Aujourd'hui, elle est systématiquement complétée par des métriques externes (extrinsic) liées à des tâches spécifiques, telles que :
- La précision des réponses aux questions ;
- Les évaluations humaines (human evaluation) ;
- BLEU/ROUGE pour la traduction automatique et le résumé de texte.
En combinaison avec ces méthodes, la perplexité continue de jouer un rôle important en servant de mesure objective de la « surprise » du modèle, mais ses résultats doivent toujours être interprétés en tenant compte des limites mentionnées[3].
Liens externes
- Article « Perplexité dans les modèles de langage » sur Habr (en russe)
- Documentation Hugging Face sur le calcul de la perplexité
Bibliographie
- Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
- Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (3e éd., chap. 3 : N-gram Language Models). PDF.
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
- Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
- Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
- Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
- Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.
Références
- ↑ « Perplexité (théorie de l'information) ». Wikipédia. [1]
- ↑ «Perplexity». Wikipedia. [2]
- ↑ 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. «Perplexity for LLM Evaluation». Comet AI Blog, 21 Nov 2024. [3]
- ↑ «README.md · evaluate-measurement/perplexity». Hugging Face. [4]
- ↑ Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
- ↑ Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
- ↑ «Perplexity number of wikitext-103 on gpt-2 don't match the paper». GitHub, huggingface/transformers, Issue #483. [7]
- ↑ Hu, H., et al. «Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?». arXiv:2405.06105 [cs.CL], 10 mai 2024. [8]
- ↑ Wang, C., et al. «Perplexity by PLM Is Unreliable for Evaluating Text Quality». arXiv:2210.05892 [cs.CL], 12 oct. 2022. [9]