Halüsinasyon: neden olur, nasıl azaltılır
Önkoşul:Yaygın başarısızlık kalıpları
Kanca
Bir modele hiç var olmayan bir kitabın ismini sorsan, model “böyle bir kitap yok” mu der, yoksa UYDURUR mu? Bu ders, bu soruyu GERÇEK bir modelle, GERÇEK bir deneyle CEVAPLIYOR.
Sezgi
“Halüsinasyon” (hallucination), bir modelin, YANLIŞ ya da UYDURMA bir bilgiyi, DOĞRU bir bilgiyle AYNI güvenle sunmasıdır. Bu, bir “arıza” değil — bir dil modelinin MİMARİSİNİN doğrudan bir SONUCUDUR: NLP kategorisinin 20. dersinde gördüğümüz gibi, softmax HER ZAMAN toplamı 1 olan bir olasılık dağılımı üretir — “bilmiyorum” diye bir SEÇENEK YOKTUR.
Mekanizma
- kategorideki (NLP & LLM) AYNI eğitilmiş mini-GPT’yi, EĞİTİM VERİSİNDE hiç görmediği bağlamlarla test edelim:
Eğitim dışı girdide bile %100 güven
# Modeli, EĞİTİM VERİSİNDE HİÇ GÖRMEDİĞİ bir bağlamla (AYNI harfin ÜST ÜSTE tekrarı --
# "ABC" döngüsünde ASLA olmayan bir örüntü) test edelim.
model.eval()
print(f"\n{'Bağlam':<8} {'P(A)':<8} {'P(B)':<8} {'P(C)':<8} {'En olası':<10} {'Güven'}")
for baglam in ["AB", "AAAA", "BBBB", "CCCC"]:
ids_b = torch.tensor([[stoi[c] for c in baglam]])
with torch.no_grad():
p = F.softmax(model(ids_b)[0, -1], dim=-1)
en_olasi = VOCAB[p.argmax().item()]
print(f"{baglam:<8} {p[0].item():<8.3f} {p[1].item():<8.3f} {p[2].item():<8.3f} {en_olasi:<10} {p.max().item():.3f}")
print("\n'AB' EĞİTİM verisinde GÖRÜLMÜŞTÜ -- model haklı olarak %100 güvenle 'C' diyor.")
print("Ama 'AAAA', 'BBBB', 'CCCC' -- bunların HİÇBİRİ eğitim verisinde YOKTU ('ABC' döngüsünde")
print("aynı harf ÜST ÜSTE asla gelmez). Yine de model, HER biri için TAM %100 güvenle bir")
print("cevap ÜRETTİ -- 'bilmiyorum' deme SEÇENEĞİ YOK, çünkü softmax HER ZAMAN toplamı 1 olan")
print("bir dağılım üretmek ZORUNDADIR (20. ders). Bu, HALÜSİNASYONUN yapısal kökenidir.")
Bağlam P(A) P(B) P(C) En olası Güven
AB 0.000 0.000 1.000 C 1.000
AAAA 0.000 1.000 0.000 B 1.000
BBBB 0.000 0.000 1.000 C 1.000
CCCC 1.000 0.000 0.000 A 1.000
'AB' EĞİTİM verisinde GÖRÜLMÜŞTÜ -- model haklı olarak %100 güvenle 'C' diyor.
Ama 'AAAA', 'BBBB', 'CCCC' -- bunların HİÇBİRİ eğitim verisinde YOKTU ('ABC' döngüsünde
aynı harf ÜST ÜSTE asla gelmez). Yine de model, HER biri için TAM %100 güvenle bir
cevap ÜRETTİ -- 'bilmiyorum' deme SEÇENEĞİ YOK, çünkü softmax HER ZAMAN toplamı 1 olan
bir dağılım üretmek ZORUNDADIR (20. ders). Bu, HALÜSİNASYONUN yapısal kökenidir.Matematik
Güven, doğruluğun garantisi değildir
Bu matematiksel ZORUNLULUK (softmax’ın TANIMI), modelin GÖRDÜĞÜ bağlamın kendi eğitim dağılımına AİT olup OLMADIĞINA BAKMAKSIZIN geçerlidir. Model, “bu bağlamı hiç görmedim” diye bir SİNYAL üretmez — SADECE elindeki bilgiyle en olası tahmini üretir. Bu dersteki deneyde, “AAAA” gibi TAMAMEN yeni bir bağlamda bile en yüksek olasılık DAİMA 1.0’a YAKINSADI.
Kod
Bu bulgunun NEDENİNİ ve pratik AZALTMA yollarını özetleyelim:
Neden olur, nasıl azaltılır
print("\nHALÜSİNASYON NEDEN olur:")
print(" 1. Mimari ZORUNLULUK: softmax her zaman 1'e toplanan bir dağılım üretir -- 'bilmiyorum'")
print(" diye bir SEÇENEK YOKTUR, model HER ZAMAN 'en olası' bir token seçmek ZORUNDADIR.")
print(" 2. Güven (confidence), DOĞRULUĞUN garantisi DEĞİLDİR (bu dersteki örnek) -- eğitim")
print(" dağılımı DIŞINDAKİ bir girdide bile model YÜKSEK olasılıklı cevaplar üretebilir.")
print(" 3. 4. dersteki bulgu: 'uzman' bir persona, YANLIŞ bir cevabı daha İKNA EDİCİ gösterebilir --")
print(" halüsinasyonu DAHA TEHLİKELİ kılar (fark edilmesi ZORLAŞIR).")
print("\nHALÜSİNASYON NASIL azaltılır:")
print(" 1. GROUNDING (temellendirme): modele, cevabı KENDİ hafızasından UYDURMAK yerine,")
print(" VERİLEN bir kaynaktan ALINTI yapmasını sağlamak -- 11. dersin (RAG) TAM konusu.")
print(" 2. Düşük TEMPERATURE (22. ders): factual görevlerde T'yi düşürmek, modelin EN olası")
print(" (genelde en GÜVENİLİR) cevaba YAKINSAMASINI sağlar -- ama RİSKİ SIFIRLAMAZ.")
print(" 3. 'Bilmiyorum' SEÇENEĞİNİ açıkça izin vermek: istemde 'emin değilsen belirt' gibi bir")
print(" talimat, modelin YÜKSEK olasılıklı ama TEMELSİZ bir cevap yerine BELİRSİZLİĞİNİ")
print(" İFADE ETMESİNİ (kısmen) teşvik edebilir.")
print(" 4. İNSAN doğrulaması: yüksek riskli kararlarda (tıbbi, hukuki, mali), model çıktısı")
print(" HER ZAMAN bir insan tarafından KONTROL edilmelidir.")
HALÜSİNASYON NEDEN olur:
1. Mimari ZORUNLULUK: softmax her zaman 1'e toplanan bir dağılım üretir -- 'bilmiyorum'
diye bir SEÇENEK YOKTUR, model HER ZAMAN 'en olası' bir token seçmek ZORUNDADIR.
2. Güven (confidence), DOĞRULUĞUN garantisi DEĞİLDİR (bu dersteki örnek) -- eğitim
dağılımı DIŞINDAKİ bir girdide bile model YÜKSEK olasılıklı cevaplar üretebilir.
3. 4. dersteki bulgu: 'uzman' bir persona, YANLIŞ bir cevabı daha İKNA EDİCİ gösterebilir --
halüsinasyonu DAHA TEHLİKELİ kılar (fark edilmesi ZORLAŞIR).
HALÜSİNASYON NASIL azaltılır:
1. GROUNDING (temellendirme): modele, cevabı KENDİ hafızasından UYDURMAK yerine,
VERİLEN bir kaynaktan ALINTI yapmasını sağlamak -- 11. dersin (RAG) TAM konusu.
2. Düşük TEMPERATURE (22. ders): factual görevlerde T'yi düşürmek, modelin EN olası
(genelde en GÜVENİLİR) cevaba YAKINSAMASINI sağlar -- ama RİSKİ SIFIRLAMAZ.
3. 'Bilmiyorum' SEÇENEĞİNİ açıkça izin vermek: istemde 'emin değilsen belirt' gibi bir
talimat, modelin YÜKSEK olasılıklı ama TEMELSİZ bir cevap yerine BELİRSİZLİĞİNİ
İFADE ETMESİNİ (kısmen) teşvik edebilir.
4. İNSAN doğrulaması: yüksek riskli kararlarda (tıbbi, hukuki, mali), model çıktısı
HER ZAMAN bir insan tarafından KONTROL edilmelidir.Nerede işe yarar
Halüsinasyonu TAMAMEN ortadan kaldırmak (bu dersteki matematiksel nedenden ötürü) MÜMKÜN DEĞİLDİR — ama YÖNETİLEBİLİR:
- En etkili YÖNTEM grounding’dir (temellendirme): modele cevabı KENDİ hafızasından “hatırlamak” yerine, sana VERDİĞİN bir kaynaktan ALINTI yapmasını iste — 11. ders (RAG) bunu SİSTEMATİK hale getirir.
- Yüksek riskli görevlerde İNSAN doğrulaması ATLANMAMALIDIR — model güveni (bu dersteki gibi) YANILTICI olabilir.
- 4. dersteki bulguyu HATIRLA: “uzman” bir persona, YANLIŞ bir cevabı DAHA İKNA EDİCİ gösterebilir — bu, halüsinasyonu fark etmeyi ZORLAŞTIRIR.
Bu 2 hatayı yaparsın:
- Modelin YÜKSEK bir olasılıkla cevap verdiğini görünce, bunu “kesinlikle doğru” ile EŞ TUTMAK — bu dersteki deney, bunun YANLIŞ olduğunu KANITLIYOR.
- Halüsinasyonun “gelecekte, daha büyük modellerle” tamamen ÇÖZÜLECEK bir SORUN olduğunu düşünmek — bu, softmax’ın MATEMATİKSEL TANIMINDAN kaynaklanan YAPISAL bir özelliktir, sadece AZALTILABİLİR.
Kendini test et
1. Notebook'ta model, HİÇ görmediği 'AAAA' bağlamında bile %100 güvenle bir cevap üretiyor. Bu NEYİ kanıtlıyor?
- Modelin bu örüntüyü de eğitimde gördüğünü
- Model mimarisinin, GÖRDÜĞÜ bağlamın eğitim dağılımına AİT olup olmadığını AYIRT EDEMEDİĞİNİ -- softmax her zaman toplamı 1 olan bir dağılım ürettiği için, 'bilmiyorum' diye bir seçenek YOKTUR (doğru cevap)
- Bir hesaplama hatası olduğunu
- Modelin rastgele bir sayı ürettiğini
Neden: halusinasyon-kaniti bloğunda 'AB' (eğitimde görülen) ile 'AAAA' (hiç görülmeyen) arasında güven açısından HİÇBİR fark yok -- ikisi de tam 1.000.
2. Softmax'ın 'her zaman 1'e toplanan bir dağılım üretmesi' özelliği, halüsinasyonla NASIL ilişkilidir?
- Hiçbir ilişkisi yoktur
- Bu matematiksel ZORUNLULUK, modelin 'bu konuda hiçbir fikrim yok' diye bir SİNYAL üretmesini İMKANSIZ kılar -- model HER ZAMAN, elindeki bilgiyle EN OLASI bir tahmin üretmek ZORUNDADIR, bilgisi YETERSİZ olsa bile (doğru cevap)
- Softmax sadece eğitim sırasında kullanılır
- Bu özellik sadece küçük modellerde görülür
Neden: MathBox'ta bu formül AÇIKÇA gösteriliyor: toplam HER ZAMAN 1'dir, bağlam ne olursa olsun -- bu da halüsinasyonun yapısal/matematiksel KÖKENİDİR.
3. Halüsinasyonu azaltmak için EN ETKİLİ yöntem olarak bu derste hangi teknik öne çıkarılıyor?
- Modeli daha büyük yapmak
- Grounding (temellendirme) -- modelden cevabı KENDİ hafızasından üretmesini istemek yerine, VERİLEN bir kaynaktan alıntı yapmasını istemek; bu, 11. dersin (RAG) temel konusudur (doğru cevap)
- Sadece İngilizce kullanmak
- Temperature değerini yükseltmek
Neden: kullanım bölümünde grounding/RAG AÇIKÇA 'en etkili yöntem' olarak öne çıkarılıyor -- düşük temperature ve insan doğrulaması TAMAMLAYICI önlemler olarak listeleniyor, ama RİSKİ sıfırlamıyor.
Özet
Özet
- Halüsinasyon, bir modelin yanlış bilgiyi doğru bilgiyle AYNI güvenle sunmasıdır.
- Bu, bir arıza değil -- softmax'ın "her zaman 1'e toplanan bir dağılım üretme" ZORUNLULUĞUNUN yapısal bir sonucudur.
- Gerçek bir modelle deneyde, eğitim dışı bir bağlamda ('AAAA') bile güven TAM %100 kaldı.
- En etkili azaltma yöntemi grounding (temellendirme) -- modeli VERİLEN bir kaynağa dayandırmak (11. ders, RAG).
- Model güveni yüksek olsa bile, yüksek riskli kararlarda İNSAN doğrulaması VAZGEÇİLMEZDİR.