CS336: Sıfırdan Dil Modelleme
(cs336.stanford.edu)- Dil modelleri, modern NLP uygulamalarının temelidir ve tek bir genel amaçlı sistemle çeşitli alt görevleri ele alan yeni bir paradigma açar
- Bu ders, ön eğitim için veri toplama ve temizleme, Transformer kurma, eğitim ve dağıtım öncesi değerlendirmeye kadar dil modeli geliştirme sürecinin tamamını bizzat uygulamayı sağlar
- Ödevler, tokenizer, model mimarisi ve optimizer uygulamalarıyla başlayıp GPU optimizasyonuna, FlashAttention2'nin Triton implementasyonuna ve dağıtık eğitim koduna kadar genişler
- Dersi almak için Python ve yazılım mühendisliği yetkinliği, PyTorch, bellek hiyerarşisi gibi sistem kavramları ile kalkülüs, lineer cebir, olasılık-istatistik ve makine öğrenmesi bilgisi gerekir
- 5 üniteli, implementasyon odaklı bir derstir; mevcut kodlara bakmayı ve LLM ile doğrudan çözüm üretmeyi kısıtlar, GPU eğitimi ve benchmark öncesinde CPU debugging yapılmasını önerir
Dersin hedefi ve kapsamı
- Dil modelleri, modern doğal dil işleme (NLP) uygulamalarının temel taşıdır ve tek bir genel amaçlı sistemle birden fazla alt görevi ele alan yeni bir paradigma açar
- AI, ML ve NLP alanları büyümeyi sürdürdükçe, hem araştırmacılar hem de mühendisler için dil modellerine dair derin bir anlayış daha önemli hale gelir
- İşletim sistemleri derslerinde tüm işletim sistemini sıfırdan kurma yaklaşımından ilham alan bu ders, öğrencilerin doğrudan bir dil modeli geliştirme sürecinin tamamını izlemesini sağlar
- Kapsam; ön eğitim verisinin toplanması ve temizlenmesi, Transformer modelinin kurulması, modelin eğitimi ve dağıtım öncesi değerlendirmeye kadar uzanır
Gerekli yetkinlikler
- Ödevlerin çoğu Python ile yapılır ve diğer AI derslerine göre çok daha az iskelet kod sağlanır
- Yazılması gereken kod miktarı diğer derslere göre en az bir mertebe daha fazladır; bu nedenle Python ve yazılım mühendisliği becerileri çok önemlidir
- Nöral ağ dil modellerini birden çok makinedeki GPU'larda hızlı ve verimli çalıştırmak dersin önemli bir bölümünü oluşturur
- PyTorch'a güçlü bir aşinalık ve bellek hiyerarşisi gibi temel sistem kavramları beklenir
- Matris-vektör gösterimi ve işlemleri, olasılık, Gaussian dağılımı, ortalama, standart sapma ile makine öğrenmesi ve derin öğrenmenin temellerinde rahat olmak gerekir
- Ders 5 ünitelidir ve implementasyon yoğunluğu çok yüksektir; bu yüzden yeterli zaman ayırmak gerekir
Ödev yapısı
- Assignment 1 Basics, standart bir Transformer dil modelini eğitmek için gerekli tokenizer, model mimarisi ve optimizer'ı uygular ve minimal bir dil modeli eğitir
- Assignment 2 Systems, Assignment 1'deki model ve katmanları gelişmiş araçlarla profile eder ve benchmark yapar, FlashAttention2'yi kendi Triton implementasyonuyla optimize eder ve bellek verimli dağıtık eğitim kodu yazar
- Assignment 3 Scaling, Transformer'ın her bileşeninin işlevini anlamayı ve eğitim API'sini sorgulayarak model ölçekleme tahmini için scaling law uydurmayı içerir
- Assignment 4 Data, ham Common Crawl dökümlerini kullanılabilir ön eğitim verisine dönüştürür ve filtreleme ile duplicate removal sayesinde model performansını iyileştirir
- Assignment 5 Alignment and Reasoning RL, bir LM'in matematik problemlerini çözerken akıl yürütecek şekilde eğitilmesi için supervised fine-tuning ve reinforcement learning uygular
- Assignment 5'in Optional Part 2 bölümü, DPO gibi güvenlik hizalama yöntemlerini uygular ve hayata geçirir
GPU compute ve maliyet
- Dersi evden takip edenler, ödevleri tamamlamak için bulut sağlayıcılarının GPU compute kaynaklarını kullanabilir
- 28 Mart 2026 itibarıyla tek bir B200 GPU'nun liste fiyatı Modal için saatte $6.25, Lambda Labs için saatte $6.69, RunPod için saatte $4.99, Nebius için saatte $5.50 veya spot olarak saatte $3.05, Together için saatte $7.49'dur
- Modal aylık $30 ücretsiz compute sunar, yalnızca gerçek kullanım için ücret alır ve yerel geliştirmeden büyük ölçekli GPU deneylerine geçişi kolaylaştırır
- Maliyeti azaltmak ve kullanım kolaylığı sağlamak için, implementasyonun doğruluğunu önce CPU üzerinde debug etmeniz; eğitim çalıştırmaları veya GPU işlem benchmark'ları içinse ödevde önerilen sayıda GPU kullanmanız tavsiye edilir
Ders işleyişi ve teslim kuralları
- Dersler pazartesi ve çarşamba 3:00–4:20pm saatlerinde Skilling Auditorium'da yapılır; kayıtlar YouTube playlist üzerinden sunulur
- Dersle ilgili tüm sorular herkese açık Slack kanalında sorulmalıdır ve tüm duyurular da Slack üzerinden yapılır
- Tüm ödevler son teslim tarihine kadar Gradescope üzerinden gönderilir; e-posta ile teslim kabul edilmez
- Son teslim tarihine kadar istenildiği kadar yeniden gönderim yapılabilir ve yalnızca son gönderim notlandırılır
- Kısmi teslim, hiç teslim etmemekten daha iyidir
- Her öğrenci toplam 6 gün late day kullanabilir ve 1 late day son tarihi 24 saat uzatır
- Her ödev için en fazla 3 late day kullanılabilir
- Notlandırmada nesnel bir hata olduğunu düşünüyorsanız, notların açıklanmasından sonraki 3 gün içinde Gradescope üzerinden yeniden değerlendirme talebi gönderebilirsiniz
İşbirliği ve AI araçları politikası
- Çalışma gruplarına izin verilir; ancak her öğrenci kendi ödevini anlamalı ve bizzat tamamlamalıdır, ayrıca öğrenci başına tek bir ödev teslim edilmelidir
- Grup halinde çalışıldıysa, ödevin başına çalışma grubundaki kişilerin adları yazılmalıdır
- ChatGPT gibi LLM prompt'larına düşük seviyeli programlama soruları veya dil modelleriyle ilgili yüksek seviyeli kavramsal sorular için izin verilir
- Problemleri doğrudan LLM kullanarak çözmek yasaktır
- Ödev yaparken Cursor Tab, GitHub CoPilot gibi AI autocomplete araçlarının devre dışı bırakılması kuvvetle önerilir; fonksiyon adı tamamlama gibi AI olmayan autocomplete araçlarına ise izin verilir
- Ders materyalleri kendi implementasyonunuzu yapmanız için gerekli içeriği sunduğundan, ödev yönergesinde ayrıca açıkça izin verilmedikçe çevrimiçi mevcut implementasyon kodlarına bakılmamalıdır
1 yorum
Hacker News yorumları
2025 sürümü dersi yakın zamanda bitirdim; videoları ve ödevlerin çoğunu yaptım ama maliyeti yüksek bazı işleri atladım. Sadece ilk iki ödev bile çok ciddi düşünme ve debug gerektirdi; derin öğrenme temeli biraz olmasına rağmen iş çıkışı ve hafta sonlarında azar azar zaman ayırarak aylar sürdü
Stanford öğrencilerinin ödevleri iki haftada bir teslim etmesini nasıl başardığını hayal etmek zor. Hocalar ve asistanlar ders tasarımına, güncel gelişmeleri içeren slaytlara ve mükemmel ödev hazırlıklarına gerçekten büyük emek vermiş; küçük bileşenlerden başlayıp gerçek bir dil modeli kurarken ve LLM pipeline'ının ana parçalarını doğrularken her şeyin nasıl birleştiğini doğrudan görmek çok tatmin edici
Yine de çalıştırma ortamı gereksinimleri daha net anlatılsa iyi olurdu. Harness en iyi Linux + NVIDIA GPU üzerinde çalışıyor ve belli CUDA sürümleri ya da mimariler bekliyor; araştırmacılar için doğal olsa da kişisel ortamlarda nadir. Evde takip etmek için Windows + WSL2 + NVIDIA GPU ya da çeşitli platformlardan kiralık GPU ikinci en iyi seçenek, ama ikisi de ne kolay ne ucuz. Uyumlu GPU'su olmayanların süreçten nasıl en yüksek verimi alabileceğine dair yönlendirme de iyi olurdu; ayrıca Mac OS'te bellek analizine dikkat etmezseniz Python kodunun kilitlenip yeniden başlatmayı zorunlu kılabildiğini de öğrenmiş oldum
Bu yorumlarda GPU kiralama maliyeti biraz abartılıyor da olabilir. Geliştirmenin büyük kısmı yerelde yapılabilir; sadece gerektiğinde kısa süreliğine on-demand GPU çalıştırmanız yeterli. Ödev 1 GPU olmadan da tamamen yerel makinede çalıştırılabiliyor; ödev 1 ve 2 de birkaç saatlik kiralamayla büyük ölçüde çözülebilir. Kiralık GPU'yu çok dikkat etmeden sürekli kullansanız bile yaklaşık 200 dolar civarı tutar; problem boyutunu küçültmeye razıysanız bunu 50 doların altına indirmek de kolay. Bunları ve nasıl ayarlanacağını daha net tablolaştırabiliriz gibi görünüyor
Ek geri bildirim ya da sorunlar varsa depoda issue açmanız harika olur. Çünkü bilmediğimiz sorunları düzeltmek zor
Birkaç gün önce Claude ile gpt-1'in geliştirilmiş bir sürümünü implemente etmeyi denedim. Ben bir makine öğrenmesi mühendisi değilim, sıradan bir backend mühendisiyim; sonuçta gpt-1 ile KellerJordan'ın modded-nanogpt'sinin karışımı bir şey çıktı
Oyun bilgisayarımla orijinal gpt-1 makalesindeki sonuçları yeniden üretebildim ve çok fazla VRAM de gerekmiyor. NVIDIA GeForce RTX 2060 SUPER ile 1 saatlik eğitimde sonuçların çoğunu yeniden ürettim; LLM pretraining ile ilgileniyorsanız aynı şekilde denemenizi tavsiye ederim
Kod burada: https://github.com/epoyraz/modded-gpt-1
Ya da Claude 4.8'e veya Codex 5.5'e doğrudan sorabilirsiniz
richardsocher'ın verdiği cs224d için güzel anılarım var. Transformer öncesi dönemde hazırlanmıştı, bu yüzden bugün biraz eski kalıyor ama o zamanlar derin öğrenmeyi doğal dil işlemeye uygulamak için çok harika bir giriş dersiydi
https://cs224d.stanford.edu
“Kendi kendine öğrenme için GPU compute” deniyor ama önerilerdeki B200 saatlik 4,99 dolardan başlıyor. Başlamak için buna gerçekten gerek var mı emin değilim
Ben de sıfırdan bir LLM yapmaya çalışıyorum ve ilk aşamalarda Vast.ai'deki 4090'dan fazlasına ihtiyaç duymadım
Bu yıl Stanford öğrencileri için Blackwell GPU bulabilmiş olmamız biraz şanstı; bu yüzden ödev açıklamaları ağırlıklı olarak o baz alınarak yazıldı
Buna karşılık compute kernel ya da IP bloklarının nasıl tasarlanacağını öğrenip deney yaparken ihtiyaç duyulan donanım çok daha güçlü ya da daha yüksek kapasiteli olmak zorunda olabilir. Deneysel çalışmalar kasıtlı olarak optimizasyonun ters yönündedir; her aşamada okunaklı, incelenebilir ve debug edilebilir olsun diye yapıldıklarından ortaya çıkan model ya da bitstream büyük ölçüde şişmiş ve optimize edilmemiş olur
Başkasının tamamlayıp 4090 gibi cihazlarda çalışacak şekilde optimize ettiği bir modeli kendi prompt'unuzla çalıştırmak da bir deney sayılır ama ucuza yapılabilir. Bu, 20 dolarlık bir FPGA için tasarlanıp sentezlenmiş başkasının bitstream'ini aynı FPGA'ya yükleyip kendi giriş sinyallerinizi vermeye benzer. Ama bu derste kendi model tasarımınızı öğrenirken yapacağınız deneyler bu türden değil
Bu ders ilgi çekici görünüyor, ancak ön koşulları da merak ediyorum. Makine öğrenmesi ve derin öğrenme temellerine aşina olmak gerektiği yazıyor; bu konuları uygulama odaklı şekilde kendi kendine çalışmak için uygun kaynaklar ya da Stanford ders kayıtları deneyimi varsa duymak isterim
Ancak CS336 çok daha fazla son teknoloji yöntemi ele aldığı için, o tarafta 2026 sürümü önemli
Ders: https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1246...
Ders videoları: https://www.youtube.com/playlist?list=PLoROMvodv4rOaMFbaqxPD...
Ders kitabı: https://web.stanford.edu/~jurafsky/slp3/
Gerçekten harika. Son bir aydır benzer bir şey yapıyordum ve ek zorluk olarak Python standart kütüphanesi dışında hiçbir kütüphane kullanmadım;
numpybile yoktuWord2Vec ile başladım, RNN ve LSTM yaptım, şu anda da transformer mimarisini yaklaşık yarısına kadar uygulamış durumdayım
İnternette açık olan YouTube videoları ve ders materyalleriyle bu dersi birlikte takip etmek için bir grup kurduk. Zordu ama tatmin ediciydi ve haftada 1 ders videosu hızında ilerledik
30'dan fazla kişiyle başladık ama son oturumda sadece 8 kişi kalmıştı
Denemek istiyorum ama henüz gereken yetkinliklere sahip olmadığım için endişeliyim. Belki bir gün yapabilirim
Bu dersi evde takip etmek için minimum GPU'nun ne olduğunu merak ediyorum. Bende 5080 16GB var; gerçekten bundan fazlası mı gerekiyor?
İlk iki ödevi bir yıl boyunca bağımsız olarak yaptım ve gerçekten çok şey öğrendim. Sonrasında hangi dersleri aldığını merak ediyorum
CS336'da eksik bulduğum şey, pekiştirmeli öğrenme bileşenlerinin anlatım biçimiydi; o kısmı CME 295'in 5. ve 6. dersleri daha iyi veriyordu
https://cme295.stanford.edu/syllabus/
Difüzyon modeli dersi olan CME 296'nın da iyi olduğunu duydum; bir sonraki adım için uygun görünüyor
https://cme296.stanford.edu/syllabus/