Driving Digital


¿Un nuevo lenguaje de programación para desarrollo de inteligencia artificial?

Mojo. Una combinación de Python más el rendimiento de C brindan que prometen una velocidad de hasta 35000 veces más rápida que Python.

Python continúa como el lenguaje de preferencia en ciencia de datos, aprendizaje automático e inteligencia artificial (IA), ya que cuenta con una gran cantidad de paquetes útiles para trabajo con datos. Pero para las bibliotecas que requieren un gran rendimiento, Python solo actúa como una capa de enlaces de bajo nivel a C, C++ y otros lenguajes con mejor rendimiento.

Esto permitió el desarrollo de bibliotecas como numpy y TensorFlow, pero construir estas bibliotecas es muy complicado, que requiere un nivel de comprensión de las partes internas de CPython y de C/C++, entre otros.

Según Mojo, los problemas presentados por Python son más profundos y tienen un impacto particular en el campo de la IA. Python por sí solo no puede abordar todos los problemas que necesitan los sistemas de IA aplicados. Mojo es un lenguaje de programación que combina la usabilidad de Python con el rendimiento de C.

Mojo proviene de una empresa llamada Modular, cofundada por Chris Lattner, el mismo que creó el lenguaje de programación Swift y LLVM.

Dentro de sus principales características, destacan el que pretende ser totalmente compatible con el ecosistema de Python. Esto significa que podrías trabajar fácilmente con Mojo si eres programador en Python. Ambos lenguajes de programación tienen funciones, características y bibliotecas en común, como numpy, pandas y matplotlib.

Además, intenta lograr que tu código sea más predecible, manejable y seguro.

Posee un ajuste automático que ayuda a encontrar automáticamente los mejores valores para sus parámetros para aprovechar el hardware de destino.

Utiliza representación intermedia multinivel (MLIR), que le permite aprovechar vectores, subprocesos y unidades de hardware de IA. Esto ayuda a Mojo a lograr un gran rendimiento porque, a diferencia de Python, que funciona con ejecución de un solo subproceso, Mojo puede trabajar con procesamiento paralelo en varios núcleos.

Mojo aún es un trabajo en progreso, pero se puede probar aquí:

Mojo Compiler Engineer

About Modular

We believe that AI is a net positive force in the world. Our vision and mission are to help rebuild AI infrastructure to advance humanity and our environment. We will do whatever it takes to empower our customers, team, and company to benefit from that pursuit. You can read about our culture and careers here to understand how we work and what we value.

We are owners and advocates for the underlying technologies, developer platforms, product components, and infrastructure. These essential building blocks form the high-quality and coherent experiences our users expect. We aim to drive the pace of innovation for every AI/ML developer.

About This Role

ML developers today face significant friction taking trained models into production and struggle to use diverse accelerators due to the difficulty working with their tools. They work in a highly fragmented space, with incomplete and patchwork solutions that require non-generalizable/ model-specific enhancements and work-arounds for fragile tools. At Modular, we are building the next generation AI platform that will radically improve the way developers build and deploy AI models.

As a Mojo Compiler Engineer, you will work with world leaders to build a novel programming language for a full spectrum machine learning and heterogeneous compute applications. This includes a compiler as well as related developer tooling.

LOCATION: This role is based out of North America. You can work out of one of our offices in Palo Alto, CA or Seattle, WA, or remotely from home.

What you will do:

  • Design and implement Mojo language features and development tooling.
  • Implement a «next generation» compiler architecture building on the capabilities of MLIR, distributed compilation, and other established technologies.
  • Collaborate with other teams at Modular to build a balanced technology stack that fully utilizes today’s complex server and mobile systems.
  • Collaborate with machine learning practitioners and system designers to guide the project’s evolution.

What you bring to the table:

  • 4+ years of compiler development experience.
  • In-depth knowledge of C++. Knowledge of Python is a strong plus.
  • Familiarity with Clang, CPython, Swift, Rust or another major programming language implementation.
  • Strong knowledge of programming language design principles.
  • Creativity and curiosity for solving complex problems, a team-oriented attitude that enables you to work well with others, and alignment with our culture.

The estimated base salary range for this role to be performed in the US, regardless of the state, is $157,500.00 – $253,000.00 USD. The salary for the successful applicant will depend on a variety of permissible, non-discriminatory job-related factors, which include but are not limited to education, training, work experience, business needs, or market demands. This range may be modified in the future. The total compensation for a candidate will also include annual target bonus, equity, and benefits, with equity making up a significant portion of your total compensation.

For candidates who fall outside of the listed requirements, we nevertheless encourage you to apply as we may have openings that are lower/higher level than the ones advertised.

What Modular brings to the table:

  • Amazing Team. We are a progressive and agile team with some of the industry’s best engineering and product leaders.
  • Flexible Location. We want you to work where you are most productive and we are a remote-first company. We have offices in Palo Alto, CA and Seattle, WA for collaboration, and will open more next year.
  • World-class Benefits. In order to attract the best, we need to offer the best. Premier insurance plans, up to 5% 401k matching, very generous WFH setup stipends, flexible paid time off, and more are available to you! Please note that specific benefit packages may vary based on your location.
  • Competitive Compensation. We offer very strong compensation packages, including stock options. We want people to be focused on their best work and believe in tailoring compensation plans to meet the needs of our workforce.
  • Team Building Events. We organize regular team onsites and local meetups in different cities.

Working at Modular will enable you to grow quickly as you work alongside incredibly motivated and talented people who have high standards, possess a growth mindset, and a purpose to truly change the world.

Modular is proud to emphasize an equal opportunity, safe environment for people to do their best work. Modular is an affirmative action employer. We are committed to providing equal employment opportunities regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements.

This employer participates in E-Verify and will provide the federal government with your Form I-9 information to confirm that you are authorized to work in the U.S. If E-Verify cannot confirm that you are authorized to work, this employer is required to give you written instructions and an opportunity to contact Department of Homeland Security (DHS) or Social Security Administration (SSA) so you can begin to resolve the issue before the employer can take any action against you, including terminating your employment. Employers can only use E-Verify once you have accepted a job offer and completed the Form I-9.






Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *