evaluate kütüphanesi

Python ile LLM'lere Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

evaluate kütüphanesi

import evaluate

accuracy = evaluate.load("accuracy")
print(accuracy.description)
Doğruluk (Accuracy), işlenen toplam örnek içinde
doğru tahminlerin oranıdır. Şu şekilde hesaplanır:
Accuracy = (TP + TN) / (TP + TN + FP + FN)
Burada:
TP: True positive
TN: True negative
FP: False positive
FN: False negative

 

  • Metrik: gerçeğe dayanarak model performansını değerlendirir

 

  • Karşılaştırma: iki modeli karşılaştırır

 

  • Ölçüm: veri kümesi özelliklerine içgörü sağlar
Python ile LLM'lere Giriş

Features özniteliği

print(accuracy.features)
{'predictions': Value(dtype='int32', id=None),
 'references': Value(dtype='int32', id=None)}

Bir metriğin beklediği girdileri inceleme

  • 'predictions': model çıktıları
  • 'references': gerçekteki etiketler
  • .features: sınıf etiketleri için desteklenen türü belirtir; ör. 'int32' veya 'float32'
f1 = evaluate.load("f1")
print(f1.features)
{'predictions': Value(dtype='int32', id=None),
 'references': Value(dtype='int32', id=None)}
pearson_corr = evaluate.load("pearsonr")
print(pearson_corr.features)
{'predictions': Value(dtype='float32', id=None),
'references': Value(dtype='float32', id=None)}
Python ile LLM'lere Giriş

LLM görevleri ve metrikler

 

Dil görevleri için değerlendirme metrikleri

Python ile LLM'lere Giriş

LLM görevleri ve metrikler

 

Dil görevleri için değerlendirme metrikleri

Python ile LLM'lere Giriş

Sınıflandırma metrikleri

accuracy = evaluate.load("accuracy")
precision = evaluate.load("precision")
recall = evaluate.load("recall")
f1 = evaluate.load("f1")
from transformers import pipeline

classifier = pipeline("text-classification", model=model, tokenizer=tokenizer)

predictions = classifier(evaluation_text)

predicted_labels = [1 if pred["label"] == "POSITIVE" else 0 for pred in predictions]
Python ile LLM'lere Giriş

Metrik çıktıları

real_labels = [0,1,0,1,1]
predicted_labels = [0,0,0,1,1]

print(accuracy.compute(references=real_labels, predictions=predicted_labels))
print(precision.compute(references=real_labels, predictions=predicted_labels))
print(recall.compute(references=real_labels, predictions=predicted_labels))
print(f1.compute(references=real_labels, predictions=predicted_labels))
{'accuracy': 0.8}
{'precision': 1.0}
{'recall': 0.6666666666666666}
{'f1': 0.8}
Python ile LLM'lere Giriş

İnce ayarlı modelimizi değerlendirme

# Kaydedilmiş modeli ve tokenleştiriciyi 
# .from_pretrained("my_finetuned_files") ile yükleyin


new_data = ["This is movie was disappointing!", "This is the best movie ever!"] new_input = tokenizer(new_data, return_tensors="pt", padding=True, truncation=True, max_length=64) with torch.no_grad(): outputs = model(**new_input) predicted = torch.argmax(outputs.logits, dim=1).tolist()
real = [0,1]
print(accuracy.compute(references=real,
                       predictions=predicted))
print(precision.compute(references=real,
                        predictions=predicted))
print(recall.compute(references=real,
                     predictions=predicted))
print(f1.compute(references=real, 
                 predictions=predicted))
{'accuracy': 1.0}
{'precision': 1.0}
{'recall': 1.0}
{'f1': 1.0}
Python ile LLM'lere Giriş

Doğru metriği seçmek

 

  • Farkında olun: her metrik kendi içgörülerini sunar, ancak sınırlamaları da vardır

 

  • Kapsamlı olun: metriklerin birleşimini (mümkünse alana özgü KPI'lar) kullanın

Farkındalık, düşünme ve karar vermeyi göstermek için ampullü bir beyin illüstrasyonu.

Python ile LLM'lere Giriş

Ayo berlatih!

Python ile LLM'lere Giriş

Preparing Video For Download...