Mojo es un nuevo lenguaje de programación para desarrollar inteligencia artificial. Hay quienes creen que podría ser el sucesor de Python.
Modular es una empresa de inteligencia artificial que hace unas semanas ha presentado un lenguaje de programación llamado Mojo del que se ha comenzado a hablar mucho porque tiene dos características muy llamativas: combina la facilidad de uso de Python con la velocidad de C.
Desde hace años, Python se ha establecido como el lenguaje de programación predilecto para la ciencia de datos y la IA, gracias a su facilidad de uso y su rica biblioteca de herramientas y módulos.
Sin embargo, a pesar de sus ventajas, Python tiene una limitación importante: su velocidad, en contraposición, C ofrece una velocidad incomparable, pero a costa de una mayor complejidad en su uso.
Hay numerosos proyectos en marcha para hacer Python más rápido, como Jax y, más recientemente, un compilador de Python llamado Codon, sin mencionar, por supuesto, nada de lenguajes alternativos orientados a la ciencia de datos como Julia.
35.000 veces más rápido que Python
Aunque aún está en desarrollo, Mojo promete ser 35,000 veces más rápido que al ejecutar algoritmos numéricos, gracias a la aceleración del hardware. Según Chris Lattner, CEO de Modular y veterano de empresas como Apple, Google y Tesla, “Mojo combina las partes de Python que los investigadores aman con las características de programación de sistemas que requieren el uso de C, C++ y CUDA”.
Mojo permite utilizar CPU´s y GPU´s TPUs y ASICs personalizados atendiendo a los puntos fuertes de cada tipo de hardware, según sus creadores.
Para ser más ágil, Mojo se compila estáticamente, lo que se traduce en tiempos de ejecución más rápidos y una mejor optimización, ya que el código se compila antes de la ejecución.
Su principal ventaja es su capacidad para superar la realidad bifurcada de la IA. En la actualidad, los modelos de IA se desarrollan en Python debido a la riqueza del ecosistema, pero a menudo se conectan con módulos en lenguajes más eficientes, como C/C++ y Rust; este enfoque de “dos lenguajes” complica el perfilado, la depuración, el aprendizaje y la implementación de aplicaciones de aprendizaje automático.
La promesa de ejecutar código a velocidades nunca antes vistas, sin sacrificar la legibilidad y la facilidad de uso, puede resultar en un aumento significativo de la eficiencia y la productividad en diversos sectores: desde la ciencia de datos, pasando por la programación en general hasta la inteligencia artificial, las implicaciones de este avance son vastas y emocionantes.
Esta propuesta hecha por Modular implica grandes avances en el futuro de la IA y la programación, aunque hay que recordar que Mojo aún está en desarrollo, muestra características prometedoras y ha obtenido resultados impresionantes, su compatibilidad completa con Python todavía está en proceso.