Bu neden önemli?
Yapay zekâ kodunun büyük kısmı Python ile yazılıyor ama ağır işler C++ ve NVIDIA'nın CUDA'sı ile yapılıyor. Tek bir dille hem kolay hem hızlı kod yazmak ve tek bir çip üreticisine bağlı kalmamak, sektörün uzun süredir aradığı şey.
İki dil sorunu
Yapay zekâ dünyasında garip bir durum var. Araştırmacılar kodu Python ile yazıyor, çünkü okunması ve öğrenmesi kolay. Ama Python yavaş. Bu yüzden asıl ağır hesaplar (matris çarpımları, ekran kartında çalışan küçük programlar yani kernel’ler) C++ ya da NVIDIA’nın CUDA platformuyla yazılıyor.
Sonuç: İki ayrı dil, iki ayrı uzmanlık. Üstelik CUDA sadece NVIDIA kartlarında çalışıyor. Bu da sektörü tek bir çip üreticisine bağımlı kılıyor.
Mojo ne vaat ediyor?
Mojo, LLVM ve Swift’in yaratıcısı Chris Lattner’ın kurduğu Modular şirketinin dili. Hedefi bu iki dünyayı birleştirmek:
- Söz dizimi Python’a çok benziyor. Python kütüphanelerini de içeriden çağırabiliyorsun.
- Ama Mojo derlenen bir dil. Yani kod çalışmadan önce doğrudan makine koduna çevriliyor. Değişken türlerini belirttiğinde C seviyesinde hız hedefleniyor.
- Rust’tan esinlenen bir bellek güvenliği modeli var. Bellek hatalarının bir kısmı derleme sırasında yakalanıyor.
- Aynı dille işlemci (CPU) için de, farklı markaların ekran kartları (GPU) için de kod yazılabiliyor. Videoda bir GPU kernel’i MacBook’ta derlenip çalıştırılıyor.
Ağustos’ta ne oldu?
Birkaç gelişme art arda geldi:
- Qualcomm, Modular’ı satın aldı. Snapdragon işlemcileriyle bilinen şirket için mantık basit: Her çipte iyi çalışan bir dil, NVIDIA dışındaki çiplerin de kullanılmasını kolaylaştırır.
- Mojo 1.0 yayınlandı. 1.0’ın asıl anlamı bir kararlılık sözü: Bugün yazdığın kod gelecek sürümlerde bozulmayacak. Eylül ortasında 1.1 sürümü de çıktı.
- Derleyici açık kaynak oldu. Standart kütüphane zaten açıktı. 18 Ağustos’taki ModCon etkinliğinde derleyici ve araçlar da Apache 2.0 lisansıyla yayınlandı.
Mojo şimdilik macOS ve Linux’ta çalışıyor. Modular’a göre Microsoft ile birlikte doğrudan Windows desteği üzerinde çalışılıyor.
“68.000 kat hızlı” iddiası
Mojo’yu ünlü yapan, Python’dan 68.000 kat hızlı olduğu iddiasıydı. Videoda bu rakamın bağlamı hatırlatılıyor: Tek bir örnek üzerinde, saf Python ile yoğun şekilde elden geçirilmiş Mojo kodunun karşılaştırması. Gerçek hayatta Python kullanıcıları zaten ağır işleri NumPy gibi C ile yazılmış kütüphanelere yaptırıyor. Videonun testleri de bu yüzden Mojo’yu hem saf Python’la hem de NumPy’la karşılaştırıyor. Ders şu: Hız iddialarında her zaman “neye göre?” diye sor.
Açık ama tam topluluk projesi değil
Kaynak kodu açık, ama bazı yorumculara göre dilin yönü hâlâ büyük ölçüde şirket içinde belirleniyor. Resmi bir öneri (RFC) süreci henüz yok. Yani “kaynağı açık” ile “topluluk tarafından yönetilen” aynı şey değil.
Kimler ilgilenmeli?
Yapay zekâ modelleri üzerinde düşük seviyede çalışan, kendi GPU kodunu yazan ya da NVIDIA dışındaki donanımları hedefleyen geliştiriciler için Mojo artık ciddi bir seçenek. Günlük web ya da betik işleri için Python hâlâ yeterli.
Düşün
- Bir programlama dilinin tek bir çip şirketine ait olması sence onun geleceğini nasıl etkiler?
- “X, Y’den 1000 kat hızlı” gibi bir başlık gördüğünde ilk hangi soruyu sorarsın?
Bu yazıdaki araçlar Araç Kutusu'nda: Mojo