Por qué las empresas están cambiando de TensorFlow a PyTorch

Una subcategoría del aprendizaje automático, el aprendizaje profundo utiliza redes neuronales multicapa para automatizar tareas mecánicas históricamente difíciles, como el reconocimiento de imágenes, el procesamiento del lenguaje natural (NLP) y la traducción automática, a escala.

TensorFlow, que surgió de Google en 2015, ha sido el marco de aprendizaje profundo de código abierto más popular tanto para la investigación como para los negocios. Pero PyTorch, que surgió de Facebook en 2016, se ha puesto al día rápidamente gracias a las mejoras impulsadas por la comunidad en la facilidad de uso y la implementación para una amplia gama de casos de uso.

PyTorch está experimentando una adopción particularmente fuerte en la industria automotriz, donde se puede aplicar a sistemas piloto de conducción autónoma como Tesla y Lyft Level 5. El marco también se está utilizando para la clasificación y recomendación de contenido en las empresas de medios y para ayudar a los robots de soporte. en aplicaciones industriales.

Joe Spisak, líder de productos de inteligencia artificial en Facebook AI, dijo que, aunque está satisfecho con el aumento en la adopción empresarial de PyTorch, todavía queda mucho trabajo por hacer para lograr una adopción más amplia de la industria.

“La próxima ola de adopción vendrá con la habilitación de la gestión del ciclo de vida, MLOps y canalizaciones de Kubeflow y la comunidad que lo rodea”, dijo. "Para los que están al principio del viaje, las herramientas son bastante buenas, utilizan servicios administrados y algo de código abierto con algo como SageMaker en AWS o Azure ML para comenzar".

Disney: identificando caras animadas en películas

Desde 2012, los ingenieros y científicos de datos del gigante de los medios Disney han estado construyendo lo que la compañía llama Content Genome, un gráfico de conocimiento que reúne metadatos de contenido para impulsar aplicaciones de búsqueda y personalización basadas en aprendizaje automático en la enorme biblioteca de contenido de Disney.

“Estos metadatos mejoran las herramientas que utilizan los narradores de Disney para producir contenido; inspirar la creatividad iterativa en la narración de historias; potenciar las experiencias del usuario a través de motores de recomendación, navegación digital y descubrimiento de contenido; y habilitar la inteligencia empresarial ”, escribieron los desarrolladores de Disney Miquel Àngel Farré, Anthony Accardo, Marc Junyent, Monica Alfaro y Cesc Guitart en una publicación de blog en julio.

Antes de que eso pudiera suceder, Disney tuvo que invertir en un vasto proyecto de anotación de contenido, recurriendo a sus científicos de datos para capacitar una línea de etiquetado automatizada utilizando modelos de aprendizaje profundo para el reconocimiento de imágenes para identificar grandes cantidades de imágenes de personas, personajes y ubicaciones.

Los ingenieros de Disney comenzaron experimentando con varios marcos, incluido TensorFlow, pero decidieron consolidarse alrededor de PyTorch en 2019. Los ingenieros cambiaron de un descriptor de características de histograma convencional de gradientes orientados (HOG) y el popular modelo de máquinas de vectores de soporte (SVM) a una versión de la arquitectura de detección de objetos denominó regiones con redes neuronales convolucionales (R-CNN). Este último fue más propicio para manejar las combinaciones de acción en vivo, animaciones y efectos visuales comunes en el contenido de Disney.

“Es difícil definir qué es una cara en una caricatura, así que cambiamos a métodos de aprendizaje profundo usando un detector de objetos y usamos el aprendizaje por transferencia”, explicó la ingeniera de Disney Research, Monica Alfaro. Después de que se procesaron solo unos pocos miles de rostros, el nuevo modelo ya identificaba ampliamente los rostros en los tres casos de uso. Entró en producción en enero de 2020.

"Estamos usando un solo modelo ahora para los tres tipos de rostros y eso es genial para una película de Marvel como Avengers, donde necesita reconocer tanto a Iron Man como a Tony Stark, o cualquier personaje que use una máscara", dijo.

Dado que los ingenieros están lidiando con volúmenes tan altos de datos de video para entrenar y ejecutar el modelo en paralelo, también querían ejecutar GPU costosas y de alto rendimiento al pasar a producción.

El cambio de las CPU permitió a los ingenieros volver a entrenar y actualizar los modelos más rápido. También aceleró la distribución de resultados a varios grupos en Disney, reduciendo el tiempo de procesamiento de aproximadamente una hora para un largometraje a obtener resultados en entre cinco y 10 minutos en la actualidad.

“El detector de objetos TensorFlow trajo problemas de memoria en producción y fue difícil de actualizar, mientras que PyTorch tenía el mismo detector de objetos y Faster-RCNN, así que comenzamos a usar PyTorch para todo”, dijo Alfaro.

Ese cambio de un marco a otro también fue sorprendentemente simple para el equipo de ingeniería. “El cambio [a PyTorch] fue fácil porque todo está integrado, solo se conectan algunas funciones y se puede comenzar rápido, por lo que no es una curva de aprendizaje empinada”, dijo Alfaro.

Cuando encontraron algún problema o cuello de botella, la vibrante comunidad de PyTorch estuvo disponible para ayudar.

Tecnología Blue River: robots que matan las malas hierbas

Blue River Technology ha diseñado un robot que utiliza una combinación embriagadora de orientación digital, cámaras integradas y visión por computadora para rociar las malezas con herbicida mientras deja los cultivos solos casi en tiempo real, lo que ayuda a los agricultores a conservar de manera más eficiente herbicidas costosos y potencialmente dañinos para el medio ambiente.

La compañía con sede en Sunnyvale, California, llamó la atención del fabricante de equipos pesados ​​John Deere en 2017, cuando fue adquirida por $ 305 millones, con el objetivo de integrar la tecnología en su equipo agrícola.

Los investigadores de Blue River experimentaron con varios marcos de aprendizaje profundo mientras intentaban entrenar modelos de visión por computadora para reconocer la diferencia entre malezas y cultivos, un desafío enorme cuando se trata de plantas de algodón, que tienen un parecido desafortunado con las malezas.

Se seleccionó a agrónomos altamente capacitados para realizar tareas manuales de etiquetado de imágenes y entrenar una red neuronal convolucional (CNN) utilizando PyTorch "para analizar cada cuadro y producir un mapa con precisión de píxeles de dónde están los cultivos y las malezas", Chris Padwick, director de informática visión y aprendizaje automático en Blue River Technology, escribió en una publicación de blog en agosto.

"Al igual que otras empresas, probamos Caffe, TensorFlow y luego PyTorch", dijo Padwick. “Funciona prácticamente de inmediato para nosotros. No hemos recibido informes de errores ni ningún error de bloqueo. En la computación distribuida, realmente brilla y es más fácil de usar que TensorFlow, que para los paralelismos de datos fue bastante complicado ".

Padwick dice que la popularidad y la simplicidad del marco de PyTorch le dan una ventaja cuando se trata de aumentar rápidamente las nuevas contrataciones. Dicho esto, Padwick sueña con un mundo en el que “las personas se desarrollen en aquello con lo que se sientan cómodas. Algunos como Apache MXNet o Darknet o Caffe para la investigación, pero en la producción tiene que estar en un solo idioma, y ​​PyTorch tiene todo lo que necesitamos para tener éxito ”.

Datarock: análisis de imágenes basado en la nube para la industria minera

Fundada por un grupo de geocientíficos, la startup australiana Datarock está aplicando tecnología de visión por computadora a la industria minera. Más específicamente, sus modelos de aprendizaje profundo están ayudando a los geólogos a analizar imágenes de muestras de testigos de perforación más rápido que antes.

Por lo general, un geólogo estudiaría detenidamente estas muestras centímetro a centímetro para evaluar la mineralogía y la estructura, mientras que los ingenieros buscarían características físicas como fallas, fracturas y calidad de la roca. Este proceso es lento y propenso a errores humanos.

"Una computadora puede ver rocas como lo haría un ingeniero", dijo Brenton Crawford, director de operaciones de Datarock. "Si puede verlo en la imagen, podemos entrenar un modelo para analizarlo tan bien como un humano".

Al igual que Blue River, Datarock utiliza una variante del modelo RCNN en producción, y los investigadores recurren a técnicas de aumento de datos para recopilar suficientes datos de entrenamiento en las primeras etapas.

“Tras el período de descubrimiento inicial, el equipo se propuso combinar técnicas para crear un flujo de trabajo de procesamiento de imágenes para las imágenes del núcleo de perforación. Esto implicó el desarrollo de una serie de modelos de aprendizaje profundo que podrían procesar imágenes sin procesar en un formato estructurado y segmentar la información geológica importante ”, escribieron los investigadores en una publicación de blog.

Con la tecnología de Datarock, los clientes pueden obtener resultados en media hora, a diferencia de las cinco o seis horas que lleva registrar los hallazgos manualmente. Esto libera a los geólogos de las partes más laboriosas de su trabajo, dijo Crawford. Sin embargo, "cuando automatizamos cosas que son más difíciles, obtenemos cierto rechazo y tenemos que explicar que son parte de este sistema para entrenar a los modelos y hacer que el ciclo de retroalimentación gire".

Como muchas empresas que entrenan modelos de visión por computadora de aprendizaje profundo, Datarock comenzó con TensorFlow, pero pronto pasó a PyTorch.

"Al principio usamos TensorFlow y nos chocaba por razones misteriosas", dijo Duy Tin Truong, líder de aprendizaje automático en Datarock. “PyTorch y Detecton2 se lanzaron en ese momento y se adaptaron bien a nuestras necesidades, por lo que después de algunas pruebas vimos que era más fácil depurar y trabajar y ocupaba menos memoria, por lo que convertimos”, dijo.

Datarock también informó una mejora de 4 veces en el rendimiento de inferencia de TensorFlow a PyTorch y Detectron2 cuando se ejecutan los modelos en GPU, y 3 veces en CPU.

Truong citó la creciente comunidad de PyTorch, la interfaz bien diseñada, la facilidad de uso y la mejor depuración como razones para el cambio y señaló que, aunque “son bastante diferentes desde el punto de vista de la interfaz, si conoce TensorFlow, es bastante fácil cambiar , especialmente si conoces Python ".