Llegamos a ustedes gracias a:



Noticias

LinkedIn introduce una herramienta para ejecutar TensorFlow en Hadoop

[18/09/2018] LinkedIn ha desarrollado un proyecto de código abierto para escalar y gestionar trabajos de aprendizaje profundo en TensorFlow, utilizando el sistema de programación de trabajos YARN (Yet Another Resource Negotiator) en Hadoop.

El proyecto Tony surgió después de que LinkedIn intentara utilizar dos soluciones de código abierto existentes para ejecutar trabajos TensorFlow programados en Hadoop, y encontrara que ambos eran deficientes. Ya existen algunos proyectos para ejecutar TensorFlow en Hadoop, pero LinkedIn no estaba satisfecho con ellos. Uno, TensorFlow en Spark, ejecuta TensorFlow a través del motor de trabajo de Apache Spark, pero se acopla demasiado estrechamente con Spark. Otro, TensorFlowOnYARN, proporciona la misma funcionalidad básica que Tony, pero no se mantiene y no proporcionó tolerancia a fallas.

Los modelos de aprendizaje profundo en TensorFlow necesitan alguna forma de gestión de trabajos. Los modelos de formación pueden durar horas o días, y el proceso de formación necesita alguna garantía de que puede completarse correctamente.

Tony utiliza el sistema de programación de recursos y tareas de YARN para configurar los trabajos TensorFlow en un clúster Hadoop, según las notas de prensa de LinkedIn. Tony también puede programar trabajos TensorFlow basados en la GPU a través de Hadoop, solicitar diferentes tipos de recursos (GPUs vs. CPUs), o asignar memoria de forma diferente para los nodos TensorFlow, y asegurarse de que los resultados de los trabajos se guardan periódicamente en HDFS y se reanudan desde donde se dejaron en caso de falla o interrupción.

Tony divide su trabajo en tres componentes internos: un cliente, un maestro de aplicaciones y un ejecutor de tareas. El cliente acepta los trabajos entrantes de TensorFlow; el maestro de aplicaciones negocia con el administrador de recursos de YARN para aprovisionar el trabajo en YARN; y el ejecutor de tareas es lo que realmente se lanza en el clúster de YARN para ejecutar el trabajo de TensorFlow.

LinkedIn afirma que no hay una sobrecarga perceptible para los trabajos TensorFlow cuando se utiliza Tony, porque Tony "está en la capa que orquesta el TensorFlow distribuido y no interfiere con la ejecución real del trabajo de TensorFlow".

Tony también trabaja con la aplicación TensorBoard para visualizar, optimizar y depurar las aplicaciones TensorFlow.