TensorFlow, PyTorch y JAX, los principales marcos de ‘deep learning’

Dedo señalando pantalla digital

Tres marcos ampliamente utilizados están liderando el camino en la investigación y producción de aprendizaje profundo en la actualidad. Uno es famoso por su facilidad de uso, otro por sus características y madurez, y otro por su inmensa escalabilidad

El aprendizaje profundo (deep learning en su expresión inglesa) está cambiando nuestras vidas a diario. Ya sea que Siri o Alexa sigan nuestros comandos de voz, las aplicaciones de traducción en tiempo real en los teléfonos o la tecnología de visión artificial que habilitan vehículos inteligentes o robots de almacén, entre otros casos de uso. Y casi todos estos avances están escritos en uno de los tras marcos o códigos más famosos: TensorFlow, PyTorch y JAX. Pero, ¿cómo es la comparación entre ellos?

Banner_frasco-suscripcion-800x250

¿Se debería usar TensorFlow?

“Nunca nadie fue despedido por comprar IBM” fue el grito de guerra del sector de la informática en las décadas de 1970 y 1980, y lo mismo podría decirse sobre el uso de TensorFlow en la década de 2010 para el deep learning. Como es sabido, el Gigante Azul se quedó en el camino cuando entramos en los 90. ¿TensorFlow sigue siendo competitivo en este nuevo decenio, siete años después de su lanzamiento inicial en 2015?

Lo cierto es que este marco no se ha detenido en todo este tiempo. TensorFlow 1.x tenía que ver con la creación de gráficos estáticos de una manera muy diferente a Python, pero con la línea TensorFlow 2.x también se pueden crear modelos para la evaluación inmediata de las operaciones con un nivel similar a PyTorch. En el nivel alto, TensorFlow brinda optimización de velocidad, conocido como XLA, que aumenta rendimiento de las GPU y es el método principal para aprovechar la potencia de las unidades de procesamiento de tensor (TPU) de Google para entrenar modelos a gran escala.

Por otra parte, este marco ha estado haciendo bien cosas durante estos años. Por ejemplo, está Swing para servir modelos repetidos en plataformas maduras; y TensorFlow.js y Lite para reorientar las implementaciones de modelos para web, computación de bajo consumo como smartphones o para el Internet de las Cosas (IoT, de sus siglas inglesas). Además, teniendo en cuenta que Google todavía ejecuta el 100% de sus implementaciones de producción con TensorFlow, es fácil manejar la escalabilidad.

En cualquier caso, también ha existido una cierta falta de energía en torno al proyecto que no se ha de ignorar. La actualización a TensorFlow 2.x fue brutal. Algunas empresas analizaron el esfuerzo necesario para actualizar su código y decidieron transportarlo a PyTorch. Por otra parte, también perdió fuerza en la comunidad de investigación, que comenzó a preferir la flexibilidad de este último rival.

El caso Keras tampoco ha ayudado. Se convirtió en una parte integrada de los lanzamientos del marco hace dos años, pero recientemente se retiró a una biblioteca separada con su propio calendario de lanzamiento. Dividir Keras no es algo que afecte a la vida cotidiana de un desarrollador, pero una reversión de tan alto perfil en una revisión menor del marco no inspira confianza.

Dicho todo esto, TensorFlow es confiable y alberga un extenso ecosistema para el aprendizaje profundo. Pude crear aplicaciones y modelos que funcionen en todas las escalas.

Conoce más aquí


Reciba las últimas noticias de la industria en su casilla:

Suscribirse ✉