Kitaplar / Yöntem ile Sıfırdan Dil Modeli / Önsöz
Önsöz
ChatGPT, Claude ve Gemini gibi büyük dil modelleri (LLM) dışarıdan bakınca sihir gibi görünür. Oysa hepsinin çekirdeğinde tek bir basit soru vardır: şimdiye kadar yazılanlara bakılırsa, sıradaki parça ne olabilir? Bu kitap o soruyu adım adım, sıfırdan, kendi yazacağınız programlarla yanıtlar.
Kitabın sonunda elinizde çalışan küçük bir GPT olacaktır. Bu GPT, 178 Türk atasözü ve deyimiyle eğitilip yeni “atasözleri” üretir. Büyük modellerden milyonlarca kez küçüktür ama aynı mimariye sahiptir: karakter gömmeleri, konum gömmeleri, çok kafalı öz-dikkat, ileri besleme ağları, artık bağlantılar ve katman normalleştirme. Aradaki fark mimaride değil, ölçektedir.
Kime yönelik? Yöntem’in temellerini (değişkenler, döngüler, fonksiyonlar, listeler, sınıflar) bilen okurlar için yazılmıştır. Yöntem ile Programlamaya Giriş kitabının 12. ve 13. bölümlerindeki tensörler ve otomatik türev konularını okumuş olmak işinizi kolaylaştırır ama şart değildir. Matematik olarak toplama, çarpma, ortalama ve logaritmanın ne olduğunu bilmek yeterlidir.
Kitap nasıl ilerliyor? Her bölüm bir öncekinin modelini biraz daha akıllı hale getirir:
| Bölüm | Model | Neye bakıyor? | Doğrulama kaybı |
|---|---|---|---|
| 3 | Sayarak ikili model | 1 önceki karakter | — (yalnızca sayma) |
| 4 | Sinir ağıyla ikili model | 1 önceki karakter | — (sayma ile aynı sonuç) |
| 5 | Bağlamlı MLP | 3 önceki karakter | 2,40 |
| 8 | Küçük GPT | 16 önceki karakter | 8. bölümde |
Nasıl okuyabilirsiniz? Programları sırayla çalıştırmanızı öneririz. Hepsi llm_kitabi/ klasöründedir ve şu komutla çalışır:
node js/dist/cli.js llm_kitabi/03_ikili_sayma.yProgramlar Tohum(...) ile rastgeleliği sabitler; bu yüzden kendi bilgisayarınızda da kitaptaki çıktıların aynısını görmelisiniz. Her bölümün sonundaki alıştırmalar, modelin bir ayarını değiştirip sonucunu gözlemenizi ister. Bir modeli anlamanın en iyi yolu onu kurcalamaktır.
Kitapta kullanılan üç birim de aynı klasördedir: Atasozleri (eğitim verisi), DilAraclari (2. ve 3. bölümde yazdığımız küçük yardımcılar) ve KucukGPT (6. ve 7. bölümde kurduğumuz model).