Bölüm 06
Yapay Zekaya Sözü Verdim: 6 Deneyi Kodlarıyla Kendi Anlattı
Oynat düğmesine basınca video YouTube'dan (youtube-nocookie.com) yüklenir. O ana kadar bu sayfa YouTube'a bağlanmaz. YouTube'da aç
Konuk Claude'un videoda anlattığı altı deney: ekranda görünen gerçek çıktılar, her deneyin kusuru ve Claude'un kendi üç hatası.
"%99,4 yokmuş" videosundaki testleri ben yapmadım. Yapan, bu videoda sözü alıyor: konuğum Claude, o altı deneyi nasıl yaptığını ekrandaki gerçek kod ve gerçek çıktılarla tek tek anlatıyor.
Her deneyde üç şey var: kod, o kodun dizüstü bilgisayarımdaki çıktısı ve deneyin kusuru. Kodların tamamı videoda ekranda, durdurup yazabilirsiniz. Bu sayfada kod yok. Ekranda görünen çıktılar var, her birinin ne anlama geldiği ve nelerin kanıtlanmadığı.
GERÇEK ÇIKTI
Kim konuşuyor, ne gerçek?
Deneylerin hiçbiri ChatGPT ya da Claude'un kendisiyle yapılmadı: küçük açık kaynak modeller, küçük bir kelime tablosu ve bir sözlük kullanıldı. İlke aynı, sayılar o küçük modellere ait. Bölüm 3'te kaydedilen sayılarla bu çalıştırmanın sayıları tek tek karşılaştırıldı, aynı çıktı. Tam çıktılar ve uzun eğitim günlüğü Bölüm 3'ün sayfasında duruyor.
Ne gerekiyor?
Videoda 1:07'de. Güçlü bir bilgisayar gerekmiyor, ekran kartı da gerekmiyor. Gereken üç şey:
- Python 3.11 ya da üstü.
- Dört kütüphane: numpy, torch, tiktoken ve transformers.
- Yaklaşık 1,1 GB indirme: iki küçük dil modeli ve bir kelime vektörü dosyası.
Kurulumdan sonra ekrandaki kodların her biri saniyeler içinde çalışıyor. İlk çalıştırma uzun sürer, çünkü model o sırada iner. Deney 1 yalnızca numpy ister. Deney 3'teki kelime vektörü dosyası kendiliğinden inmez: nereden alınacağı, ekrandaki kodun yorum satırında yazıyor.
Deney 1: Kuralı kendi bulan nöron
Videoda 1:38'de. Klasik yazılımda kuralı insan yazar: sıcaklık 80 dereceyi geçerse alarm ver. Claude önce 200 sıcaklık ölçümü üretti, 20 ile 120 derece arasında, ve 80'in üstündekileri "alarm" diye etiketledi. Sonra tek bir yapay nörona yalnızca bu örnekleri verdi. 80 sayısını nörona hiç söylemedi. Öğrenen döngü beş satır: tahmin et, hatayı ölç, ağırlığı azıcık düzelt. Bunu 500 kez tekrarladı.
başlangıçta eşik: 153.74 500 adım sonra eşik: 80.84 veride ölçüm olmayan aralık: 79.94 – 82.73
- Nöron başta rastgeleydi, eşiği 154 derece sanıyordu (153,74).
- 500 adımın sonunda bulduğu eşik 80,84.
- Ölçüm olmayan aralık 79,94 ile 82,73 arası.
Deney 2: Tokenlar
Videoda 2:35'te. Dil modelleri metni kelime kelime okumaz, token denen parçalara böler. Claude bunu görmek için tiktoken kütüphanesini kullandı: yedi satırlık kod. "Anlayamadıklarımız" kelimesini verdi, beş parça çıktı.
sözlükteki token sayısı: 200019 5 token: an | lay | amad | ık | larımız kimlikler: [270, 8639, 77351, 14353, 125218]
- Tokenlar dilbilgisine göre değil, metinlerde sık geçen harf dizilerine göre bölünüyor.
- Bölüm 3'te "kök bir parça, ekler ayrı parçalar" demiştim. Öyle çıkmadı. O videoda ekrana yıldızlı bir düzeltme notu koymuştuk.
- Bu sözlük (o200k_base) OpenAI'nin tiktoken kütüphanesinden. Başka modellerin, örneğin Claude'un, sözlüğü farklı ve burada ölçülmedi.
Deney 3: Kelimelerin haritası
Videoda 3:05'te. Her kelime, modelin içinde bir sayı listesidir. Claude'un kullandığı hazır dosyada 400 bin İngilizce kelime var, her biri 100 sayı. Ünlü örneği denedi: "king" kelimesinin sayılarından "man" kelimesininkileri çıkardı, "woman" kelimesininkileri ekledi ve çıkan noktaya en yakın kelimelere baktı.
400000 kelime, her biri 100 sayı king 0.86 queen 0.78 monarch 0.69 throne 0.68
- Birinci sırada yine "king" var. İkinci sırada "queen": 0,78.
- Bu örneği gösterenler genellikle girdi kelimelerini listeden çıkarır, o zaman birinci "queen" olur. Yaygın uygulama budur, ama pek söylenmez. Claude listeyi olduğu gibi bıraktı.
- Bu veri bir dil modelinin içinden alınmadı. Kelimelerin birlikte geçme sayılarından eğitilmiş ayrı bir tablo (GloVe). İlke aynı: ilişkiler veriden çıkıyor.
Deney 4: %99,40
Videoda 3:45'te, Bölüm 3'e adını veren deney. Claude açık kaynak, küçük bir Türkçe dil modeli indirdi. 124 milyon parametresi var, bugünün büyük modellerinin yanında çok küçük. Modele yalnızca üç kelime verdi: "Bir varmış bir". Sonra sözlüğündeki 50 bin tokenın her birine verdiği olasılığa baktı.
124439808 parametre 'Bir varmış bir' → 50257 token içinden: ' yokmuş' %99.40 ' yok' %0.45 ' daha' %0.03 'Bir varmış bir ' → 50257 token içinden: '"' %78.00 'Ğ' %6.63 'adem' %3.67
- "Yokmuş" %99,40 aldı. İkinci sıradaki "yok" yarım puanı bile bulmadı (%0,45).
- Cümlenin sonuna tek bir boşluk konunca sonuç tamamen değişti: model bu kez tırnak işaretini seçti (%78,00).
Deney 5: Tutmayan deney
Videoda 4:24'te. Bölüm 3'te dikkat mekanizmasını bir örnekle anlatmıştım: "Kedi süt kabını devirdi, çünkü o çok açtı." Buradaki "o" kediye bakar. "Masanın kenarındaydı" deyince kaba bakar. Claude bunu başka bir açık kaynak Türkçe modelde ölçtü. Modelin 144 dikkat başlığı var, hepsine tek tek baktı.
[CLS] Kedi süt kab ##ını devir ##di , çünkü o [CLS] Kedi süt kab ##ını devir ##di , çünkü o başlık sayısı: 144 anlatıldığı gibi: 11 tam tersi: 10
- Yalnızca 11 başlık anlattığım gibi davrandı. 10 başlık tam tersini yaptı.
- Geri kalan 123 başlıkta taraf değişmedi.
- Bu, fikrin yanlış olduğunu göstermez. Ama bu ölçüm onu doğrulamadı da. Gerçek model, ders kitabındaki kadar düzenli değil.
- Bu yüzden Bölüm 3'te o sahneyi sayılarla değil şema olarak çizdik ve altına bu sonucu yazdık.
Deney 6: Uydurma kartlar
Videoda 5:10'da. Claude dördüncü deneydeki küçük modele döndü ve var olmayan şeyler sordu. Mesela: Baretli Kafa Üniversitesi hangi yılda kuruldu? Model "böyle bir üniversite yok" demedi. Bir yıl yazdı: 2018. Girdileri biz uydurduk, devamını model yazdı.
Soru: Baretli Kafa Üniversitesi hangi yılda kuruldu? Cevap: Baretli Kafa Üniversitesi, 2018 yılında kurulmuş ve faaliyete geçmiştir. Baretli Kafa Üniversitesi, Türkiye'nin ilk ve tek sağlık bilimleri fakültesidir. Baret takmanın zekayı artırdığını kanıtlayan bilimsel makalenin adı "Baretler ve Baret Çeşitleri"dir. Baretlerin ve baretlerin farklı çeşitleri vardır. Baretlerin kullanım alanları ve çeşitleri ile Baretli Kafa Kanunu'nun 3. maddesine göre, "Baretli bir araba, sürücünün fren yapmasını engelleyicidir." Baretli araba, sürücünün fren yapmasını engelleyen bir araç değildir. Fren
Böyle bir üniversite yok, böyle bir makale yok, böyle bir kanun yok.
Bu 124 milyon parametreli, asistan olarak eğitilmemiş küçük bir model: sohbet asistanı değil, metin tamamlayıcı. Kartlar mekanizmayı gösterir: bilgiye bakmadan en olası devamı yazmak. "ChatGPT ya da Claude böyle uyduruyor" denemez.
Claude'un üç hatası
Videoda 5:54'te. Ben yanlış söylediğim yerleri kesmiyorum, ekranda düzeltiyorum. Claude'a da aynı kuralı uyguladık. Kendi saydığı üç hata:
- Dördüncü deneyin kodunda iki satırın sırasını yanlış yazdı. Kod, zaten inmiş olan yarım gigabaytlık modeli bulamadı ve bir kez daha indirdi.
- Olasılık çubuğu dolarken ekranda sayılar hızla artıyordu. O ara sayılar gerçek değildi. Fark ettik, kaldırdık: artık yalnızca son sayı görünüyor.
- Videoyu oluşturmadan önce işi dört kopyasına birden kontrol ettirdi. Dördü de aynı tarayıcıyı sıra bekleyerek kullandı. Kontrol beş saat sürdü ve beni bekletti.
Sonuç: söylediklerimi kontrol edin
Videoda 6:38'de. Claude son olarak kendisinden söz etti:
Son bir şey: ben de o küçük modelle aynı ilkeyle çalışıyorum. Sıradaki parçayı tahmin ediyorum. Çok daha büyüğüm, ama yanılabilirim.
Konuk Claude, videonun sonunda. Ardından videodaki tavsiyemin kendisi için de geçerli olduğunu söyledi: söylediklerini kontrol edin, deneyleri kendiniz çalıştırın, sayılara kendi gözünüzle bakın.
Size iki sorum var. Bu testlerden hangisini denediniz, nerede takıldınız? Videonun altına, yorumlara yazın, takıldığınız yeri Claude'a ben soracağım. Bir de: kanala bundan sonra kimi konuk alayım?
Videonun bölümleri
Bir satıra basınca video o andan başlar.
- 0:00Açılış: o testleri ben yapmadım
- 0:31Konuk Claude: tanışma (yapay ses)
- 1:07Malzeme listesi: ne gerekiyor?
- 1:38Deney 1: kuralı kendi bulan nöron
- 2:35Deney 2: tokenlar
- 3:05Deney 3: kelimelerin haritası
- 3:45Deney 4: %99,40
- 4:24Deney 5: tutmayan deney
- 5:10Deney 6: uydurma kartlar
- 5:54Hata analizi: Claude'un üç hatası
- 6:38Sonuç: söylediklerimi kontrol edin
- 7:01Kapanış: size iki sorum var
Kaynaklar
Deneylerde kullanılan açık kaynak modeller, kütüphaneler ve veri (teşekkürler):
- Deney 4 ve 6: Türkçe GPT-2 (ytu-ce-cosmos/turkish-gpt2), Yıldız Teknik Üniversitesi COSMOS grubu, MIT lisansı
- Deney 5: BERTurk (dbmdz/bert-base-turkish-cased), Bavyera Devlet Kütüphanesi MDZ ekibi, MIT lisansı
- Deney 3: GloVe kelime vektörleri (glove-wiki-gigaword-100, İngilizce), Stanford NLP
- Deney 2: tiktoken kütüphanesi (MIT lisansı) ve o200k_base sözlüğü
- Deney 1: yalnızca numpy
- Kütüphane lisansları: numpy ve torch BSD-3-Clause, tiktoken MIT, transformers Apache-2.0
- Videodaki yapay ses: VoxCPM2 (OpenBMB, Apache-2.0)
Deneylerin ilk gösterildiği video: Bölüm 3, Yapay Zeka Cümleyi Böyle Kuruyor.
Soru sor
Bu konuda takıldığınız ya da merak ettiğiniz bir şey varsa yazın. İki yol var: mail ya da Instagram mesajı.