Mesures pour les tâches de langue : perplexité et BLEU

Introduction aux LLM avec Python

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Tâches et mesures des LLM

 

Mesures d'évaluation pour les tâches de langue

Introduction aux LLM avec Python

Perplexité

  • Capacité d'un modèle à prédire le prochain mot avec exactitude et assurance
  • Perplexité plus basse = confiance plus élevée
input_text = "Latest research findings in Antarctica show"

generated_text = "Latest research findings in Antarctica show that the ice sheet 
is melting faster than previously thought."


# Encode the prompt, generate text and decode it input_text_ids = tokenizer.encode(input_text, return_tensors="pt") output = model.generate(input_text_ids, max_length=20) generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
Introduction aux LLM avec Python

Résultat de la perplexité

perplexity = evaluate.load("perplexity", module_type="metric")
results = perplexity.compute(predictions=generated_text, model_id="gpt2")

print(results)
{'perplexities': [245.63299560546875, 520.3106079101562, ....], 
 'mean_perplexity': 2867.7229790460497}
print(results["mean_perplexity"])
2867.7229790460497
  • Comparer au résultat de référence
Introduction aux LLM avec Python

BLEU

  • Mesure la qualité de traduction par rapport à des références humaines

  • Prédictions : sorties du LLM

  • Références : références humaines
bleu = evaluate.load("bleu")


input_text = "Latest research findings in Antarctica show" references = [["Latest research findings in Antarctica show significant ice loss due to climate change.", "Latest research findings in Antarctica show that the ice sheet is melting faster than previously thought."]] generated_text = "Latest research findings in Antarctica show that the ice sheet is melting faster than previously thought."
Introduction aux LLM avec Python

Résultat BLEU

results = bleu.compute(predictions=[generated_text], references=references)
print(results)
{'bleu': 1.0, 
 'precisions': [1.0, 1.0, 1.0, 1.0], 
 'brevity_penalty': 1.0, 
 'length_ratio': 1.2142857142857142, 
 'translation_length': 17, 
 'reference_length': 14}
  • Score 0–1 : plus près de 1 = similitude plus élevée
Introduction aux LLM avec Python

Passons à la pratique !

Introduction aux LLM avec Python

Preparing Video For Download...