Mojo nyelv AI fejlesztőknek

A technológia világa folyamatosan mozog. A blokk legújabb gyereke a Mojo programozási nyelv. A Python-alapú projektek végrehajtási sebességének javításához szükséges a köpeny, ami a C-hez hasonló sebességet biztosít a fejlesztőknek.

A Python az egyik legnépszerűbb programozási nyelv. Ez egy sokoldalú, könnyen elsajátítható programozási nyelv, amely átjárót kínál az új tanulóknak a programozáshoz/számítástechnikához.

Sőt, kiváló programozási nyelv a hozzáértő fejlesztők kezébe, akik képesek összetett alkalmazások létrehozására. A Python egyik legjelentősebb hátránya azonban a végrehajtási sebesség. És itt jön be Mojo.

Ez a cikk a Mojo-val és a Python ökoszisztémával való kapcsolatával foglalkozik. Kezdjük el.

Mi az a Mojo?

A Mojo egy magas szintű modern programozási nyelv. Intuitív kialakítása segíti a fejlesztőket az alkalmazások gyors létrehozásában. Ezen túlmenően a termelés és a kutatás közötti szakadék áthidalását célozza azáltal, hogy lehetővé teszi a felhasználók számára a metaprogramozási funkciók használatát, valamint a Python szintaxisával és ökoszisztémájával történő rendszerprogramozást.

Sokat kölcsönöz a Rusttól, és gyors végrehajtási sebességet biztosít a Python ökoszisztémának. Technikailag a Mojo a Python szuperkészlete, amely hozzáférést biztosít.

A Mojo mögött álló csapat a Modulartól, egy mesterséges intelligencia infrastrukturális vállalattól származik. Ez azt is jelenti, hogy ez egy programozási nyelv az AI-fejlesztők számára. A Mojo programozási nyelv mellett bemutatták az Interference Engine-t is, amellyel a fejlesztők javíthatják munkafolyamatukat, méretezhetik az AI-termékeket, és csökkenthetik a következtetési késleltetést (erről később).

  Gmail-bővítmények telepítése

A Modular vezérigazgatója, Chris Lattner szerint a Mojo 35 000-szer gyorsabb, mint a Python. Ő áll a gyors programnyelvi fejlesztés mögött is. A sebességnövekedés annak köszönhető, hogy a Mojo az LLVM fordító eszközláncát és a MILR (Multi-level Intermediate Representation Overview) fordítói infrastruktúrát használja.

A Mojo programozási nyelvek céljai a következők:

  • Teljesen kompatibilis a Python ökoszisztémával.
  • Lehetővé teszi a fejlesztők számára, hogy kódalkészleteket telepítsenek a gyorsítókra.
  • Alacsony szintű vezérlés a kiszámítható teljesítmény érdekében.
  • Biztosítani kell az ökoszisztéma széttagoltságának elkerülését.

A Mojo kipróbálásához a felhő alapú hosztolt környezetükön, a Mojo Playgroundon keresztül kell használnia. Kérni fogja, hogy jelentkezzen be, és munkakörnyezetet kaphat!

Miért van szükségünk Mojora?

A Mojo mögöttes alapötlet az ML/AI infrastruktúra egységesítése egy olyan programozási nyelv biztosításával, amely az egész veremben működik. Ezenkívül biztosítja a könnyű használatot, mivel nincs szükség MLIR kód írására.

A Modular szerint a Mojo skálázható és innovatív programozási modellt kínál majd. Ezáltal a mesterséges intelligencia terepi felhasználói könnyen dolgozhatnak gyorsítókkal és heterogén rendszerekkel.

Technikailag ez teszi a Mojo-t olyan programozási nyelvvé, amely támogatja a fordítási idejű metaprogramozást. Más szolgáltatásokat is támogat, mint például a fordítási folyamat közbeni gyorsítótárazás, az adaptív fordítási technikák stb. Ezek a szolgáltatások más programozási nyelvekben nem találhatók meg.

Ha többet szeretnél olvasni Mojo filozófiájáról, nézd meg a Modular Docs – Miért Mojo🔥

A Mojo programozási nyelv jellemzői

Ebben a részben a Mojo programozási nyelv főbb jellemzőit tekintjük át.

#1. Teljes kompatibilitás a Pythonnal

A Mojo célja, hogy a Python ökoszisztémájával dolgozzon, és nem ellene. Ez nyilvánvaló abból a tényből, hogy a Mojo ugyanazokat a funkciókat, könyvtárakat és szolgáltatásokat használja, mint a Python. Tehát bármelyik Python-könyvtárat használhatja a Mojo-n belül.

Az importáláshoz a következő kódot kell használnia:

from PythonInterface import Python

Ha elkészült, a Python.import_module() segítségével bármely Python-könyvtárat importálhat.

  A Teamspeak kliens telepítése Linuxra

Például a numpy importálásához a következő kódsort kell használnia.

let np = Python.import_module(“numpy”)

Pythonban meg kell tennie az „import numpy as np” parancsot.

Az importálás során most már használhatja tömbök létrehozására, számítások elvégzésére stb.

array = np.array([1, 2, 3])

print(array)

Hasonlóképpen importálhatja a matplotlib.pyplot fájlt, és létrehozhat egy plotet a Mojoban.

Így néz ki, amikor futtatom a kódot a Mojo Playgroundban.

Ha szeretné kipróbálni a kódot, másolja be alulról.

from PythonInterface import Python

let np = Python.import_module("numpy")

array = np.array([1, 2, 3, 4, 5])

print(array)

#2. MILR

A MILR a Multi-Level Intermediate Representation rövidítése. A Mojo támogatja a MILR-t. Ez cserébe lehetővé teszi a fejlesztők számára, hogy az új fejlett funkciók teljes skáláját vegyék fel. Ezek a funkciók közé tartoznak az AI hardveregységek, szálak és vektorok.

A MILR a párhuzamosságnak köszönhetően javítja a teljesítményt, így a Mojo gyorsabb, mint a Python. Ezenkívül lehetővé teszi a fejlesztők számára, hogy több mag előnyeit is kihasználják.

#3. Tulajdonjog- és kölcsönfelvevő-ellenőrző

A Python memóriakezelése biztonságos. Szemétgyűjtőt használ, így a programozóknak biztosítaniuk kell, hogy a kód ne futhasson versenykörülmények között.

A Mojo a Rusthoz hasonlóan szigorú tulajdonosi és kölcsönvevő-ellenőrző modellt valósít meg. Jelenleg részben megvalósul. A modell használatának ötlete a párhuzamosság javítása és a kiváló memóriakezelés biztosítása.

A tulajdonosi modell szálbiztos megközelítést is biztosít, amely ideális a kiváló párhuzamossági támogatás biztosításához. Így a programok nem futnak versenykörülmények között. Ezenkívül a hitelfelvevő-ellenőrző biztosítja, hogy a változókat mindig ellenőrizzék a futási idő alatt.

#4. Az absztrakció nulla költsége

A Mojo zéró költségű absztrakciókat kínál, lehetővé téve a fejlesztők számára, hogy teljes mértékben átvehessék az irányítást a tárolás felett. Itt a programozók inline allokációs értékeket hajthatnak végre a struktúrákhoz.

  A legjobb COVID-19 nyomkövető alkalmazások és webhelyek

#5. Automatikus hangolás

A Mojo az automatikus hangolást is felajánlja. Ez biztosítja a paraméterek legjobb értékeinek automatikus kiosztását, a célhardvertől függően.

Az automatikus hangolás megszünteti a kód kézi optimalizálásának szükségességét a célhardvernek megfelelően.

Sebesség: Milyen gyors a Mojo nyelv?

A Python egy magas szintű programozási nyelv, amelynek célja a könnyű használat és a karbantarthatóság. Sajnos ez lelassítja más megoldásokhoz vagy programozási nyelvekhez képest.

A Modular tesztjében a Mojo-t 35000x-esnek találták. A Mandelbrot algoritmust használták, és egy AWS-példányon futtatták, Intel Xeon processzorral. Tesztelték a PYPY-t, a SCALAR C++-t és a MOJO-t a Python mellett. Az eredmények szupergyorsak voltak, és az eredményeket alább láthatja.

Forrás: modular.com

Ha többet szeretne megtudni a Mojo sebességéről, nézze meg ezt a bejegyzést a Julialang közösségről.

Moduláris következtetés motor – Futtassa olcsón az AI-modelleket

A Modular egy Modular Interference Engine-t is fejleszt, amely olcsóbbá teszi az AI-modellek gyártásban való futtatását. A Mojo alapértelmezés szerint támogatja a Modular Interfence Engine-t. Lehetővé teszi a csapatok számára a munkafolyamat egyszerűsítését. Lehetővé teszi a fejlesztők számára a következtetések késleltetésének csökkentését is, megkönnyítve az AI-termékek méretezését.

Ezenkívül a fejlesztőknek nem kell modellt váltaniuk az Engine használatához. Betöltés után fel tudja tölteni a PyTorch és TensorFlow modelleket, amelyek nagy teljesítményre képesek széles hardveres támogatással.

Leváltja a Python-t?

Mojo új. Ígéretesnek tűnik. Tehát időbe telik, amíg eléri a célközönséget, például az adattudósokat vagy a programozási nyelveket. És igen, megoldja az AI-rajongók és tanulók sajátos problémáit. Számos hasonló megoldás létezik azonban, amelyek javítják a Python nyelv sebességét. Például megtalálhatja a Jax, Codon és Julia nyelvet – egy adattudomány-orientált nyelvet.

Tehát két dolog történhet. Először is exponenciálisan növekszik a funkciók tekintetében, és a közösség elfogadja. Egy másik eredmény az, hogy ad-hoc programozási nyelvvé válik, amely Python könyvtárakat és a Modular Interference Engine-t használ.

Tehát a Mojo leváltja a Python-t? Csak az idő tudja megmondani.

Ezután tekintse meg a hasznos Python egysoros programokat a gyakori feladatok egyszerűsítéséhez.