🎓 LLM Nasıl Eğitilir: Pretraining

LLM Nasıl Eğitilir: Pretraining: Bir modeli pretraining'den geçirmek, milyonlarca fotoğrafı incelerken hiçbirinde açıkça "bu kompozisyon iyi, bu kötü" diye söylenmeyen bir fotoğr

Bir modeli pretraining'den geçirmek, milyonlarca fotoğrafı incelerken hiçbirinde açıkça "bu kompozisyon iyi, bu kötü" diye söylenmeyen bir fotoğrafçılık öğrencisine benzer — mekanizma birebirdir: öğrenciye tek bir tekrarlayan alıştırma verilir, "bir fotoğrafın ilk %90'ını gördüğünde, eksik köşesinin neye benzediğini tahmin et" — ve bunu milyonlarca fotoğrafta milyarlarca kez yapmak, öğrenciyi "kompozisyon" diye bir kavramı kimse elle etiketlemeden kompozisyonu, ışığı ve konuyu içselleştirmeye zorlar. Üzerinde durulmaya değer soru şu: modele kimse açıkça dilbilgisi veya Python sözdizimi öğretmediyse, ikisini de nasıl biliyor? Çünkü internet ölçeğinde sıradaki token'ı isabetle tahmin etmek, ancak altındaki düzenlilikleri — dilbilgisini, sözdizimini, olgusal kalıpları — zımnen özümsemişsen mümkündür; tahmin hedefi, yetkinliği bir yan etki olarak zorla içeri sokar, asla açık bir ders olarak değil. Java karşılaştırması: bu, derlenmiş bir .class dosyası gibidir — kaynağın kendisini değil, DAMITILMIŞ davranışını taşır; pretrained model "ağırlıkları", milyarlarca sıradaki-token tahmininin derlenmiş çıktısıdır, ve Java kaynağını bytecode'dan geri kazanamayacağın gibi orijinal eğitim metnini de ağırlıklardan geri okuyamazsın. QA tarafındaki bedel: modelin "bilgisi" eğitim verisinin toplandığı an (eğitim kesim tarihi) donduğu için, o zaman doğru olan ama şimdi kullanımdan kaldırılmış bir sözdizimini kendinden emin şekilde kullanır — bu, Claude AI sayfasında ele alınan "eski kütüphane syntax'ı" riskinin mekanik köküdür; NEDEN olduğunu bilmek (dikkatsizlik değil, donmuş ağırlıklar) bir tester'ı prompt'ta her zaman tam kütüphane sürümünü belirtmeye götürür.

Tek Alıştırma: Eksik Parçayı Tahmin Et

Pretraining, bir modele devasa internet metni dilimleri verir — kitaplar, kod, forumlar, dokümantasyon — ve tek bir alıştırmayı tekrarlar: sıradaki token'ı gizle, modelden tahmin etmesini iste, tahminin ne kadar yanlış olduğunu ölç (bu farka "loss" denir), ve modelin milyarlarca iç ağırlığını daha iyi bir tahmine doğru ÇOK küçük bir adımla it. Bu alıştırmayı trilyonlarca kez tekrarla.

Akıl yürütme: "alıştırma" bu kadar basit görünürken bu neden GPU, aylar ve devasa maliyet gerektirir? Çünkü "milyarlarca ağırlığı çok hafifçe it" işlemi HER TEK tahminden sonra, trilyonlarca tahmin boyunca gerçekleşmeli, ve her itiş devasa bir matris hesaplaması gerektirir. Java karşılaştırması: bu, her tek satır değiştiğinde devasa paylaşılan bir kod tabanını yeniden derlemek gibidir, ama "kod tabanı" milyarlarca parametreye sahiptir ve bu trilyonlarca kez olur — kavramsal zorluk değil, tekrarlanan hesaplamanın saf hacmi özel donanımı aylarca çalıştırmayı gerektirir.

Adım Adım: Ham Metinden Pretrained Modele

Kitaplar, kod, forumlar, dokümantasyon — devasa ve çeşitli bir metin dilimi bir araya getirilir.

Sıradaki token'ı gizle

Bir metin parçasının sıradaki token'ı modelden saklanır — model onu tahmin etmeye zorlanır.

Model tahmin eder, tahmin gerçek token ile karşılaştırılır; fark "loss" (kayıp) olarak ölçülür.

Milyarlarca iç ağırlık, kaybı azaltacak yönde ÇOK küçük adımlarla güncellenir.

2-4. adımlar tüm veri setinde trilyonlarca kez tekrarlanır — "pretrained base model" bunun sonucudur.

Pretraining döngüsünü doğru sıraya diz.

Devasa ve çeşitli bir metin dilimi topla

Bir metin parçasının sıradaki token'ını gizle