Yapay Zeka Geliştirme için Yeni Dil: Mojo, Python’u C’nin Gücü ile geliştiriyor

amerikali

Yeni Üye


  1. Yapay Zeka Geliştirme için Yeni Dil: Mojo, Python’u C’nin Gücü ile geliştiriyor

(Bu makale Almanca olarak da mevcuttur.)


Python++ olduğu söylenen makine öğrenimi için yeni bir programlama dili mi? Mojo, Python’un kullanılabilirliğini C’nin performansıyla birleştirmek için tasarlanmıştır. Geliştirme ekibinin duyurusuna göre, AI donanımında ve AI modellerinin genişletilmesinde “benzeri görülmemiş programlanabilirlik” sağlamayı amaçlıyor.

Buna ek olarak proje, Modüler Yapay Zeka çatı markası altında makine öğrenimi için en hızlı birleşik çıkarım motoru olduğunu söylüyor. AI dağıtımını birleştirip basitleştirdiği ve hem PyTorch hem de TensorFlow iş yüklerini çalıştırabileceği söyleniyor. Hem bulut hem de şirket içi ortamlar mümkündür ve çok sayıda çerçeve ve sunucu desteklenmektedir.




Yapay zeka araç zincirini birleştirmek ve yapay zeka dağıtımını basitleştirmek için tek bir makine tasarlanmıştır.



Modüler Çıkarım Motoru, AI araç zincirini birleştirmek ve AI dağıtımını basitleştirmek için tasarlanmıştır.


(Resim: Modüler AI)



Chris Lattner’ın yeni Ay Merdiveni: Mojo


Aya giden merdiveni hiçbir yabancı inşa etmiyor: Apple’da 2010’dan başlayarak (o sırada “LLVM’nin gücünden tam olarak yararlanmak” amacıyla) Swift dilini yaratan Chris Lattner, Project Mojo’nun arkasındaki sorumlu kişidir. Lattner daha sonra Google’a taşındı ve burada AI model geliştirme için Python’un yerini alması için Swift’i “Apple rahatlık alanından çıkarmaya” çalıştı. Bu, fast.ai’nin kurucusu Avustralyalı AI profesörü Jeremy Howard’ın bir blog gönderisine göre.

Lattner, 2022’nin başlarında Swift projesiyle son bağlarını koparmıştı ve 2021 yazında iç farklılıklar nedeniyle Çekirdek ekipten çoktan ayrılmıştı. 2017 yılında Apple’a sırtını dönmüş ve kısa bir süre Tesla’da çalışmıştı. Lattner yalnızca Swift’i icat etmekle kalmamış, aynı zamanda derleyici altyapısı LLVM’nin ilerlemesinde etkili olmuş ve Apple’da geliştirme araçları departmanının başına geçmişti. Swift ile 2010’da Objective-C’ye bir alternatif bulmaya çalışmıştı. Apple, 2015’te Apache 2.0 lisansı altında açık kaynaklı bir proje (ve Linux için) olarak açığa çıkana kadar projeyi başlangıçta kurumsal çitin içinde tuttu. o zamandan beri daha topluluk odaklı oldu. Dilin geleceği hakkında bir fikir birliği yoktur ve henüz kendisini tam olarak kurabilmiş değildir.




Bir AWS sisteminde Mandelbrot algoritmasını çalıştırırken normal Python ve diğer dillere kıyasla Mojo performansı



Mojo: Bir AWS sisteminde (r7iz.metal-16xl) Mandelbrot algoritmasını çalıştırırken normal Python ve diğer dillere kıyasla performans – Mojo’nun “35.000 kat daha hızlı” olduğu söyleniyor.


(Resim: Modüler AI)



Modüler yapay zeka, Makine Öğrenimi için Swift fikirlerini daha da ileriye taşıyor


2022’de Lattner, geliştirici platformu Modular AI’yı Tim Davis ile birlikte kurdu. Mojo ile ikisi, Swift’in bazı orijinal endişelerini yeni bir yaklaşımla yeniden gözden geçiriyor. Başka bir uzmana, fast.ai’nin Avustralyalı kurucusu Jeremy Howard’a göre Swift temelde başarısız oldu çünkü Apple’dan ve daha sonra Google’dan gelen destek çok tereddütlüydü. Howard’ın blog gönderisi, Lattner’ın Google’da geçirdiği süre boyunca geliştirdiği başka bir projeyi öne çıkarıyor: LLVM derleyici koleksiyonundaki (MLIR, Çok Düzeyli IR anlamına gelir) Ara Temsili (IR) yerine geçen MLIR.

Bu teknik, çok çekirdekli bilgi işlem ve yapay zeka iş yüklerinde donanımdan yararlanmak ve GPU’ların, TPU’ların ve CPU’lara eklenen vektör birimlerinin gücünden yararlanmak için kullanılabilir. Yeni Mojo programlama dilinin, Swift’in LLVM için olduğu (veya olabileceği) MLIR için olduğunu söyledi. Mojo henüz tam olarak hazır değil ve gelecekte Python dilinin “kesin bir üst kümesi” olması amaçlanıyor. Mojo, Python’un ötesinde, daha yeni modem hızlandırıcılardan yararlanan yüksek performanslı kodlar yazabilir, dedi.

Sinerji etkisi: Mojo, Python Ekosistemi üzerine kuruludur


Howard’ın Swift ile karşılaştırması daha da ileri gidiyor. Örneğin, Swift’in o sırada programlama dillerini kavramsallaştırmak için yapılan araştırmanın özelliklerini içeren yeni, bağımsız bir dil olduğunu söylüyor. Öte yandan Mojo, basitçe Python’du, dedi. Swift eleştirmenleri bunun daha akıllıca bir yaklaşım olduğuna inanıyor, çünkü Python çoktan yerleşmiş ve milyonlarca geliştirici bu dilde ustalaşmış durumda. Ayrıca, Python’un yetenekleri ve sınırlamalarının iyi bilindiğini söylüyorlar. Bu nedenle, burada Swift ile olduğundan daha az spekülasyon var ve Python’un da kapsamlı bir ekosistemi var.

Mojo ile çalışanlar, kullanarak işlevler oluştururken isteğe bağlı olarak daha hızlı bir geliştirici modu seçebilirler. fn yerine def, blog girişine göre. Bu modda, geliştiricilerin her değişkenin tam türünü belirtmesi gerekir. Mojo daha sonra işlevi uygulamak için optimize edilmiş makine kodu oluşturabilir. Yerine class, struct Nitelikleri belleğe yazmak için kullanılabilir. Bu şekilde, Howard’a göre “işaretçileri takip etmeden” veri yapılarında kullanılabilirler.


Önerilen Haber Amaçlı İçerik



İzninizle, harici bir YouTube videosu (Google Ireland Limited) buraya yüklenecek.



Her zaman YouTube videosunu yükle

YouTube videosunu şimdi yükle




Programlama Dili Mojo: “Jeremy Howard ile Demo” (daha uzun lansman açılış konuşması kaydından alıntı)




Açıkladığı özellikler C’den biliniyor ve bu programlama dilini özellikle hızlı yapıyor. Mojo aracılığıyla, yönetilebilir miktarda yeni sözdizimi eklenmesi yoluyla Python programcıları tarafından artık erişilebilirler.

Python++? Bir Python Süper Kümesi Olarak Mojo’nun Söz Dizimi


Mojo henüz düzenli olarak yayınlanmıyor. Denemek için bir bekleme listesi olan çevrimiçi bir oyun alanı var. Yeni bir programlama dilinin sözdizimini oluşturmak hatalı, karmaşık ve genellikle tartışmalıdır – Project Mojo, mevcut, özellikle yaygın olarak kullanılan Python diline güvenerek ve sözdizimi sorununu bu şekilde “dış kaynak sağlayarak” bilinen bazı sürülerden zarif bir şekilde kaçınır. Slashdot.org’daki geliştirici forumundaki bir girişe göre, derlenmiş bir dil olarak Mojo’nun dağıtımı C ile karşılaştırılabilir: Program doğrudan indirilebilir, 100 kilobaytlık bir ikili dosyayla nispeten küçüktür ve hızlı bir şekilde çalıştırılabilir.

Python süper seti ile, mevcut tüm çekirdekleri ve hızlandırıcıları kullanan hızlı, küçük ve kolayca uygulanabilen uygulamalar yazılabilir. Bu nedenle Mojo’nun potansiyeli, ilk değerlendirmelere göre AI ve ML modelleri için saf bir dilin ötesine geçiyor, ancak projenin ana hedef kitlesi kendi sözleriyle “tüm AI geliştiricileri”. Dilin geliştiricileri, Mojo’nun C++ veya CUDA’ya ihtiyaç duymadan ölçeklenebilir Python kodundan donanım programlamaya kadar “her şeyi tek bir dilde” yazmak için kullanılabileceğinin reklamını yapıyor.




Python, SIMD yönergelerini yazarak metale kadar geniş ölçekte



Mojo, Python’u donanım düzeyine kadar ölçeklendirmenizi sağlar – kod örneği, SIMD yönergeleriyle ilgilidir.


(Resim: Modüler AI)



Mojo için Jupyter Defterlerle Oyun Alanı


Programlama dili hakkında da ilk genel bakış, Modüler Çıkarım Motorunun piyasaya sürülmesiyle ilgili blog girişinde bulunabilir. Merak ediyorsanız, Mojo proje sayfasındaki belgelerde dil hakkında okuyabilir ve bekleme listesine kaydolabilirsiniz. Başlangıç için özellikle bilgilendirici olan, ekibin dili, tasarımını ve sözdizimini tanıttığı Mojo’daki etkileşimli Jupyter not defteri koleksiyonudur. Not defterleri yürütülebilir niteliktedir ve uzantı oluşturma, derleme zamanı parametreleştirme ve meta programlama ve gelişmiş özellikler gibi konulara giriş sağlar. Ayrıca bir Mojo kitaplığı ve planlanan daha fazla geliştirme için bir yol haritası da bulunmaktadır. Chris Lattner ve Tim Davis’ten oluşan ekip, lansmana bir ürün açılış konuşması ayırdı (YouTube videosu).

Daha fazla teknik bilgi, Python ve C’ye yönelik programlama arabirimlerinin ayrıntılarına giren Modüler Çıkarım Motoru ile ilgili belgelerde bulunabilir. Navigasyondaki girişe göre, görünüşe göre C++’a bir arabirim planlanıyor. Dokümantasyon sıfırdan başlamaz: Python hakkında önceden bilgi sahibi olunduğu ve genel programlama temellerine aşina olunduğu varsayılır.

Bekleme Listesi ve Çıkarım Motoruna Erken Erişim


Programlama dili gibi, Çıkarım Motoru da başlangıçta yalnızca sınırlı sayıda Erken Erişim ortağı tarafından kullanılabilir ve onlar için de bir bekleme listesi vardır (kayıt olurken ilgilendiğiniz alanı seçebilirsiniz: Çıkarım Motoru, Mojo, Donanım Entegrasyonu veya Modüler Platform). Mojo’nun gelişimine ayak uydurmak istiyorsanız, dil için yakın gelecekte neler planlandığını görmek için yol haritasını inceleyebilirsiniz.


(o)



Haberin Sonu