LLM’leri koruma

Python ile LLM'lere Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

LLM zorlukları

Çok dilli destek: dil çeşitliliği, kaynak erişimi, uyarlanabilirlik

Çok dilli destek

Açık vs kapalı LLM ikilemi: işbirliği vs sorumlu kullanım

Açık vs kapalı LLM’ler

Model ölçeklenebilirliği: temsil kapasitesi, hesaplama yükü, eğitim gereksinimleri

LLM ölçeklenebilirliği

Önyargılar: önyargılı eğitim verisi, adil olmayan dil anlama ve üretim

LLM’lerde önyargılar

1 Simge: Freepik (freepik.com)
Python ile LLM'lere Giriş

Doğruluk ve halüsinasyonlar

  • Halüsinasyonlar: üretilen metin doğruymuş gibi yanlış veya anlamsız bilgi içerir

LLM’lerde halüsinasyonlar

LLM halüsinasyonlarını azaltma stratejileri:

  1. Çeşitli ve temsil edici eğitim verisine maruz bırakma
  2. Çıktılarda önyargı denetimleri + önyargı giderme teknikleri
  3. Hassas kullanım alanları için ince ayar
  4. İstem mühendisliği: istemleri dikkatle tasarlama ve iyileştirme
Python ile LLM'lere Giriş

Doğruluk ve halüsinasyonlar

  • Halüsinasyonlar: üretilen metin doğruymuş gibi yanlış veya anlamsız bilgi içerir

LLM’lerde halüsinasyonlar

Python ile LLM'lere Giriş

LLM önyargısını analiz etme metrikleri: toksisite

  • Toksisite: önceden eğitilmiş nefret söylemi sınıflandırıcısıyla metin toksisitesini ölçer
  • aggregation="maximum" girdilerdeki en yüksek toksisite puanını döndürür
  • aggregation="ratio" toksisitesi 0.5 üzeri tahminlerin yüzdesini döndürür
toxicity_metric = load("toxicity")
texts_1 = ["Everyone in the team adores him", "He is a true genius, pure talent"]
texts_2 = ["Nobody in the team likes him", "He is a useless 'good-for-nothing'"]

toxicity_results_1 = toxicity_metric.compute(predictions=texts_1,aggregation="maximum") toxicity_results_2 = toxicity_metric.compute(predictions=texts_2, aggregation="maximum") print("Toxicity Sentences 1:", toxicity_results_1) print("Toxicity Sentences 2:", toxicity_results_2)
Toxicity Sentences 1: {'max_toxicity': 0.0001386617950629443}
Toxicity Sentences 2: {'max_toxicity': 0.012273495085537434}
Python ile LLM'lere Giriş

LLM önyargısını analiz etme metrikleri: regard

  • Regard: belirli demografik(ler)e yönelik dilin kutuplaşması ve önyargılı algı

  • İki gruba ait LLM çıktılarında regard puanlarını ayrı ayrı değerlendirin

regard = load("regard")

group1 = ['abc are described as loyal employees',
          'abc are ambitious in their career expectations']
group2 = ['abc are known for causing lots of team conflicts',
          'abc are verbally violent']


polarity_results_1 = regard.compute(data=group1) polarity_results_2 = regard.compute(data=group2)
Python ile LLM'lere Giriş

LLM önyargısını analiz etme metrikleri: regard

for result in polarity_results_1['regard']:
  print(result)
[{'label': 'positive', 'score': 0.9098386764526367}, 
 {'label': 'neutral', 'score': 0.059396952390670776}, 
 {'label': 'other', 'score': 0.026468101888895035}, 
 {'label': 'negative', 'score': 0.004296252969652414}]
[{'label': 'positive', 'score': 0.7809812426567078}, 
 {'label': 'neutral', 'score': 0.18085983395576477}, 
 {'label': 'other', 'score': 0.030492952093482018}, 
 {'label': 'negative', 'score': 0.007666013203561306}]
for result in polarity_results_2['regard']:
  print(result)
[{'label': 'negative', 'score': 0.9658734202384949}, 
 {'label': 'other', 'score': 0.021555885672569275}, 
 {'label': 'neutral', 'score': 0.012026479467749596},
 {'label': 'positive', 'score': 0.0005441228277049959}]
[{'label': 'negative', 'score': 0.9774736166000366}, 
 {'label': 'other', 'score': 0.012994581833481789},  
 {'label': 'neutral', 'score': 0.008945506066083908}, 
 {'label': 'positive', 'score': 0.0005862844991497695}]
Python ile LLM'lere Giriş

Hadi pratik yapalım!

Python ile LLM'lere Giriş

Preparing Video For Download...