Yapay Zeka Nedir?
Kod, bytecode, JVM değil: model bir program artı sayı dosyasıdır.
Kodu sen yazarsın. Derleyici veya yorumlayıcı onu byte’a, bytecode’a, makine komutuna çevirir. Arada javac, JVM, JIT, linker, paketleyici vardır. Programın davranışı senin yazdığın kurallardadır: if doğruysa şu, değilse bu. Yapay zeka bu zincire eklenen dördüncü bir sanal makine değildir. Yeni bir Java değildir. Ayrı bir işletim sistemi de değildir.
Aşağıdaki ayrım, serinin geri kalanındaki her cümlenin dayandığı yerdir.
Bildiğin yığın ne yapar?
Örnek: spam kuralı.
function isSpam(text: string): boolean {
return text.includes('ücretsiz') && text.includes('tıkla');
}
TypeScript bunu JavaScript’e çevirir, motor (V8) onu makine koduna JIT’ler, CPU CMP / JMP çalıştırır. Java’da aynı fikir: kaynak → .class → JVM yorumlar veya JIT derler → CPU. Davranışı değiştirmek için kaynağı değiştirir, yeniden derlersin. Araçlar (Maven, Gradle, webpack) bu çeviri hattını yönetir.
Bu hattın özelliği: kural metindedir. “ücretsiz + tıkla = spam” cümlesini bir insan yazmıştır. Makine o cümleyi işletir. Zeka yok; talimat vardır.
Yapay zeka bu hatta nerede?
Aynı spam işini “yapay zeka ile” yaptığında kaynakta kural listesi yoktur. İki parça vardır:
-
Mimari — hâlâ senin (veya kütüphanenin) yazdığı sıradan program. Döngü, dizi, çarpma, toplama.
javac/tsc/ C++ derleyicisi bunu yine byte’a çevirir. PyTorch, TensorFlow, llama.cpp birer kütüphanedir; JVM gibi yeni bir dil çalışma zamanı değillerdir. CUDA, GPU için bir derleyicidir; “yapay zeka derleyicisi” değil, paralel toplama-çarpma çekirdeği üretir. -
Ağırlıklar — milyarlarca ondalık sayı. Diskte bir dosyadır (
safetensors,gguf,pt). Kaynak koda gömülüifdeğildir. Çalışırken RAM’e veya GPU belleğine yüklenir. Mimari bu sayılarla çarpma yapar, bir skor çıkar.
Davranışın çoğu o dosyadadır. Dosyayı değiştirmeden kaynağı derlemek, aynı “kişiliği” verir. Kaynağı değiştirmeden dosyayı değiştirmek (başka bir model), başka davranış verir. Bu yüzden “yapay zeka derlenir mi?” sorusunun cevabı: mimari evet, bildiğin gibi; zeka sandığın şey hayır — o sayılar eğitilir, derlenmez.
Halihazırda bir yapı mı?
Evet, ama iki katmanlı:
- Yapı (mimari): önceden seçilmiş bir hesap tarifi. “Önce şu tablodan bak, sonra şu çarpma, bunu 12 kez tekrarla, sonda bir skor listesi üret.” Bu tarif kod olarak sabittir. ChatGPT, Claude, açık ağırlıklı bir LLaMA — hepsi bu tür bir tarif + kendi sayı dosyalarıdır.
- İçerik (ağırlık): tarifin içini dolduran sayılar. Kimse onları satır satır yazmaz. Başka bir program, örnek metinlere bakarak sayıları yavaş yavaş oynatır. O işe eğitim denir.
javacdeğildir.
Bir sınıf + alanları düşün: sınıf yapısı mimari, alanların değerleri ağırlıktır. Fark, alanların milyonlarca/milyarlarca olması ve senin klavyeden girmediğindir.
Chat kutusu ne çalıştırır?
Tarayıcıda yazdığın metin, HTTPS ile bir sunucuya gider. Sunucuda (çoğu zaman NVIDIA GPU’lu bir makine) bir süreç ayağa kalkmıştır: ağırlık dosyası yüklü, mimari kodu çalışıyor. Metin önce tam sayılara çevrilir (sonraki yazı), sonra çarpma-toplama, sonra yine metin. Cevap HTTP ile döner.
Senin laptop’undaki “ChatGPT” bir model değildir; bir istemcidir. Model başkasının veri merkezindedir. Yerelde llama.cpp ile açık bir dosya çalıştırırsan, aynı iş senin CPU/GPU’nda olur. Altyapı yine: süreç, bellek, dosya, aritmetik.
ONNX Runtime, TensorRT, vLLM birer çıkarım motorudur: ağırlık + tarifi alır, GPU’da hızlı koşturur. JVM’nin bytecode’u yüklemesine benzerler; yükledikleri şey yine sayı + çarpma grafiğidir, Java sınıfı değil.
Bu seri neyi sırayla anlatır?
Önce modelin ne olduğu ve bir cümlenin nasıl işlendiği, sonra sayıların eğitimde nasıl oynatıldığı. Ardından bu aritmetiğin ihtiyaç duyduğu dil: olasılık, vektör, türev. En sonda sohbet modellerinin token, dikkat ve uydurma dediğimiz yan etkisi.
Hiçbir yazı “bunu zaten biliyorsun” varsaymaz. Kelime ilk geçtiği yerde ne olduğu söylenir. Bir sonraki yazı, mimari ile ağırlık dosyasının çalışma anında nasıl birleştiğidir.
Alıştırma
Elindeki bir “AI” özelliğini iki kutuya ayır: (1) hangi program/kütüphane çalışıyor, (2) davranış hangi dosyadan veya hangi API’den geliyor? Kuralı sen yazdıysan bu yazıdaki birinci yığın, sayı dosyası veya harici API ise ikinci yığındır.