Mojo – die Neue KI-Sprache?
Die Top-Programmiersprache für künstliche Intelligenz (KI) und maschinelles Lernen (ML) ist Python. Sehr viele ML-Bibliotheken sind in Python (bzw. Cython) entwickelt worden. Doch ML, besonders Deep Learning, ist sehr rechenintensiv und somit werden viele Ressourcen gebunden. Python wird zwar weiterentwickelt und an einigen Stellen effizienter gemacht, aber radikale Änderungen sind nicht möglich, weil eine Abwärtskompatibilität gewährleistet sein soll. Und aus diesem Grund wurde eine neue Programmiersprache entwickelt: Mojo. Diese Sprache hat unmittelbar mit Python zu tun und ist mit Blick auf Effizienz von ML-Algorithmen entwickelt worden. In diesem kurzen Post werde ich eine Einführung geben.
Mojo
Geschichte
An Mojo wird seit 2019 gearbeitet. Hauptakteur ist Chris Lattner, welcher auch die Programmiersprache Swift entwickelt hat. Ziel war es, die Flexibilität von Python mit der Geschwindigkeit von C zu verbinden; und dies besonders in Hinblick auf ML-Algorithmen. Man kann die Software noch nicht herunterladen, aber es gibt eine Warteliste auf der Seite von Modular, dem Startup hinter der Programmiersprache.
Was ist Mojo?
Mojo ist eine Obermenge von Python und dadurch kann der geschriebene Code mit Python kompatibel sein. Somit kann auch (Legacy-)Python-Code ohne weitere Probleme ausgeführt werden. Der größte Vorteil soll sein, dass es neben anderen Features vor allem Funktionalität für höhere Performance geben wird. Das Resultat: Code, besonders im KI-Bereich, kann effizienter werden und ML-Modelle werden schneller trainiert bzw. ausgeführt. Das Nutzen großer Datenmengen und das Trainieren von z.B. Deep Learning-Modellen bindet viele Ressourcen und somit könnte der Ansatz von Mojo einen großen Bottleneck verringern.
Vorteile von Mojo
Hier eine kurze Auflistung von Vorteilen (besonders im Vergleich zu Python):
- Schnelle Kompilierungszeiten
- Statische Typisierung
- Multithreading
- Integrierte Code-Optimierung
- Automatische Speicherverwaltung
- und weitere…
Angeblich soll Mojo bis zu 35000x (!) schneller sein als Python. Für den Test wurde der Mandelbrot-Algorithmus benutzt, auf einer AWS-Instanz r7iz.metal-16xl Intel Xeon.
Fazit
Mojo verspricht sehr viel und ich kann mir vorstellen, dass die Sprache, gerade durch die Kompatibilität zu Python, irgendwann zum Standard im KI-Bereich wird. Mojo ist durch die Nähe zur Hardware außerdem nachhaltiger, was in der aktuellen Zeit auch immer wichtiger wird.
Wenn du ein Wunschthema hast oder mir Feedback geben willst, schreibe gerne einen Kommentar oder schicke eine Mail an mail@thorejohannsen.de.