LLVM'nin yaratıcısı Chris Lattner tarafından oluşturulan yeni programlama dili Mojo

büyü dili

Mojo, makine öğrenimi geliştirme için daha iyi performans vaat eden yeni bir programlama dilidir

Birkaç gün önce şu haber çıktı Chris Latner, LLVM'nin kurucusu ve baş mimarı ve Tim Davis, Google'da AI projelerinin eski başkanı yeni bir programlama dili olan "Mojo" piyasaya sürüldü, Python uygulama ve performans sorunlarını düzelten Python tabanlı.

Mojo'dan bahsediliyor o Ar-Ge için kullanım kolaylığını birleştirir ve yüksek performanslı son ürünler için yeterliliğe sahip hızlı prototipleme. İlki, Python dilinin bilinen sözdiziminin kullanılmasıyla elde edilir ve ikincisi, makine kodunu derleme yeteneği, güvenli bellek yönetimi için mekanizmalar ve hesaplamaların donanım hızlandırması için araçların kullanılmasından kaynaklanır.

Mojo Hakkında

Bu yeni programlama dili makine öğrenimi geliştirme için kullanıma odaklanır, ama evete genel amaçlı bir dil olarak sunulur Python dilinin yeteneklerini sistem programlama ile genişleten ve çok çeşitli görevler için uygun olan.

Örneğin, dil, yüksek performanslı bilgi işlem, veri işleme ve veri dönüştürme gibi alanlara uygulanabilir. Mojo'nun ilginç bir özelliği, kod dosyaları için bir uzantı olarak “🔥” emoji sembolünü belirtebilmesidir.

Proje, donanım kaynaklarını içerecek şekilde tasarlanmıştır Hesaplamalarda sistemde mevcut olan sistemlerin Örneğin, Mojo uygulamalarını çalıştırmak ve hesaplamaları paralel hale getirmek için GPU'lar, özel makine öğrenimi hızlandırıcıları ve vektör işleme yönergeleri (SIMD'ler) kullanılabilir.

Mevcut CPython optimizasyon çalışmasına katılmak yerine Python dilinin ayrı bir alt kümesini geliştirmenin nedeni şu şekilde gösteriliyor:

Bir yapı yaklaşımı, sistemin programlama yeteneklerinin entegrasyonu ve kodun GPU'lar ve çeşitli donanım hızlandırıcılar üzerinde yürütülmesine izin veren temelde farklı bir dahili mimarinin kullanımı. Aynı zamanda Mojo geliştiricileri, mümkün olduğunca CPython desteğine bağlı kalmayı planlıyor.

Mojo, hem JIT yorumlama modunda hem de yürütülebilir dosyalara derlemek için kullanılabilir (AOT, vaktinden önce). Derleyici, kendi kendini iyileştirme, önbelleğe alma ve dağıtılmış derleme için yerleşik modern teknolojilere sahiptir.

Kod Mojo dilindeki kaynak kodu, düşük seviyeli ara koda dönüştürülür LLVM projesi tarafından geliştirilen ve veri akış grafiklerinin işlenmesini optimize etmek için ek işlevler sağlayan MLIR (Çok Düzeyli Ara Temsil).

Hesaplamaları hızlandırmak için ek donanım mekanizmalarının kullanılması, yoğun hesaplamalarda C/C++ uygulamalarını geride bırakan performans elde etmenizi sağlar.

Chris Lattner, inşa ettiği her şeyi duymamış olsak da, bugün hepimizin güvendiği birçok projenin yaratılmasından sorumludur! Doktora tezinin bir parçası olarak, derleyicilerin oluşturulma şeklini temelden değiştiren ve bugün dünyanın en yaygın kullanılan dilsel ekosistemlerinin birçoğunun temelini oluşturan LLVM'yi geliştirmeye başladı.

Ardından, LLVM'nin üzerinde yer alan ve dünyanın en iyi yazılım geliştiricilerinin (Google'ın performans açısından kritik kodunun omurgasını sağlamak dahil) çoğu tarafından kullanılan bir C ve C++ derleyicisi olan Clang'ı piyasaya sürdü. 

Makine öğrenimi sorun giderme alanındaki performansı değerlendirirken, Mojo dilinde yazılmış Modüler Çıkarım Motoru yapay zeka yığınının, TensorFlow kitaplığına dayalı bir çözümle karşılaştırıldığında, intel işlemcili bir sistemde 3 kat daha hızlı olduğu bulundu

Ancak Chris, C ve C++'nın LLVM'nin gücünden tam olarak yararlanmadığını gördü, bu nedenle Apple'da çalışırken "LLVM için sözdizimi şekeri" olarak tanımladığı "Swift" adlı yeni bir dil tasarladı. 

Bahsetmeye değer dil, statik yazmayı ve güvenli düşük seviyeli bellek özelliklerini destekler referans ömür takibi ve değişken ödünç alma (kredi denetleyicisi) gibi Rust özelliklerini anımsatan.

İşaretçilerle güvenli kullanım araçlarına ek olarak, dil ayrıca düşük seviyeli işler için özellikler sunar, örneğin, işaretçi türünü kullanarak güvenli olmayan modda belleğe doğrudan erişmek, ayrı SIMD talimatlarını çağırmak veya TensorCores ve AMX gibi donanım uzantılarına erişmek mümkündür.

Şu anda, dil yoğun bir şekilde geliştirilmektedir ve sadece arayüz sunulur denemek için çevrimiçi. Gelecekteki vaatler, etkileşimli web ortamının çalışması hakkında geri bildirim aldıktan sonra, daha sonra yerel sistemlerde çalışacak şekilde ayrı yapılar yayınlamaktır.

Derleyicinin açık kaynak kodu, JIT ve projeyle ilgili diğer geliştirme, iç mimari tasarımı tamamlandıktan sonra planlanır (kapalı çalışan bir prototip için geliştirme modeli, LLVM, Clang ve Swift'in erken geliştirme aşamasına benzer).

Mojo'nun sözdizimi Python'a dayandığından ve tip sistemi C/C++'a yakın olduğundan, gelecekte C/C++ ve Python'da yazılmış mevcut projeleri Mojo'ya çevirmeyi kolaylaştırmak için bir dizi araç geliştirme planları var. Python ve Mojo kodunu birleştiren hibrit projeler geliştirmek.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara başvurabilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   jaime dijo

    ilginç bu…. (aksan yok)