TensorFlow 0.8 может использовать распределенные вычисления


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

Если вы думаете, что создание модели нейронной сети — большая проблема в искусственном интеллекте, то вы никогда не пытались ее обучать. Есть интеллектуальная проблема в понимании архитектуры нейронной сети, но есть практическая проблема в том, чтобы выяснить, делает ли она что-нибудь полезное. Чтобы быть точным, вам нужны не только большие объемы данных, но и объемы скважинных нефтеналивных танкеров, вам также потребуются вычислительные мощности, чтобы справиться с этим. Вообще одной машины даже с хорошей видеокартой мало.
Это была основная проблема недавно выпущенной программы TensorFlow. Это очень хороший инструмент для определения всевозможных расчетных моделей, но ждать, пока они будут вычислены, часто было просто непрактично. Было объявлено, что Google не будет открывать исходный код версии TensorFlow, которая работает в облачных средах, но версия, которая работает на распределенном оборудовании, была обещана с первым выпуском.

В исследовательском блоге Google указывается, что —
«Распределенный TensorFlow основан на высокопроизводительной библиотеке gRPClibrary, которая поддерживает обучение на сотнях параллельных компьютеров. Она дополняет наш недавний анонс машинного обучения Google Cloud, который позволяет вам обучать и обслуживать свои модели TensorFlow, используя возможности Google Cloud. Платформа.»
Итак, если вы хотите использовать собственное оборудование, у вас может быть открытый исходный код, но если вы хотите использовать оборудование Google, вы должны иметь его как услугу.
Если вы сомневаетесь, насколько важна распределенная версия, Google также предоставил распределенный обучающий модуль для хорошо известной архитектуры Inception. Вы можете увидеть влияние на время тренировки на графике ниже:
Вы также можете видеть, что чем больше оборудования вы вкладываете в решение проблемы, тем меньше пользы — но в этой конкретной игре оно того стоит. Длительное время обучения означает, что вы не можете эффективно экспериментировать с новыми методами, и даже настройка сети становится сложной. Стоит отметить, что обучение Inception с использованием 8 графических процессоров занимает около 2 недель. Это заняло всего 65 часов с 100 GPUS.
Однако стоит также отметить, что TensorFlow имеет репутацию не самой быстрой доступной программы для нейронных сетей, поэтому это ускорение вдвойне полезно, поскольку оно гибкое и простое в использовании.
Конечно, в 0.8 есть и другие новые функции. В частности, есть новые библиотеки для распределенных моделей.
«Чтобы упростить использование TensorFlow, мы включили библиотеки Python, которые упрощают написание модели, работающей в одном процессе и масштабируемой для использования нескольких реплик для обучения».
Похоже, что TensorFlow станет еще большим хитом в будущем. За последний год репозиторий GitHub был разветвлен более 4000 раз, что сделало его одним из самых популярных проектов.


Добавить комментарий