Heç daha sürətli və daha səmərəli proqramlar yaratmaq istəmisinizmi ki, standart proqramlaşdırma dilləri tələblərinizə cavab verə bilmir?
Bu zaman Mojo Dili işə düşür.
Mojo tərəfindən hazırlanmış yeni proqramlaşdırma dilidir Modul, AI infrastrukturu üzrə ixtisaslaşmış şirkətdir.
Xüsusilə tərtibatçılara AI inkişafı da daxil olmaqla bir neçə istifadə halları üçün daha sürətli və daha möhkəm proqramlar yaratmağa imkan vermək üçün nəzərdə tutulmuşdur. Bu yazıda nəyə baxacağıq Mojo necə işləyir və onu növbəti layihənizdə niyə istifadə etməlisiniz.
Mojo'nun mənşəyi
Mojo yaradıcıları Python-un istifadə imkanlarını C-nin sürəti və səmərəliliyi ilə birləşdirən proqramlaşdırma dilinə ehtiyac olduğunu başa düşdülər.
Və onlar tərtibatçılara standart aparat təsviri dillərini öyrənmədən yüksək performanslı proqramlar yaratmağa imkan verəcək bir dil yaratdılar.
Nəticədə, onlar C səviyyəli sürəti təmin edərkən Python ekosisteminə tam uyğun gələn Mojo yaratdılar.
Modul: Mojo dilinin arxasındakı təşkilat
Bəs, bu futuristik dilin yaradıcıları kimlərdir?
Modular, Google-da görüşən və həddən artıq mürəkkəb və parçalanmış infrastrukturun süni intellektin qlobal təsirini məhdudlaşdırdığını başa düşən Chris Lattner və Tim Davis tərəfindən yaradılmış, dünya üzrə aparıcı AI infrastruktur startapıdır.
Modulun məqsədi və məqsədi bəşəriyyəti inkişaf etdirmək üçün AI infrastrukturunu yenidən nəzərdən keçirməkdir. Onların mədəniyyəti və prinsipləri müştərilərə, yüksək keyfiyyətli istehsal proqram təminatına və mənalı nəticələrə üstünlük verir.
Mojo'nun Məqsədləri
Mojo maşın öyrənməsi sürətləndiriciləri üçün unikal proqramlaşdırma modeli təmin etmək üçün hazırlanmışdır.
Modul müəyyən etdi ki, Mojo ümumi məqsədli proqramlaşdırmaya icazə verməlidir, çünki bugünkü CPU-larda tensorlar və digər AI sürətləndiriciləri var. Bundan əlavə, Python maşın öyrənməsi və digər sahələrdə geniş istifadə edildiyi üçün Modular Python ekosisteminə qoşulmağı seçdi.
Python-dan istifadə dilin dizaynını daha da asanlaşdırdı. Sintaksisin əksəriyyəti artıq müəyyən edildiyi üçün korporasiya bunun əvəzinə kompilyasiya mexanizminin qurulmasına və xüsusi proqramlaşdırma imkanlarının təmin edilməsinə cəmləşə bilərdi.
Nəzərə alınmalı Vacib Xüsusiyyətlər
Proqramlaşdırma
Proqressiv növləri
Mojo Dilinin mütərəqqi növlər xüsusiyyəti tərtibatçılara tip annotasiyalarından istifadə etməyə imkan verir səmərəliliyi artırmaq və səhv yoxlamaları.
Tərtibatçılar kompilyasiya zamanı səhvləri aşkar edən, səhvləri aradan qaldıran və daha dolğun tip məlumatı təqdim etməklə səmərəliliyi artıran daha effektiv kod hazırlaya bilərlər.
Sıfır Xərcli Abstraksiyalar
Tərtibatçılar Mojo Dili tərəfindən təmin edilən sıfır qiymətli abstraksiyalar sayəsində strukturlara daxil olan məlumatların yerləşdirilməsi ilə yaddaşa nəzarəti ələ keçirə bilərlər.
Əlavə yaddaş ayrılması tələbini aradan qaldıraraq, bu xüsusiyyət kodun səmərəliliyini artırır və qazan kodunun miqdarını azaldır.
İnteqrasiya edilmiş dilin avtomatik tənzimlənməsi
Mojo Dilində dilə inteqrasiya olunmuş avtomatik tənzimləmə funksiyası tərtibatçılara hədəf aparatdan faydalanmaq üçün parametrlərin ideal dəyərlərini avtomatik müəyyən etməyə imkan verir.
Bu funksionallıqla kodu hər bir avadanlıq kombinasiyası üçün əl ilə tənzimləmədən optimallaşdırmaq daha asandır.
Mojo Dili süni intellektin inkişafı üçün çevik və effektiv vasitədir, çünki o, eyni zamanda MLIR (Çox Səviyyəli Ara Nümayəndəlik), paralel heterojen işləmə müddəti və sürətli qurma vaxtlarını təmin edir.
Paralelləşmə
Mojo, proqramçılara paralelləşdirmə üçün AI üçün vektorlar, mövzular və aparat vahidlərindən istifadə etməyə imkan verən MLIR-dən istifadə edir. Mojo, Python-un tək yivli icrasından fərqli olaraq bir neçə nüvə üzərində paralel işləməni dəstəkləyir.
Python üzərində 35,000x sürətlənmə ilə Mojo sürət baxımından digər dilləri geridə qoyur.
əlaqəni
Bütün Python ekosistemi ilə qarşılıqlı fəaliyyət Mojo-nun unikal üstünlüklərindən biridir. Bu o deməkdir ki, siz Mojo-nu Numpy və Matplotlib kimi istənilən ixtiyari kitabxanalarla, eləcə də sifarişli kodunuzla birləşdirə bilərsiniz.
Məsələn, Python kitabxanası Matplotlib istifadə edərək Mojo kodunuzdakı məlumatları vizuallaşdıra bilərsiniz.
Genişlənmə
Mojo həm də olduqca çevikdir, istifadəçilərə sadəcə olaraq modellərə əvvəlcədən və sonrakı emal addımlarını əlavə etməyə və ya mövcud addımları yeniləri ilə əvəz etməyə imkan verir.
Öz modellərini və Modul yığınını təkmilləşdirmək üçün tərtibatçılar nüvə birləşməsindən, qrafikin yenidən yazılmasından, forma funksiyalarından və digər üsullardan istifadə edə bilərlər.
Niyə onu Python əvəzinə seçirsiniz?
Python, çevikliyi və yüksək performanslı tərtib edilmiş kitabxanalarına görə məşhur AI inkişaf dilidir. Bununla belə, C++ kimi dillərdən xeyli yavaşdır.
Buna görə də, proqramçılar performans baxımından kritik sahələr üçün Python istifadə etməmək üçün daha sürətli dillərdə Python sarğılarından istifadə etməyi öyrənirlər.
Bu, iki dil probleminə gətirib çıxarır ki, burada modellər Python-dan ONNX və ya məşəl skripti kimi Python-un bütün imkanlarını dəstəkləməyən daha sürətli tətbiqə çevrilməlidir. Python da performans problemləri və yaxşı paralel emal çatışmazlığı var.
Hətta təcrübəli proqramçılar da iki dil dilemması səbəbindən performans problemlərini öyrənmək, sazlamaq və həll etməkdə çətinlik çəkirlər.
Dilin quruluşuna görə Python-un edə biləcəyi əsas məhdudiyyətlər də var. Əsas komponentlərdən istifadə edən alqoritmlərin real dünyada tətbiqi asan görünsə də, bu, əhəmiyyətli dərəcədə daha çətindir və daha sürətli bir dildən istifadəni tələb edir.
Necə Başlanmalı?
Başlamaq üçün onların Playground-da Mojo Dilindən istifadə etməyə başlaya bilərsiniz. JupyterHub-a əsaslanan Oyun meydançası dərslər verir və Mojo hələ də davam edən bir iş olsa da, öz Mojo kodunuzu yaratmaq imkanı verir.
Oyun meydançasına daxil olmaq üçün onların saytında qeydiyyatdan keçə bilərsiniz.
Performans məqsədlərinə çatmaq üçün Mojo inteqrasiya edilmiş keşləmə, multithreading və bulud paylama texnologiyaları ilə yeni nəsil kompilyator texnologiyalarından istifadə edir.
Sistem proqramlaşdırmasına əlavə primitivlər əlavə edir və zamanla Python supersetinə çevrilməyə çalışır. Mojo ilə kodlamağa başlamaq üçün, Python ilə eyni şəkildə terminaldan Mojo proqramını işə salmaq üçün Mojo kompilyatorundan istifadə edin.
Dil hazırda inkişaf mərhələsindədir və sistem proqramlaşdırmasında təcrübəsi olan tərtibatçılar üçün nəzərdə tutulub.
Wrap Up
Mojo Python superset hesab olunur. Və Python-un sadəliyini C++ və Rust performansı ilə birləşdirərək proqramlaşdırmada inqilab etmək potensialına malikdir.
Tam istifadə edə bilər Python kitabxanası ekosistem, tərtibatçılara C, C++, Rust və ya CUDA-ya ehtiyac olmadan yüksək performanslı kitabxanalar yaratmağa imkan verir.
O, avtomatik tənzimləmə və kompilyasiya vaxtı meta-proqramlaşdırma xüsusiyyətləri sayəsində portativ kodun istehsalına imkan verir.
Hələ də davam edən bir iş olsa da, nəhəng proqramlaşdırma alətinə çevrilmək və proqramlaşdırma sənayesini dəyişdirmək potensialına malikdir. Beləliklə, biz Modular-dan gələcək inkişafları izləməliyik!
Chris Santos
Sizcə, əsasdan orta səviyyəyə qədər biliyə malik olan şəxs bu yeni dildə təhsilə başlaya bilərmi? Yoxsa əvvəlcə Javascript və ya Python kimi daha sadə bir dil öyrənməyi məsləhət görürsünüz?
İlke Candan Bengi
Salam Chris, gec cavab üçün üzr istəyirik! Hesab edirəm ki, Mojo ilə başlamazdan əvvəl Python haqqında əsas anlayışa/təcrübəyə malik olmaq faydalı ola bilər.