• Google fue un pionero en el machine learning y lanzó uno de los primeros marcos de trabajo de uso general.
  • Desde entonces, su herramienta de machine learning TensorFlow ha perdido el corazón y la mente de los desarrolladores por el marco de IA de Meta, PyTorch.
  • Google ahora está apostando por un nuevo proyecto de IA internamente para reemplazar a TensorFlow llamado JAX.
  • ¿Ya conoces nuestra cuenta en Instagram? Síguenos.

Google, en 2015, esencialmente creó el ecosistema de machine learning moderno cuando abrió un pequeño proyecto de investigación de Google Brain en 2015 llamado TensorFlow. Rápidamente explotó en popularidad y convirtió a la empresa en administradora de los principales productos de inteligencia artificial (IA).

Pero la historia es muy diferente hoy, cuando Google ha perdido el corazón y la mente de los desarrolladores por Meta.

TensorFlow de Google alguna vez fue una herramienta de machine learning omnipresente; sin embargo, se ha quedado atrás de PyTorch de Meta. Desarrollado por primera vez en Facebook y de código abierto en forma beta en 2017, PyTorch se considera cada vez más como el líder del sector.

El sentir es el mismo en entrevistas con desarrolladores, expertos en hardware, proveedores de la nube y personas cercanas a los esfuerzos de machine learning de Google. TensorFlow perdió la guerra por los corazones y las mentes de los desarrolladores. Algunas de esas personas incluso usaron la frase exacta espontáneamente: «PyTorch se ha comido el almuerzo de TensorFlow».

A través de una serie de pasos en falso tácticos, decisiones de desarrollo y maniobras superiores en la comunidad de código abierto por parte de Meta, los expertos dicen que la oportunidad de Google para guiar el futuro del machine learning en Internet puede estar perdida. Desde entonces, PyTorch se ha convertido en la herramienta de desarrollo de machine learning para desarrolladores ocasionales e investigadores científicos por igual.

Ahora, bajo la sombra de PyTorch, Google ha estado construyendo silenciosamente un marco de machine learning llamado JAX (en un momento, un acrónimo de «Just After eXecution»; pero oficialmente ya no significa nada), que muchos ven como el sucesor de TensorFlow.

Google aún no está fuera de la competencia del machine learning

Google Brain y la subsidiaria DeepMind AI de Google han abandonado ampliamente TensorFlow a favor de JAX, allanando el camino para que el resto de Google siga su ejemplo, dijeron a Insider personas cercanas al proyecto. Un representante de Google confirmó a Insider que JAX ahora tiene una adopción casi universal dentro de Google Brain y DeepMind.

Inicialmente, JAX enfrentó resistencias al interior de la empresa, dijeron personas cercanas a los esfuerzos de aprendizaje automático de Google. Los empleados de Google estaban acostumbrados a usar TensorFlow, dijeron estas personas. Tan difícil como era, era un factor unificador incómodo entre los empleados de Google. El enfoque de JAX era mucho más simple; sin embargo, cambió la forma en que Google creaba software internamente, dijeron.

Ahora se espera que la herramienta se convierta en la base de todos los productos de Google que utilizan el machine learning en los próximos años; de la misma manera que lo hizo TensorFlow a finales de la década de 2010, según las fuentes.

Y JAX parece haber salido de la esfera insular de Google: Salesforce le dijo a Insider que lo había adoptado en sus equipos de investigación.

«JAX es una proeza de la ingeniería», dijo Viral Shah, creador del lenguaje de programación Julia que los expertos comparan con frecuencia con JAX. «Pienso en JAX como un lenguaje de programación separado que se instancia a través de Python. Si te apegas a las reglas que JAX quiere que hagas, entonces puede hacer su magia, lo que es increíble en lo que puede hacer».

Google ahora espera encontrar oro nuevamente mientras aprende de los errores cometidos en el desarrollo de TensorFlow. Pero los expertos dicen que será un desafío enorme, ya que ahora tiene que desbancar a una herramienta de código abierto que se ha ganado los corazones y las mentes de los desarrolladores.

Meta no proporcionó un comentario al momento de la publicación.

El ocaso de TensorFlow y el auge de PyTorch

La participación de PyTorch en un foro de desarrolladores de lectura obligada está alcanzando rápidamente a TensorFlow, según los datos proporcionados a Insider. Los datos de participación de Stack Overflow muestran que la popularidad de TensorFlow medida en la proporción de preguntas realizadas en el foro se ha estancado en los últimos años; por su parte, la participación de PyTorch sigue aumentando.

stack overflow tensorflow pytorch
Stack Overflow

TensorFlow comenzó con fuerza y ​​su popularidad explotó después de su lanzamiento. Empresas como Uber y Airbnb y organizaciones como la NASA rápidamente lo adoptaron. A su vez, comenzaron a usarlo para algunos de sus proyectos más complejos que requerían algoritmos de entrenamiento en conjuntos de datos masivos. Se había descargado 160 millones de veces hasta noviembre de 2020.

Pero las constantes actualizaciones de funciones de Google hicieron que TensorFlow fuera cada vez más difícil de manejar y hostil para los usuarios. Esto aplicaba incluso para aquellos dentro de Google, dicen los desarrolladores y personas cercanas al proyecto.

Google tuvo que actualizar con frecuencia su marco con nuevas herramientas a medida que el campo del machine learning avanzaba. Y el proyecto se expandió internamente a medida que más y más personas estaban involucradas. Esto llevó a una falta de enfoque en las partes que originalmente hicieron de TensorFlow la herramienta de referencia, dijeron las fuentes.

Este tipo de juego frenético del gato y el ratón es un problema frecuente para muchas empresas que son las primeras en llegar al mercado, dijeron los expertos a Insider. Google, por ejemplo, no fue la primera empresa en crear un motor de búsqueda; pudo aprender de los errores de predecesores como AltaVista o Yahoo.

PyTorch empezó a ser una herramienta de machine learning mucho más versátil

Mientras tanto, PyTorch lanzó su versión de producción completa en 2018 desde el laboratorio de investigación de IA de Facebook. Si bien tanto TensorFlow como PyTorch se construyeron sobre Python, el segundo es el preferido.

En el lenguaje de los expertos en machine learning, Meta invirtió mucho en atender a la comunidad de código abierto. PyTorch también se benefició de un nivel de enfoque en hacer bien una pequeña cantidad de cosas que el equipo de TensorFlow había perdido, dicen personas cercanas al proyecto.

«Principalmente usamos PyTorch; tiene el mayor apoyo de la comunidad», dijo Patrick von Platen, ingeniero de investigación en la startup de aprendizaje automático Hugging Face. «Creemos que PyTorch probablemente está haciendo el mejor trabajo con el código abierto. Se aseguran de que las preguntas se respondan en línea. Todos los ejemplos funcionan. PyTorch siempre tuvo un primer enfoque de código abierto».

Algunas de las organizaciones más grandes, incluidas las que dependían de TensorFlow, impulsaron proyectos que se ejecutaban en PyTorch. No pasó mucho tiempo antes de que empresas como Tesla y Uber ejecutaran sus proyectos de investigación de aprendizaje automático más difíciles en PyTorch.

Cada característica adicional, a veces para copiar los elementos que hicieron popular a PyTorch, hizo que TensorFlow creciera cada vez más para su audiencia original de investigadores y usuarios. Un ejemplo de ello fue la adición de la «eager execution» en 2017, una función nativa de Python que facilita sustancialmente a los desarrolladores el análisis y la depuración de su código.

Presentando a JAX, el futuro del aprendizaje automático en Google

Jeff Dean – SVP, Google AI
Jeff Dean, vicepresidente sénior de IA de Google Thomas Samson/Getty Images

Mientras se desarrollaba la batalla entre PyTorch y TensorFlow, un pequeño equipo de investigación dentro de Google trabajó en un nuevo marco que facilitaría el acceso a los chips personalizados —llamados unidades de procesamiento tensorial o TPU— que subyacen en su enfoque de la IA y eran accesibles solo a través de TensorFlow.

Los investigadores del equipo incluyeron a Roy Frostig, Matthew James Johnson y Chris Leary. Frostig, James Johnson y Leary publicaron un artículo en 2018 titulado «Compilación de programas de machine learning a través del seguimiento de alto nivel», que describe lo que eventualmente se convertiría en JAX.

Adam Paszke, uno de los autores originales de PyTorch en Facebook, también comenzó a trabajar con Johnson en 2019 como estudiante y se unió al equipo de JAX a tiempo completo a principios de 2020.

El nuevo proyecto, JAX, ofreció un diseño más sencillo para manejar uno de los problemas más complejos del aprendizaje automático: distribuir el trabajo de un gran problema en múltiples chips. En lugar de ejecutar fragmentos de código individuales para distintos chips, JAX distribuye automáticamente el trabajo. La demanda provino de una ventaja impresionante de trabajar en Google: acceso inmediato a tantas TPU como necesites para hacer lo que necesites.

Resolvió un problema fundamental al que se enfrentaban los investigadores de Google cuando trabajaban en problemas cada vez más grandes y necesitaban cada vez más poder de cómputo.

Captando el viento de JAX, los desarrolladores e investigadores dentro de Google comenzaron a adoptar el proyecto skunkworks. Ofrecía una manera de omitir gran parte de la incomodidad de TensorFlow para los desarrolladores y propagar rápidamente problemas técnicos complejos en múltiples TPU, dijeron personas familiarizadas con el proyecto.

El mayor desafío de Google con JAX es lograr la estrategia de Meta con PyTorch

Al mismo tiempo, tanto PyTorch como TensorFlow comenzaron de la misma manera. Primero fueron proyectos de investigación, luego curiosidades, luego el estándar en la investigación de machine learning. Luego, los investigadores los sacaron de la academia y los llevaron al resto del mundo.

JAX, sin embargo, enfrenta varios desafíos. La primera es que todavía se basa en otros marcos de muchas maneras. JAX no ofrece una forma de cargar datos y preprocesarlos fácilmente, dicen los desarrolladores y expertos, lo que requiere que TensorFlow o PyTorch manejen gran parte de la configuración.

El marco subyacente de JAX, XLA, también está altamente optimizado para las TPU de Google. El marco también funciona con GPU y CPU más tradicionales, aunque las personas cercanas al proyecto dijeron que el proyecto todavía tenía mucho camino por recorrer para que la optimización de GPU y CPU alcanzara la paridad con las TPU.

Un portavoz de Google dijo que el énfasis en las TPU se debió a la confusión organizativa y estratégica de 2018 a 2021 que condujo a una inversión insuficiente y una priorización subóptima para el soporte de GPU, así como a la falta de colaboración con el proveedor masivo de GPU Nvidia, los cuales están mejorando rápidamente. La propia investigación interna de Google también se centró en gran medida en las TPU, lo que provocó una falta de buenos circuitos de retroalimentación para el uso de la GPU, dijo el portavoz.

Las empresas buscarán cada vez más diversidad de hardware centrado en machine learning

Esa mejora será fundamental en el futuro, ya que las empresas buscan distribuir su trabajo en muchos tipos diferentes de hardware centrado en machine learning, dijo Andrew Feldman, CEO de Cerebras Systems, una empresa emergente de 4,000 millones de dólares que construye grandes chips centrados en el aprendizaje automático.

«Cualquier cosa que se haga para favorecer un hardware sobre otro se reconocerá inmediatamente como un mal comportamiento y será rechazado en la comunidad de código abierto», dijo. «Nadie quiere estar encerrado en un solo proveedor de hardware, por eso surgieron los marcos de machine learning. Los profesionales del machine learning querían asegurarse de que sus modelos fueran portátiles; que pudieran llevarlos a cualquier plataforma de hardware que eligieran y no estar bloqueados en solo una.»

Al mismo tiempo, PyTorch tiene ahora casi 6 años, mucho más allá de la edad en la que TensorFlow comenzó a mostrar signos de desaceleración. No está claro si el proyecto de Meta tendrá un destino similar al de su predecesor respaldado por Google; sin embargo, podría significar que es el momento adecuado para que surja algo nuevo. A su vez, varios expertos y personas cercanas al proyecto recordaron el tamaño de Google y advirtieron a los críticos que nunca descarten al gigante de las búsquedas.

AHORA LEE: La Haus aprovecha el machine learning y la inteligencia artificial para adquirir bienes raíces de forma 100% digital

TAMBIÉN LEE: El SAT descubrió redes de empresarios que evaden impuestos utilizando ‘machine learning’, la base de la inteligencia artificial

Descubre más historias en Business Insider México

Síguenos en FacebookInstagramTwitterLinkedIn, TikTok y YouTube

AHORA VE: