AI geliştirme için yeni dil: Mojo, Python’u C’nin gücüyle geliştiriyor

Adanali

Member


  1. AI geliştirme için yeni dil: Mojo, Python’u C’nin gücüyle geliştiriyor

(Bu makale Almanca olarak da mevcuttur.)


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

Ayrıca proje, Modüler Yapay Zeka şemsiye markası altında makine öğrenimi için en hızlı birleşik çıkarım motorunun olduğunu söylüyor. Yapay zekanın uygulanmasını birleştirdiği ve basitleştirdiği söyleniyor ve PyTorch ve TensorFlow iş yüklerini çalıştırabiliyor. Hem bulut hem de şirket içi ortamlar mümkündür ve çeşitli çerçeveler ve sunucular desteklenir, dedi.




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



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


(Resim: Modüler AI)



Chris Lattner’ın yeni Ay Merdiveni: Mojo


Ay’a giden merdiveni hiçbir yabancı inşa etmiyor: 2010’dan beri Apple’da Swift dilini geliştiren Chris Lattner (o sırada “LLVM’nin tüm gücünden yararlanmak” amacıyla), 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öndü ve kısa bir süre Tesla’da çalıştı. Lattner yalnızca Swift’i icat etmekle kalmamış, aynı zamanda LLVM derleyici altyapısının ilerlemesinde etkili olmuş ve Apple’ın geliştirici araçları departmanının başına geçmişti. Swift ile 2010’da Objective-C’ye bir alternatif için mücadele ediyordu. Apple, 2015’te Apache 2.0 lisansı altında açık kaynaklı (ve Linux için) bir proje olarak kamuoyuna duyurulana kadar projeyi başlangıçta kurumsal çerçeve içinde tuttu. o zaman daha çok topluluk odaklı oldu. Dilin geleceği konusunda bir fikir birliği yoktur ve dil henüz tam olarak yerleşmeyi başaramamıştır.




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



Mojo: Mandelbrot Algoritmasını Bir AWS Sisteminde (r7iz.metal-16xl) Çalıştırırken Normal Python ve Diğer Dillere Karşı Performans – Mojo’nun “35.000 kat daha hızlı” olduğu söyleniyor.


(Resim: Modüler AI)



Modüler yapay zeka, Swift fikirlerini makine öğrenimine taşıyor


Lattner, 2022’de Jeremy Howard ile birlikte Modular AI geliştirici platformunu kurdu. Mojo ile ikisi, Swift’in bazı orijinal endişelerini yeni bir yaklaşımla yeniden gözden geçiriyor. Howard’a göre Swift, Apple’dan ve daha sonra Google’dan gelen desteğin çok tereddütlü olması nedeniyle esasen başarısız oldu. Howard, Lattner’ın Google’da geçirdiği süre boyunca geliştirdiği başka bir projenin altını çiziyor: LLVM derleyici koleksiyonundaki (MLIR, Çok Düzeyli IR anlamına gelir) Ara Temsil’in (IR) yerini alan MLIR.

Bu tekniğin, donanımı AI ve çok çekirdekli bilgi işlem iş yüklerine bağlamak ve CPU’lara eklenen GPU’ların, TPU’ların ve vektör birimlerinin gücünden yararlanmak için kullanılabileceğini söylüyor. 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ı bekleniyor. Mojo, Python’a ek olarak, daha yeni modem hızlandırıcılardan yararlanan yüksek performanslı kodlar yazabilir, dedi.

Sinerjik etki: Mojo, Python ekosistemini temel alır


Howard’ın Swift ile karşılaştırması daha da ileri gidiyor. Örneğin, Swift’in programlama dillerini kavramsallaştırmak için o sırada yapılan araştırmanın özelliklerini içeren yeni bir bağımsız dil olduğunu söylüyor. Öte yandan Mojo, basitçe Python’du, dedi. Swift’i eleştirenler bunun daha akıllıca bir yaklaşım olduğuna inanıyor, çünkü Python çoktan yerleşmiş durumda ve milyonlarca geliştirici bu dilde uzmanlaştı. 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 da eksiksiz bir ekosisteme sahip.

Mojo ile çalışanlar, kullanarak özellikler oluştururken isteğe bağlı olarak daha hızlı bir geliştirici modu seçebilirler. fn yerine def, blog gönderisine göre. Bu modda, geliştiricilerin her değişkenin tam türünü belirtmesi gerekir. Mojo daha sonra özelliği 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 veri yapılarında “işaretçileri takip etmeden” kullanılabilirler.


Önerilen editoryal içerik



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



Her zaman YouTube videoları yükleyin

YouTube videosunu şimdi yükleyin




Programlama Dili Mojo: “Jeremy Howard ile Demo” (En Uzun Açılış Açılış Konuşması Kaydından Alıntı)




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

Python++? Python’un bir üst kümesi olarak Mojo sözdizimi


Mojo henüz düzenli olarak çıkmadı. 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 popüler Python diline güvenerek ve sözdizimi sorununu bu şekilde “dışsallaştırarak” bazı tanıdık bankalardan zarif bir şekilde kaçınır. Slashdot.org’daki geliştirici forumundaki bir girişe göre, derlenmiş bir dil olarak Mojo 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ızla kalkıp çalışabilir .

Python üst kümesiyle, mevcut tüm çekirdekleri ve hızlandırıcıları kullanan hızlı, küçük ve kolayca konuşlandırılabilir uygulamalar yazabilirsiniz. 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 deyimiyle “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 dilde” yazmak için kullanılabileceğinin reklamını yapıyor.




Metale kadar büyük ölçekli Python, SIMD talimatı oluşturma



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


(Resim: Modüler AI)



Mojo için Jupyter Notebook ile Oyun Alanı


Programlama diline ilişkin ilk genel bakış, Modüler Çıkarım Motorunun piyasaya sürülmesiyle ilgili blogda da bulunabilir. Merak ediyorsanız, Mojo proje sayfasındaki belgelerde dili okuyabilir ve bekleme listesine katılabilirsiniz. Ekibin dili, tasarımı ve sözdizimini tanıttığı Mojo’daki etkileşimli Jupyter not defterleri koleksiyonu başlamak için özellikle öğreticidir. Not defterleri yürütülebilir dosyalardır 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 var. Chris Lattner ve Tim Davis’ten oluşan ekip, lansmana bir ürün açılış konuşması ayırdı (YouTube videosu).

Python ve C için programlama arabirimleri hakkında ayrıntılı bilgi veren Modüler Çıkarım Motoru belgelerinde daha fazla teknik bilgi bulunabilir. Navigasyondaki girişe göre, C++ için bir arabirim zaten planlanmıştır. Dokümantasyon sıfırdan başlamaz: önceden Python bilgisinin yanı sıra programlamanın genel temellerine aşina olduğunuzu varsayar.

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 sırasında 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ına göz atabilirsiniz.


(onun)



Haberin Sonu
 
Üst