Edukien aurkibidea[Ezkutatu][Erakutsi]
Inoiz aplikazio azkarragoak eta eraginkorragoak eraiki nahi izan dituzu, baina programazio-lengoaia estandarrak zure eskakizunak betetzeko gai ez direla deskubritu duzu?
Mojo Language jokoan sartzen da orduan.
Mojok garatutako programazio-lengoaia berria da Modular, AI azpiegituretan espezializatutako enpresa.
Bereziki diseinatuta dago garatzaileek aplikazio azkarragoak eta sendoagoak eraiki ditzaten hainbat erabilera-kasutarako, AI garapena barne. Post honetan, zer ikusiko dugu Mojo hau da, nola funtzionatzen duen eta zergatik erabili behar duzun hurrengo proiektuan.
Mojoren jatorria
Mojoren sortzaileek Python-en erabilgarritasuna C-ren abiadura eta eraginkortasuna uztartzen zituen programazio-lengoaia baten beharra aitortu zuten.
Eta, garatzaileei errendimendu handiko aplikazioak eraikitzeko aukera emango dien hizkuntza bat ezarri zuten, hardware deskribapen hizkuntza estandarrak ikasi beharrik gabe.
Ondorioz, Mojo sortu zuten, Python ekosistemarekin guztiz bateragarria izan dadin, C mailako abiadura ematen duen bitartean.
Modularra: Mojo hizkuntzaren atzean dagoen antolaketa
Orduan, nortzuk dira hizkuntza futurista honen sortzaileak?
Modular Chris Lattner eta Tim Davis-ek sortutako AI azpiegituren mundu mailan liderra den startup bat da.
Modular-en helburua eta AI azpiegiturak birpentsatzea dira gizateria hobetzeko. Beren kulturak eta printzipioek bezeroei, kalitate handiko produkzio-softwareari eta emaitza esanguratsuak ematen dituzte
Mojoren Golak
Mojo ikaskuntza automatikoko azeleragailuentzako programazio eredu berezia eskaintzeko diseinatu zen.
Modularrek zehaztu zuen Mojok helburu orokorreko programazioa baimendu beharko lukeela, egungo CPUek tentsoreak eta beste AI azeleragailuak dituztelako. Gainera, Python ikaskuntza automatikoan eta beste esparru batzuetan asko erabiltzen denez, Modular-ek Python ekosisteman sartzea aukeratu zuen.
Python-en erabilerak are gehiago erraztu zuen hizkuntzaren diseinua. Sintaxiaren gehiengoa jada zehaztuta zegoenez, korporazioak konpilazio mekanismoa eraikitzen eta programazio gaitasun espezializatuak eskaintzen kontzentratu zitekeen.
Kontuan hartu beharreko ezaugarri garrantzitsuak
iharduera
Mota progresiboak
Mojo Language-ren mota progresiboaren ezaugarriak garatzaileei motako oharpenak erabiltzeko aukera ematen die eraginkortasuna hobetu eta akatsen egiaztapenak.
Garatzaileek kode eraginkorragoa diseina dezakete konpilazio garaian akatsak detektatzen dituena, akatsak ezabatuz eta eraginkortasuna areagotuz, informazio mota zehatzagoa emanez.
Zero Kostu Abstrakzioak
Garatzaileek biltegiratze-kontrola har dezakete datuak egituretara esleituta, Mojo Language-k eskaintzen dituen zero kostuko abstrakzioei esker.
Memoria gehigarrien esleipenaren eskakizuna kenduz, funtzio honek kodearen eraginkortasuna hobetzen du eta kode arruntaren kopurua murrizten du.
Hizkuntzaren sintonizazio automatikoa integratua
Mojo Language-n hizkuntzan integratutako doikuntza automatikoko funtzionalitateak aukera ematen die garatzaileei parametroen balio idealak automatikoki zehazteko xedeko hardwareari etekina ateratzeko.
Funtzionalitate honekin, errazagoa da kodea optimizatzea hardware konbinazio bakoitzerako eskuz egokitu beharrik gabe.
Mojo Language AI garapenerako tresna malgu eta eraginkorra da, MLIR (Multi-Level Intermediate Irudikapena), exekuzio-denbora heterogeneo paraleloa eta eraikitze-denbora azkarrak ere eskaintzen baititu.
Paralelizazioa
Mojok MLIR erabiltzen du, programatzaileei AIrako bektoreak, hariak eta hardware-unitateak erabiltzeko aukera ematen die paralelismorako. Mojo-k hainbat nukleoren gaineko prozesamendu paraleloa onartzen du Python-en hari bakarreko exekuzioaren aurka.
Python-en 35,000 aldiz bizkortzearekin, Mojo-k beste hizkuntza batzuei gainditzen die abiadurari dagokionez.
elkarreragingarritasun
Python ekosistema osoarekin elkarreragingarritasuna da Mojoren abantaila berezietako bat. Horrek esan nahi du Mojo edozein liburutegi arbitrariorekin konbina dezakezula, Numpy eta Matplotlib adibidez, baita zure neurrira egindako kodearekin ere.
Adibidez, zure Mojo kodean datuak ikus ditzakezu Matplotlib Python liburutegia erabiliz.
extensibility
Mojo ere nahiko malgua da, eta erabiltzaileei aukera ematen die ereduei prozesatzeko aurreko eta osteko pausoak gehitzeko edo lehendik dauden urratsak berriekin trukatzeko.
Beren ereduak eta pila modularra hobetzeko, garatzaileek nukleoen fusioa, grafikoen berridazketa, forma funtzioak eta beste teknika batzuk erabil ditzakete.
Zergatik aukeratuko zenuke Pythonen gainetik?
Python AI garapen lengoaia ezaguna da bere malgutasunagatik eta errendimendu handiko konpilatutako liburutegiengatik. Hala ere, C++ bezalako hizkuntzak baino nabarmen motelagoa da.
Hori dela eta, programatzaileek Python bilgarriak erabiltzen ikasten dute hizkuntza azkarragoetan Python errendimendurako eremu kritikoetarako erabiltzea saihesteko.
Horrek bi hizkuntzako arazoa dakar, zeinean ereduak Pythonetik inplementazio azkarrago batera aldatu behar diren, hala nola ONNX edo torch script-a, Python-en gaitasun guztiak onartzen ez dituena. Python-ek errendimendu arazoak eta prozesamendu paralelo onaren falta ere baditu.
Esperientziadun programatzaileei ere zaila zaie errendimendu-arazoak aztertzea, araztea eta bideratzea, bi hizkuntzaren dilema dela eta.
Oinarrizko murrizketak ere badaude Pythonek egin dezakeenari, hizkuntza egituratzeko moduagatik. Oinarrizko osagaiak erabiltzen dituzten algoritmoen mundu errealean inplementatzea erraza dirudien arren, nabarmen zailagoa da eta hizkuntza azkarrago bat erabiltzea eskatzen du.
Nola Hasteko?
Mojo Language erabiltzen has zaitezke oraintxe bertan Playground-en hasteko. JupyterHub-en oinarritutako Playground-ek ikasgaiak eta zure Mojo kodea sortzeko aukera ematen du, nahiz eta Mojo oraindik lanean dagoen.
Beraien webgunean izena eman dezakezu Jolastokian sartzeko.
Bere errendimendu-helburuak lortzeko, Mojo-k hurrengo belaunaldiko konpiladore-teknologiak erabiltzen ditu caching, multithreading eta hodeiko banaketa-teknologiekin.
Sistemen programazioari primitibo gehigarriak gehitzen dizkio eta denboran zehar Python supermultzo bihurtu nahi du. Mojorekin kodetzen hasteko, erabili Mojo konpilatzailea terminaletik Mojo programa bat exekutatzeko Python-ek egiten duen moduan.
Lengoaia garatzen ari da eta sistemen programazioan esperientzia duten garatzaileei zuzenduta dago.
biltzeko sortu
Mojo Python supermultzotzat hartzen da. Eta programazioa iraultzeko ahalmena du Python-en sinpletasuna C++ eta Rust-en errendimendua konbinatuz.
Osoa aprobetxatu daiteke Python liburutegia ekosistema, garatzaileek errendimendu handiko liburutegiak sortzeko aukera emanez, C, C++, Rust edo CUDA beharrik gabe.
Kode eramangarria ekoiztea ahalbidetzen du autotuning eta konpilazio garaiko metaprogramazio funtzioei esker.
Oraindik lan bat den arren, programazio-tresna ikaragarria bihurtzeko eta programazioaren industria eraldatzeko ahalmena du. Beraz, adi egon beharko genuke Modular-en etorkizuneko garapenei!
Chris Santos
Uste duzu oinarrizko eta erdi mailako ezagutzak dituen pertsona batek bere ikasketak hizkuntza berri honetan hasteko gai izango liratekeela? Edo lehenik eta behin oinarrizko hizkuntza bat ikastea gomendatzen al duzu, Javascript edo Python adibidez?
İlke Candan Bengi
Kaixo Chris, barkatu berandu erantzun izanagatik! Uste dut Python-en oinarrizko ulermena/esperientzia izatea lagungarria izan daitekeela Mojorekin hasi aurretik.