Команда Big ML (машинного обучения) Yahoo!, в которую входят Ли Ян, Джун Ши, Бобби Черн и Энди Фенг, подтвердила, что они предлагают сообществу TensorFlow OnSpark. Это новейшая платформа с открытым исходным кодом для распределенного глубокого обучения в кластерах больших данных.

Команда говорит, что она обнаружила, что для того, чтобы получить представление о больших объемах данных, им необходимо развернуть распределенное глубокое обучение. Но (и вот причина для нового выпуска) они также говорят, что существующие фреймворки DL часто требуют настройки отдельных кластеров для глубокого обучения, вынуждая их создавать несколько программ для конвейера машинного обучения.

По их словам, наличие отдельных кластеров требует от команды передачи больших наборов данных между ними… и это приводит к нежелательной сложности системы и сквозной задержке обучения.

В прошлом году мы решили проблемы масштабирования, разработав и опубликовав «CaffeOnSpark, нашу платформу с открытым исходным кодом, которая позволяет осуществлять распределенное глубокое обучение и обработку больших данных на идентичных кластерах Spark и Hadoop», — подтверждают специалисты.

Команда говорит, что использует CaffeOnSpark для улучшения обнаружения изображений NSFW, чтобы автоматически идентифицировать основные моменты киберспортивных игр из видео в прямом эфире.

Благодаря отзывам и вкладам сообщества CaffeOnSpark был обновлен с поддержкой LSTM, новым уровнем данных, чередованием обучения и тестирования, Python API и развертыванием в контейнерах Docker.

Это было здорово для пользователей нашего Caffe, но что насчет тех, кто использует фреймворк для глубокого обучения «TensorFlow? Мы берем страницу из нашего собственного сборника сценариев и делаем для TensorFlow то же, что сделали для Caffe», — говорят они.

После первоначальной публикации TensorFlow в апреле 2016 года Google выпустила улучшенный TensorFlow с распределенными возможностями глубокого обучения.

В октябре 2016 года TensorFlow представил поддержку HDFS. Однако за пределами облака Google пользователям по-прежнему требовался выделенный кластер для приложений TensorFlow. Программы TensorFlow нельзя было развертывать в существующих кластерах больших данных, что увеличивало затраты и задержки для тех, кто хотел воспользоваться преимуществами этой технологии в масштабе.

По словам команды: Чтобы устранить это ограничение, несколько проектов сообщества подключили TensorFlow к кластерам Spark. В «SparkNet добавлена ​​возможность запуска сетей TensorFlow в исполнителях Spark. Databricks предложила TensorFrame для управления DataFrames Apache Spark с помощью программ TensorFlow. Хотя эти подходы являются шагом в правильном направлении, изучив их код, мы узнали, что не сможем заставить процессы TensorFlow взаимодействовать друг с другом напрямую, мы не сможем реализовать асинхронное распределенное обучение, и нам придется затратить значительные усилия на миграцию существующих программ TensorFlow».

Новая платформа TensorFlowOnSpark (TFoS) предназначена для обеспечения распределенного выполнения TensorFlow в кластерах Spark и Hadoop.

TensorFlowOnSpark поддерживает все типы программ TensorFlow, обеспечивая как асинхронное, так и синхронное обучение и вывод. Он поддерживает параллелизм моделей и параллелизм данных, а также инструменты TensorFlow, такие как TensorBoard, в кластерах Spark.

Команда также говорит, что любую программу TensorFlow можно легко модифицировать для работы с TensorFlowOnSpark. Обычно требуется изменить менее 10 строк кода Python. Многие разработчики Yahoo, использующие TensorFlow, легко перенесли программы TensorFlow для выполнения с помощью TensorFlowOnSpark.

Исходный пост