Colab феноменален для начала глубокого обучения, но как он сочетается с ультрабуком eGPU +?

Глубокое обучение стоит дорого. Графические процессоры незаменимы даже для самых простых задач. Для людей, которым нужна лучшая вычислительная мощность по запросу, новый компьютер будет стоить более 1500 долларов, а заимствование вычислительной мощности с услугами облачных вычислений при интенсивном использовании может легко стоить более 100 долларов в месяц. Это абсолютно нормально для бизнеса, но для среднего человека это складывается.

Из-за этого 2 месяца назад я сделал свою первую крупную покупку, чтобы получить разумную вычислительную мощность. У меня уже есть более старый XPS 15 с небольшим графическим процессором (GTX 960m, который просто не режет его), поэтому я решил купить ядро ​​Razer + NVIDIA GTX 1080, и у меня сразу же была примерно в 4 раза больше вычислительной мощности, чем раньше, для под 450 долларов (купил их как б / у). Это была такая большая трансформация, что я написал статью среднего размера, подробно описывающую весь процесс и результаты (вы можете прочитать это здесь).

Статья была очень хорошо принята, но несколько читателей и моих коллег задали мне вопрос: «Как это сочетается с colab?» И на все это я отвечал, что слышал о людях, которым это нравится, но никогда не думал об этом. В конце концов, насколько хорошим может быть бесплатный графический процессор?

Прежде чем перейти к результатам, я расскажу немного о самом Colab. Colab - это продукт, разработанный Google Research, чтобы каждый мог выполнять код Python. Он полностью запускается в браузере и использует Google Диск в качестве основного хранилища файлов. Это позволяет легко делиться им и полностью находится в облаке. (Вы можете просмотреть хорошее введение в colab здесь)

Загвоздка в том, что вычислительные ресурсы не гарантированы, а это означает, что вы получаете то, что Google в настоящее время не использует. Colab заявляет, что в большинстве случаев это означает, что назначенный графический процессор будет выбран из Nvidia K80s, T4s, P4s и P100s. Другая загвоздка в том, что если вы временно не используете Colab, он назначит эти ресурсы кому-то другому. И это, в моих тестах, было не очень прощающим. Даже за то время, которое мне потребовалось, чтобы вывести собаку в ванную, у меня были таймауты. Это может раздражать, если вы позволите чему-то работать, сделаете что-то еще и не сохраните результаты после завершения. Последний недостаток - 12-часовое ограничение на время работы. Большинству людей не стоит беспокоиться об этом, но для больших проектов, где настройка может занять некоторое время, это может вызвать проблемы.

Теперь, когда я объяснил, что такое Colab, я могу объяснить, как я его тестировал. Подобно тому, что я использовал для тестирования своего eGPU в своей предыдущей статье, я использовал AI Benchmark, невероятно простую, но мощную библиотеку Python, которая использует Tensorflow для запуска 42 тестов в 19 различных разделах, обеспечивая отличный общий балл AI для GPU. Затем я инициализировал среду выполнения 15 раз и каждый раз запускал тест AI, записывая результаты, а также назначенный графический процессор - я получил K80 10 раз, P100 4 раза и T4 один раз (я никогда не получал P4, но он должен работать чуть хуже, чем Т4) - вот результаты скорости!

Как видите, результаты сильно различаются: лучший графический процессор работал почти в 4 раза быстрее, чем самый медленный, который они могли назначить, но для бесплатного графического процессора все они феноменальны. Я был потрясен тем, что все это бесплатно. Все они обеспечивают 12+ гигабайт оперативной памяти, достаточно для большинства проектов, а P100, когда он назначен, имеет скорость, близкую к совершенно новому RTX 2070. Даже K80, который является самым медленным и наиболее распространенным, работает немного хуже, чем GTX 1050 Ti, который по-прежнему стоит 150 долларов за графический процессор.

Как это соотносится с моим eGPU? Честно говоря, сложилось очень хорошо. Ниже приведен тот же график, рядом с которым изображена моя установка 1080!

В среднем случае Colab собирается назначить пользователям K80, а GTX 1080 примерно вдвое быстрее, что не особенно хорошо для Colab. Однако иногда, когда назначается P100, P100 является абсолютным убийцей GPU (опять же, БЕСПЛАТНО). Из-за того, насколько хорош P100, при сравнении среднего случая вы можете увидеть, что два результата не сильно отличаются, мой eGPU в среднем работал только примерно на 15% лучше.

Итак, если вы хотите заняться машинным обучением (или хотите обновить текущую настройку), что вам следует делать? Моя личная рекомендация заключается в том, что если вы только хотите заняться машинным обучением (по крайней мере, для начала), пройти курс машинного обучения первого уровня или вам не потребуются постоянно вычислительные ресурсы, Colab - это абсолютно несложно. Вычисления, которые он предоставляет бесплатно, огромны.

Однако, если вы чувствуете себя ограниченными предложениями Colab, возможно, вам нужны более высокие скорости, постоянное знание своих ресурсов, требуется длительное время обучения, вы хотите использовать язык, отличный от Python, или планируете использовать свой графический процессор не только для машин обучающих задач, eGPU (или выделенный графический процессор), вероятно, подойдет вам лучше!

Я также не хотел заканчивать эту статью без упоминания Colab Pro. За 10 долларов в месяц вы получаете более высокие лимиты использования и получаете приоритет использования на более быстрых процессорах. Это отличная альтернатива облачным вычислениям по действительно доступной цене, если вам нравится Colab, но вас беспокоят его скорость и ограничения по использованию!

Если вам понравилась эта статья, подпишитесь на меня, чтобы узнать больше о науке о данных!





Изменить: 25/11/20 - В этой статье я протестировал свой eGPU на новом ноутбуке с более быстрым соединением 40 Гбит / с и увидел гораздо лучшие результаты AI, что сделало его более конкурентоспособным с Colab.