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.
Hay numerosos proyectos en marcha para hacer Python más rápido, como Jax y, más recientemente, un compilador de Python llamado Codon. Y eso por no hablar de lenguajes alternativos orientados a la ciencia de datos como Julia.
35.000 veces más rápido que Python
Mojo consigue distinguirse de otros esfuerzos de mejora de Python porque según sus creadores es "35.000 veces más rápido que Python" al ejecutar algoritmos numéricos como Mandelbrot gracias a la aceleración por hardware.
Según palabras de sus creadores, "Mojo combina las partes de Python que tanto gustan a los investigadores con las funciones de programación de sistemas que requieren el uso de C, C++ y CUDA".
Mojo permite la utilización de CPUs, GPUs, TPUs y ASICs personalizados, atendiendo a los puntos fuertes de cada tipo de hardware, según sus creadores. "La sintaxis y la semántica de alto nivel de Mojo son comparables a las de Python, lo que facilita su aprendizaje y uso a los desarrolladores expertos en Python".
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.
El científico de datos Jeremy Howard, cofundador de Fast.ai, ha llegado a decir que "Mojo puede ser el mayor avance en lenguaje de programación en décadas".
Según él, este lenguaje intenta abordar la realidad bifurcada de la IA: mientras que los modelos de IA se desarrollan en Python debido a la riqueza del ecosistema, los programadores de Python suelen acabar conectando su código a módulos en lenguajes de mayor rendimiento, como C/C++ y Rust. Y este enfoque de "dos lenguajes" hace más difícil perfilar, depurar, aprender y desplegar aplicaciones de aprendizaje automático.
Quién está tras Mojo
Chris Lattner es uno de sus precursores. Antiguamente trabajó en empresas como Apple, Google y Tesla y codesarrolló la cadena de herramientas del compilador LLVM, cofundó la infraestructura del compilador MLIR y encabezó el desarrollo del lenguaje de programación Swift.
Otro de sus precursores es Tim Davis, cofundador de Modular y antiguo responsable de Google ML, donde supervisó las API de aprendizaje automático, los compiladores y la infraestructura de ejecución del gigante de Internet.
Imagen | Modular
Ver 5 comentarios