- Markov zinciri, bir sonraki kelimeyi seçen basit bir istatistiksel modeldir; ancak anlamı tam olarak kavrayamamasından doğan sapmalar yüzünden LLM’lerden daha komik çıktılar üretebilir
- Mizah, hafif ve beklenmedik bir şaşkınlıktan doğar; tanıdık bir örüntü kurup sonra beklentiyi bozan “snap”, şakayı güçlü kılar
- LLM’ler çok fazla bağlam ve olasılık hesabıyla en makul sonraki token’ı bulduğu için, performansları arttıkça ortalama ve tahmin edilebilir cümlelere yaklaşırlar
- ChatGPT 3.5 ile King James Bible ve bilgisayar bilimi ders kitabıyla eğitilmiş bir Markov zincirinin karşılaştırmasında, Markov zinciri neredeyse anlamlı giderken sonunda alakasız bir anlam kayması yaratır
- Mevcut LLM’ler yaratıcı yazı veya şaka üretimi için pek uygun değildir; bu işler için gereken dil modeli, bugünkü LLM’lerden kategori olarak farklı bir biçimde olmalıdır
Markov zincirlerinin daha komik görünmesinin nedeni
- King James Bible ve bilgisayar bilimi ders kitabı veri kümesiyle eğitilmiş Markov zinciri örnekleri, İncil üslubuyla programlama terimlerini karıştırarak “neredeyse anlamlı ama sonunda dağılan” cümleler üretir
- ChatGPT 3.5’ten benzer çıktılar üretmesi istendi, ancak sonuç daha derli toplu ve anlamı daha dengeli cümlelere yakın oldu
- İki örnek de seçilmiş vakalar olsa da, her iki tarafta da iyi adayların seçildiği bir karşılaştırmadır
- Markov zincirinin cümleleri tuhaf anlamlar taşır ve cümlenin sonuna yaklaştıkça anlamsız yön değişimleri yapar
Markov zinciri “çok aptal bir LLM”e yakındır
- LLM’ler ilk yaygın şekilde anlatılırken bazen “çok zeki Markov zincirleri”ne benzetiliyordu; bugünse Markov zincirleri “çok aptal LLM’ler” gibi görülebilir
- ChatGPT bir LLM’dir, yani Large Language Model türüdür
- 300GB’tan büyük çok büyük modeller de vardır, 10GB’tan küçük modeller de
- Küçük olsalar bile genellikle “small language model” değil, küçük LLM denir
- Markov zinciri de mevcut bağlama dayanarak bir sonraki kelimeyi tahmin eder; ancak anlambilim, boyutsallık ve özelleşmiş vektör matematiğini hesaba katmayan basit bir istatistiksel modeldir
- Telefon klavyelerinin üst kısmındaki sonraki kelime önerisi özelliği genellikle Markov zinciriyle yapılır; çalıştırma maliyeti düşüktür ve kullanıcının mesajlaşma tarzına göre kolayca güncellenebilir
- Belirli bir hedefi olan cümleler üretmek gerekiyorsa LLM çoğu zaman daha iyi iş çıkarır; ama doğruluk doğrudan komikliğe dönüşmez
Mizah “hafif ve beklenmedik şaşkınlık”tır
- Mizah, unserious surprise, yani ciddi olmayan şaşkınlık olarak özetlenebilir
- İyi bir şakada keyifli ve belirgin bir “snap” vardır
- “snap”, punchline kelimesinin taşıdığı anlamsal yükten kaçınmak için kullanılan bir ifadedir
- Şaşkınlık ne kadar azsa, o kadar az komiktir
- Aynı şakayı defalarca duyunca daha az komik gelmesinin nedeni şaşkınlığın azalmasıdır
- “Rastgele” mizahın eğlenceli gelmeyebilmesinin nedeni, kelimelerin kendisi öngörülemez olsa bile, öngörülemez olacağı beklentisinin zaten öngörülebilir olmasıdır
- Tanıdık bir örüntüyü yeniden kullanıp sonra beklentiyi bozarsanız snap güçlenir
- “banana, apple, orange, vehicular manslaughter” tek kelimelik meyve listesi örüntüsü kurar ve bunu bir suç ifadesiyle bozar
- Şaka yazmak büyük ölçüde örüntü ihlaline yakındır
Sahne ne kadar netse snap de o kadar güçlüdür
- Daha özgün veya betimleyici bir dil kullanmak sahneyi daha gerçek hissettirebilir ve snap’i de güçlendirebilir
- Sadece “he was shot” demek yerine “he was pierced by a 35mm” derseniz sahne daha somutlaşır
- “he fell” yerine “his face met the ground” gibi ifade ederseniz sahne daha netleşir
- Sahnenin ortasından başlamak da etkilidir
- “a urinal cake? I’m not falling for that one again” daha önce ne olduğunu hayal ettirir ve sahnenin gerçeklik hissini artırır
- İyi şaka yazımı ile iyi yazının hedefleri kısmen örtüşür
- Klişeler sahneyi gerçekleşmemiş halde bıraktığı için kelimeleri boşa harcar
Mizahın işlemesi için gereken koşullar
- Neyin “hafif ve beklenmedik şaşkınlık” olduğu evrensel değildir; bu yüzden mizah özneldir
- Bel altı mizah fazla ciddi algılandığı için komik olmayabilir; tersine fazla tahmin edilebilir olduğu için de başarısız olabilir
- Anti-joke ancak şaka yapısının kendisi tahmin edilebilir olduğunda komik olabilir
- Absürdizm, onu kabul etmeye hazır olunduğunda işler
- Kültürel normlar ihlal edilebilir; ancak bu ihlalin ciddi olmayan bir şey olarak anlaşılması gerekir
- Yalnızca İngilizce konuşan bir Amerikalı olan yazar bile, İngilizce olmayan bir ortamda “no” kelimesini kültürel olarak beklenmedik bir biçimde kullanarak başarılı bir şaka yapabildi
LLM’ler tahmin edilebilirliğe doğru optimize edilir
- Cümleleri başarılı şekilde tahmin etmek için çok fazla bağlam gerekir ve LLM’ler bu bağlamdan yararlanır
- Karmaşık hesaplamalarla en olası sonraki token’ı bulmak, LLM’lerin temel çalışma biçimidir
- Derlem makul ifadelerden oluşuyorsa, daha iyi bir LLM daha tahmin edilebilir çıktılar üretir
- Bu özellik yüzünden LLM’ler yaratıcı yazı için kötü bir tercih olabilir
- Çok fazla prompt mühendisliği olmadan üretilen paragraflar kolayca LLM tarafından yazılmış gibi görünebilir
- Sonuç, bağlam içinde mümkün olan en ortalama cümle gibi hissedilir
- LLM’den “özgün düşünce” istemek neredeyse bir çelişkidir; LLM, böyle bir şeyi yapmamak üzere tasarlanmış bir araçtır
Bugünkü LLM’ler şaka üretimine uygun değildir
- Şaka yapmak için yaygın ifadeleri beklenmedik biçimde büküp anlamını değiştirmek gerekir
- İyi bir LLM tam da bu tür sapmalardan kaçınacak şekilde optimize edilir
- Komedinin algoritmayla üretilemeyeceği iddiasına katılmıyorum
- Komedi analiz edilebilir ve ölçülebilir
- Yeterince büyük destek varsa isteğe bağlı komedi üretimi de mümkün olabilir
- Mümkün olması, yapılması gerektiği anlamına gelmez
- Mevcut LLM’ler bu iş için doğru araç değildir
- Erken aşamadaki LLM’ler daha komikti; görsel üretim de erken aşamada daha komikti
- Dall-e mini’nin “trail cam” görselleri gibi örnekler var
- Sistemler iyileştikçe mizah kayboldu
Daha iyi tahmin makineleri ile sanatsal ifade arasındaki gerilim
- Çok iyi bir tahmin makinesi, sanatsal ifadeye büyük katkı sağlamayabilir
- LLM’lerin hâlâ pek çok kullanım alanı vardır, ancak yaratıcı işler için kusursuz araçlar değillerdir
- LLM’ler, bir çocuğun kolayca ortaya atabileceği ilginç kavramları bazen kaçırır
- Bu çerçeveyi dikkate alırsak başka tür bir dil modeli yapılabilir
- Bu model, mevcut LLM’lerden kategori olarak farklı olmalıdır
- Muhtemelen LLM denmeyecek kadar farklı olabilir
LLM çıktılarında görülen soyutlama sızıntısı
- Bu sav “ruhani insan makineye karşı” tartışması değildir
- LLM’ler giderek gelişse de tekrar tekrar görülen kusurlar vardır; insan benzeri görünmeye çalışırken iç yapısının görünür hale geldiği sızdıran soyutlamaya yakındır
- ChatGPT’nin tüm mesajlarının lise kompozisyonu gibi okunmasının nedeni, en ortalama çıktıyı yeniden üretmesidir
- LLM çıktıları, kişiliği çıkarılmış ve akademik titizlikle sertleştirilmiş yavan kurumsal üslup gibi görünebilir
- Sahte Amazon yorumlarını “Ben böyle yazar mıydım?” diye düşününce fark etmek kolaydır
- Oxiclean dish wipes kullanım deneyimine giriş ve sonuç ekleyip eklemeyeceğiniz şüphe uyandırır
- Üreticiye teşekkür eden ve müşteri hizmetleri bağlılığını takdir eden cümleler gerçek kullanıcı deneyimi gibi görünmeyebilir
- LLM tespit modelleri, ekrandaki CAPTCHA’lar gibi yakında kişiliği ayırt etmek zorunda kalabilir
Referans bağlantı
- famous tumblr blog: King James Bible ile programlama üslubunu karıştıran Markov zinciri örneklerinin kaynağıdır ve yakın zamanda yeniden çalışmaya başladı
1 yorum
Hacker News yorumları
Birkaç yıl önce bir yan proje üzerinde çalışırken aynı sonuca varmıştım.
LLM’ler ortaya çıkmadan önce sahte AWS Blog Posts üreten https://totes-not-amazon.com/ sitesini yapmıştım; o zamana kadarki tüm AWS duyuru yazılarıyla bir Markov zinciri üreticisini eğitip AWS blogunun HTML/CSS’ini kopyalayarak Python+JS ile birleştirmiştim.
AWS bloguna aşina olan insanlar bile birkaç cümle okuduktan sonra bunun kelime çorbası olduğunu fark ediyordu; epey komikti.
GPT yeni çıktığında Minimaxir’in gpt-2-simple’ı ile AWS içeriklerine dayalı blog yazıları üretip bunu yükseltmeyi denedim, ama sonuçlar fazla inandırıcı olduğu için eğlencesi çok azaldı. Gerçek bir blog yazısı gibi okunuyordu, sadece gerçekler yanlıştı.
Sonuçta ilk Markov üretimlerinin mizahı, birkaç kelime ya da birkaç cümle sonra her şeyin tamamen saçma olduğunu fark etmenin yarattığı absürtlükte yatıyordu; günümüz LLM’leri bu ölçekte artık fazla iyi. Yanıldıkları oluyor ama komik biçimde saçmalamaları nadir.
Markov zinciri içeriği “çocuklar alakasız şeyler söyler” tarzında yanlış yapıyor; modern LLM’ler ise “temel coğrafyayı bile bilmeyen amca” gibi yanlış yapıyor.
https://github.com/cemulate/the-mlab
Bu, kategori teorisi ve yüksek kategori teorisi için ortak çalışma wikisi olan nLab’in bir parodisi. nLab’i görmüş olanlar bilir; yeni başlayanlar için teknik jargon neredeyse çözülemez düzeyde olduğu için bu proje fikri ortaya çıktı.
Bu proje, Nearley gramerini verimli ve denetlenebilir bir sahte metin üreticisine dönüştüren nearley-generator paketini kullanıyor; gramer dosyası
/src/grammar/nlab.neiçinde.Çoğu saçma ya da eğlencesiz abartılardı (“bu kahramanın artık 500 zırhı var”), ama genelde en az 5-6 satır çok komik olurdu ve bazen de kehanet gibi tutan şeyler çıkardı. Örneğin “Fiend's Grip ek 1/2/3 illüzyon oluşturur” gibi.
Ama LLM’ler yüzünden durum bozuldu. Büyük subreddit’ler tüm AI içeriklerini yasakladı; çünkü saf kullanıcıların ve botların paylaştığı sıkıcı Midjourney içeriği çok fazlaydı. Erişim ortadan kalkınca ilgi de kayboldu, ben de artık Markov zincirleri yapmaz oldum.
Bu hafta LLM sohbet botlarını çok kullandım; o amca yalnızca yalanları kendinden emin biçimde söylemekle kalmayıp öz değerlendirme yeteneğinden de yoksun olsaydı, çoktan öldürülmüş olurdu.
Claude 3.5 Sonnet’e “son makale ve Hacker News tartışmasına dayanarak, makale yazarının anlattığı tarzda komik 10 kısa şaka yaz” diye prompt verdim.
Claude, Markov zincirlerinin LLM’lerden daha komik olduğu temasında “ciddi olmayan şaşkınlık” ve beklenen kalıpların bozulmasını hedefleyen şakalar yapacağını söyledi.
Örnekler şöyleydi: “Bir LLM ile bir Markov zinciri bara girmiş. LLM istatistiksel olarak makul bir içki sipariş etmiş, Markov zinciri ise peynirden yapılmış bir abajur istemiş”, “Bir ampulü değiştirmek için kaç LLM gerekir? Bir tane yeter, ama önce en uygun ampul değiştirme sürecini 20 dakika açıklar”, “Markov zinciri neden iyi bir terapist olamaz? Çünkü tavsiyesi hep ‘ve sonra duyguları muzlayıp şapka olana kadar’ şeklindedir.”
Bu, yalnızca rastgele bir şeyler yapıştırmak değil. Markov zincirinin bir tür anlam üretme olasılığı daha yüksek, ama ürettiği anlam yanlış türden.
Örneğin “Bir LLM, bir Markov zinciri ve GPT-4 bara girmiş. Barmen ‘sizin gibileri almıyoruz’ deyince GPT-4 gitmiş, LLM etik tartışmak için kalmış, Markov zinciri ise darbe sipariş etmiş” daha doğru olur.
Üniversitedeyken arkadaşlarım okul gazetesinin “polis raporu” bölümüne bir Markov zinciri üreticisi uygulamıştı.
3-token üreticiden çıkan sonuçların en iyi %10’u, şimdiye kadar gördüğüm makine üretimi metinler içinde en komik olanlardandı; modern LLM’lerin üst düzey anlamsal tutarlılık oluşturmaya çalışırken kaçındığı türden bir absürtlük vardı.
O dönemde kütüphanede teşhircilik yapan birinin olması da muhtemelen iyi bir ham madde sağlamıştı.
Gazete The Daily Utah Chronicle’dı; hatırladığım kadarıyla arkadaşlarım kişisel ilanlar bölümüne de Markov zinciri üreticisi uygulamış ve epey iyi sonuçlar almıştı.
Buna karşılık Markov zinciri, eş sesliliğe dayalı dil sürçmeleri gibi bağlantılar yüzünden her cümlenin rastgele sürüklenmesiyle tesadüfen absürt komediye ulaşıyor.
Ampirik kanıt istiyorsanız,
/r/SubredditSimulatorMarkov tabanlı bir Reddit parodisi;/r/SubSimulatorGPT2ise LLM tabanlı kuzeniMarkov sürümü çok daha fazla oy aldı ve düpedüz daha komik
Birkaç yıl boyunca Reddit’e birkaç kez “yapay zekanın yazdığı sahte XYZ” gönderdim; en iyi tepki alan model GPT-2 oldu
Markov zinciri bir-iki cümleden uzun süre ilgiyi korumak için yetersiz, GPT-3 sonrası ise fazla düzgün ve sıkıcı
GPT-2, grameri genel olarak doğru kurup tutarlı fikirleri sürdürebilecek kadar iyi; ama çeşitli konuların ayrıntılarını bağlama uygun sonuçlar üretecek kadar henüz bilmediği için mükemmel bir orta nokta
Botu her zamanki IRC kanalına dağıtıp insanların onun bot olduğunu fark etmesinin ne kadar süreceğini görmek istedim. Biri mesaj gönderdiğinde son 10 mesajı LLM’e gönderiyor, sonuç belirli bir önekle başlıyorsa o mesajı kanala yolluyordu
Ne yazık ki GPT-2 yeterince iyi değildi; biraz tutarlı ve konuya uygun ama saçma içerikler üretiyordu
Sistemi düzelttikten sonra 7B modelini ince ayarlamayı denemeyi düşünüyorum
AI Weirdness blogunun (https://www.aiweirdness.com/) son birkaç yıldaki değişimine bakınca bu fikri bir ölçüde destekliyor
Ancak yazar LLM’lerle de çok sayıda komik sonuç elde etti; bunlar çoğunlukla GPT-3’e kadarki erken modeller ve GPT-3’ün daha küçük varyantlarıydı
Örneğin GPT’nin Ada sürümünün ürettiği kahvaltılık gevrek adları, Da Vinci sürümününkilerden çok daha komikti: https://www.aiweirdness.com/new-breakfast-cereals-from-ai/
Sıcaklık değerini artırmak yetmez mi?
Markov zinciri dili daha kaba biçimde anlıyor. LLM’in sıcaklığını, yani rastgeleliğini artırırsanız benzer ölçüde kaba bir yaklaşıma ulaşabilirsiniz
Üstelik yazar ChatGPT-3.5 kullanmış. ChatGPT mümkün olduğunca genel duyulsun diye RLHF uygulanmış bir model; 3.5’in mizah anlayışı da 4’ten daha düşük
Bu yazının savı bana ikna edici gelmiyor
Ne yazık ki hesap artık yok, ama yaklaşık 10 yıl önce okuldayken şu iki kaynakla eğitilmiş bir Markov Twitter botu yapmıştım
Biri Linus Torvalds’ın önceki 1 yıl içinde LKML’ye gönderdiği tüm e-postalar, diğeri King James Bible’da İsa’nın doğrudan alıntılarıydı
Gerçekten komikti. İki eğitim kümesi neredeyse hiç örtüşmediği için, zincir bir kümede uzun süre “takılı” kaldıkça diğer kümenin seçeneklerine daha fazla ağırlık veren bir sezgisel yöntem eklemem gerekmişti
https://www.tumblr.com/kingjamesprogramming
Yaklaşık 20 yıldır IRC Markov zinciri botu çalıştırıyorum
Son birkaç yıldır yanında yerel LLM de çalıştırıyorum. Hâlâ Markov zinciri botunu daha çok sevenler var ama çoğunluk LLM’i çağırıyor
Tabii bunun nedeni, ChatGPT gibi hizmet tipi LLM’lerdeki zeki, kilitli ve düşük sıcaklıklı modeller yerine, Mistral-7B ince ayarı gibi halüsinasyonu bol, reddi az ve komik modeller seçmem olabilir
LLM ve Markov botunu yan yana görünce, Markov botunun “mizahının” ne kadarının rastlantısal çıktılara insanların anlam yüklemesinden ibaret olduğunu daha güçlü hissediyorum. Yine de Markov’un “öğrenme” yeteneği hâlâ çok daha üstün
Benim botlarım hiç o kadar uzun dayanmadı. Bir keresinde kullanıcıların LiveJournal’larını kazıyıp rastgele metin üretmiştim: https://hewgill.com/journal/entries/68-new-lj-toy.html
Twitch sohbetinde Markov zinciri botu çalıştırıyorum ve ara sıra harika anlar çıkıyor. Bir süre LLM de denedim ve son sohbetleri prompt’a koydum, ama özellikle mizahi gelen sonuçlar pek çıkmadı
Ne tür bir şaka yapacağını özellikle söyleyen prompt mühendisliği de denedim, ama LLM hep aynı biçimi izleme eğilimindeydi
Özel bir Discord sunucusunda iki bot var
Biri tüm sohbet geçmişiyle eğitilmiş temel bir Markov zinciri botu, diğeri ise sondaki belirli sayıda token üzerinde eğitilmiş düzgün bir LLM. İkisi de bazen sohbetin ortasına rastgele dalıyor
Markov zinciri botu her zaman çok daha komik
Araya girip girmeyeceğine karar verirken başka bir mesajdan sonra basit bir olasılık mı (ör. %25) kullandın, yoksa bir zamanlayıcıyla mı çalıştırdın?