Perplexity
Apprends ce que signifie la perplexité, comment elle mesure les performances d'un modèle de langage, comment la calculer et les meilleures pratiques pour interpréter les résultats.
La perplexité est une métrique d'évaluation qui mesure dans quelle mesure un modèle probabiliste prédit une séquence de jetons. Elle est le plus couramment utilisée en modélisation du langage, où une valeur plus faible signifie que le modèle trouve le texte évalué moins surprenant. Intuitivement, une perplexité de 10 suggère qu'à chaque étape de prédiction, le modèle est à peu près aussi incertain que s'il choisissait parmi 10 alternatives équiprobables. Cette interprétation est approximative, mais elle rend la métrique plus facile à comprendre.
Comment fonctionne la perplexité#
Un modèle de langage attribue une probabilité à chaque jeton suivant possible en fonction du contexte précédent. Comme l'explique l'introduction aux modèles de langage de Google, un modèle autorégressif prédit de manière répétée le jeton suivant et l'ajoute au contexte.
La perplexité résume les probabilités attribuées aux jetons corrects sur une séquence d'évaluation. Elle est dérivée de la moyenne de la log-vraisemblance négative, communément exprimée sous forme d'entropie croisée :
- Si l'entropie croisée utilise des logarithmes naturels, la perplexité est e élevée à la puissance de l'entropie croisée.
- Si l'entropie croisée utilise des logarithmes de base 2, la perplexité est 2 élevée à la puissance de l'entropie croisée.
Le glossaire d'apprentissage automatique de Google fournit une interprétation connexe : la perplexité approxime le nombre de suppositions dont un modèle aurait besoin pour inclure la prédiction correcte. Les bibliothèques peuvent également la calculer directement, comme le montre l'API de perplexité des modèles de langage NLTK.
Cet exemple Python minimal calcule la perplexité à partir des probabilités attribuées à quatre jetons corrects :
import math
# Probability assigned to the correct token at each position
token_probabilities = [0.50, 0.25, 0.80, 0.40]
negative_log_probs = [-math.log(probability) for probability in token_probabilities]
cross_entropy = sum(negative_log_probs) / len(negative_log_probs)
perplexity = math.exp(cross_entropy)
print(f"Cross-entropy: {cross_entropy:.3f}")
print(f"Perplexity: {perplexity:.3f}")Le calcul utilise la fonction exponentielle math.exp documentée de Python. Dans le code d'entraînement des modèles, des frameworks tels que la perte par entropie croisée de PyTorch calculent généralement la perte moyenne avant qu'elle ne soit exponentiée.
Comment interpréter la perplexité#
Une perplexité plus faible indique généralement qu'un modèle attribue des probabilités plus élevées aux jetons observés. Cependant, ce nombre n'a de sens que dans le cadre d'une comparaison contrôlée.
Supposons que le modèle A ait une perplexité de 20 et que le modèle B ait une perplexité de 30 sur les mêmes données de validation. Le modèle A prédit cet ensemble de données plus efficacement. Il ne produit pas nécessairement des réponses plus factuelles, utiles, sûres ou lisibles.
La perplexité diffère également de plusieurs concepts connexes :
- Fonction de perte : L'entropie croisée est la perte d'entraînement ou d'évaluation sous-jacente, tandis que la perplexité est sa représentation exponentiée et plus intuitive.
- Précision : La précision vérifie si une prédiction sélectionnée est correcte. La perplexité évalue l'ensemble de la distribution de probabilité prédite, y compris la part de probabilité que le modèle attribue aux alternatives.
- Confiance : La confiance décrit généralement la certitude pour une seule prédiction. La perplexité agrège l'incertitude prédictive sur de nombreuses positions de séquence.
- Qualité de génération : Un modèle à faible perplexité peut produire un texte fluide mais répétitif, incorrect ou peu utile. La perplexité ne mesure pas directement la factualité ou le raisonnement.
Applications concrètes#
-
Texte prédictif et génération de séquences : Les développeurs peuvent comparer des modèles de langage pour les suggestions de clavier, la transcription ou l'autocomplétion en utilisant du texte mis de côté provenant du domaine visé. Par exemple, un modèle ayant une plus faible perplexité sur la terminologie médicale peut fournir de meilleures prédictions du jeton suivant lors de la dictée clinique. Cette métrique peut aider à sélectionner un modèle avant d'évaluer séparément la latence et l'acceptation par l'utilisateur.
-
Légende d'image avec attention visuelle : Un système de légende d'image utilise souvent un encodeur visuel suivi d'un décodeur de langage. La perplexité peut mesurer dans quelle mesure le décodeur prédit les jetons de la légende de référence étant donné les caractéristiques de l'image. Cela est pertinent pour les modèles vision-langage, bien qu'une faible perplexité ne puisse pas déterminer à elle seule si une légende identifie correctement chaque objet ou évite les détails hallucinés.
L'évaluation basée sur les probabilités peut également prendre en charge des diagnostics spécialisés. Les conseils d'évaluation de la log-probabilité de NVIDIA expliquent comment les probabilités de jetons peuvent être agrégées en métriques telles que la perplexité sans nécessiter de génération libre.
Limitations et meilleures pratiques#
Les valeurs de perplexité ne doivent pas être comparées lorsque les modèles utilisent des schémas de tokénisation différents. Un modèle au niveau des mots, un modèle au niveau des caractères et un grand modèle de langage basé sur les sous-mots divisent la même phrase différemment, modifiant ainsi le nombre et la difficulté des étapes de prédiction.
Les ensembles de données d'évaluation doivent également correspondre au domaine cible. Un modèle peut atteindre une faible perplexité sur des articles d'actualité mais obtenir de mauvais résultats sur du code source ou des conversations de support technique. Suivez les directives de qualité pour l'apprentissage automatique établies en utilisant des données d'évaluation représentatives et distinctes ainsi qu'un prétraitement cohérent.
Dans les systèmes multimodaux et de vision par ordinateur, associez la perplexité à des mesures spécifiques à la tâche. Le guide d'Ultralytics sur l'évaluation des modèles et le réglage fin couvre des métriques telles que la précision, le rappel et la précision moyenne pour les prédictions visuelles. Ensemble, les métriques linguistiques et visuelles fournissent une évaluation plus complète que la seule perplexité.






