Qué es Rust y por qué Elon Musk piensa que será el lenguaje con el que crearemos la ‘IA General’

0
33

El sector de la inteligencia artificial está a la caza de la próxima gran innovación que transforme la forma en que desarrollamos esta tecnología, y que nos acerque a la meta del desarrollo de la IA General o AGI; es decir, de aquella IA con capacidad para entender, aprender y aplicar conocimientos en una amplia variedad de tareas de manera equivalente a un ser humano.

Elon Musk, una de las figuras más influyentes en el campo de la tecnología, y él mismo co-fundador de OpenAI y, recientemente, fundador de xAI, señalaba hace unos meses en su red social que Rust podría ser el lenguaje de programación que marque la diferencia en nuestra búsqueda de la AGI.

La carrera de programador en 2017 y en el futuro (con Javier Santana)

La edad de Python termina. El tiempo de Rust ha llegado

Para entender por qué Elon Musk hace esta afirmación y por qué Rust está ganando terreno en el ámbito de la IA, es esencial analizar algunas de las razones fundamentales detrás de esta elección.

Durante los últimos 20 años, Python ha dominado el ámbito de la IA y el aprendizaje automático por su simplicidad y la gran cantidad de bibliotecas disponibles. Sin embargo, este dominio está siendo desafiado por las crecientes necesidades de eficiencia y seguridad en el procesamiento de datos.

Python, aunque es conocido por su facilidad de uso y versatilidad, es, en palabras de Chris Lattner, el creador de LLVM, Clang y Swift,

«simplemente demasiado lento, demasiado inflado y, paradójicamente, demasiado incómodo para la nueva ola de desarrolladores».

Antes de que se impusiera Python, estos fueron los lenguajes con los que se desarrollaba inteligencia artificial

Pero, ¿qué es (y qué ofrece) Rust?

Es aquí donde Rust, un lenguaje de programación menos conocido pero extremadamente prometedor, entra en juego. Pero, ¿qué hace que Rust sea tan atractivo para la IA? Hay varias razones clave:

  1. Alto rendimiento: El código de Rust tiene un rendimiento excepcional sin la sobrecarga de tiempo de ejecución propio de lenguajes interpretados como Python. Así, proporciona abstracciones de alto nivel que se compilan en un código máquina, tan eficiente como el de conocidos lenguajes de bajo nivel como C/C++.
  2. Seguridad de memoria sin recolector de basura: A diferencia de lenguajes como Java o C#, Rust garantiza la seguridad de la memoria sin necesidad de un ‘recolector de basura’ (un componente que libera automáticamente la memoria que ya no está en uso,). Esto se logra mediante su sistema de ‘propiedad’ y ‘préstamo’, que elimina las pausas impredecibles en la ejecución del programa, algo crucial para sistemas en tiempo real.
  3. Compilador optimizado: Rust utiliza LLVM como componente central de su backend, lo que optimiza el código Rust y le permite funcionar en una amplia variedad de arquitecturas de CPU.
  4. Prevención de carreras de datos: Las ‘carreras de datos’ son un problema grave en la programación concurrente, que conduce a comportamientos impredecibles y errores en el software. Pero el sistema de tipos, propiedad y reglas de préstamo de Rust puede garantizar que los programas multi-hilo estén libres de este problema.
  5. Administrador de paquetes Cargo: A diferencia de C/C++ y al igual que Python, Rust cuenta con un administrador de paquetes estándar, que facilita la escritura de aplicaciones Rust con dependencias y simplifica el proceso de desarrollo.
  6. Acceso directo al hardware: Al igual que C/C++ y a diferencia de Python, Rust permite a los desarrolladores acceder directamente al hardware y la memoria, lo que es esencial para la programación de sistemas y aplicaciones integradas.

Rust + Wasm: combinación ganadora

Rust combinado con WebAssembly (o Wasm) —un estándar de código binario que permite ejecutar código a nivel de máquina en un navegador web— proporciona una solución más robusta para el desarrollo de infraestructuras para aplicaciones de IA, superando varios de los desafíos y limitaciones asociados con el enfoque tradicional basado en el uso conjunto de Python y Docker.

Recordemos que el código compilado con Rust y WASM tiende a ser más pequeño, lo que se traduce en tiempos de carga más rápidos y una ejecución más eficiente.

Además, el proyecto WasmEdge —un motor de ejecución para Wasm optimizado para la nube— permite a los desarrolladores utilizar Rust de alto rendimiento en todas las capas de la pila de aplicaciones IA, ofreciendo una alternativa mucho más eficiente que Python.

Usa Linux o LibreOffice nativamente en tu navegador: así puedes sacar provecho a WebAssembly

Rust y el futuro de la IA

En resumen, Elon Musk no está solo en su afirmación de que Rust será fundamental en la IA General. Este lenguaje combina un alto rendimiento, seguridad de memoria, un potente compilador y un sistema de tipos robusto, lo que lo convierte en una elección lógica para las aplicaciones de IA del futuro.

Así, aunque nadie pone en duda que Python seguirá siendo relevante aún por mucho tiempo en el campo de la IA, Rust se perfila como un fuerte candidato para liderar la próxima generación de inteligencias artificiales.

En Genbeta | Ya no solo Python: Google Bard admite 18 lenguajes de programación como C+, JavaScript o Rust. Así es como puedes hacerlo