AWS против Paperspace против FloydHub: выбор партнера по облачным GPU

Благодаря глубокому обучению, которое сегодня оставило свой след почти во всех отраслях, спрос, а также интерес к таким ролям, как «Data Scientist», «ML / DL engineer», «AI Scientist» и т. Д., Выросли беспрецедентно. Все больше и больше студентов, молодых выпускников и профессионалов отрасли осознают необходимость быть в курсе этих новых технологий и проходят курсы, сертификацию и работу в этих областях. Как только вы решите перейти в домен, первое, что вам нужно, - это высокая вычислительная мощность. Вот тут и приходят графические процессоры.

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

Более того, просто сборки компонентов недостаточно. Вам нужно настроить все необходимые библиотеки и совместимые драйверы, прежде чем вы сможете приступить к обучению своей первой модели. Люди все еще идут по этому пути, и если вы планируете широко использовать глубокое обучение (> 150 часов в месяц), создание собственной рабочей станции для глубокого обучения может быть правильным решением.

Лучшей и более дешевой альтернативой является использование облачных графических серверов, предоставляемых такими компаниями, как Amazon, Google, Microsoft и другими, особенно если вы только взламываете этот домен и планируете использовать вычислительные мощности для обучения и экспериментов. Я использую AWS, Paperspace и FloydHub в течение последних 4–5 месяцев. Облачная платформа Google и Microsoft Azure были похожи на AWS по своим ценам и предложениям, поэтому я остановился на упомянутых выше трех.

AWS: самый популярный поставщик облачных услуг. Предлагает защищенные и масштабируемые экземпляры GPU вместе с дополнительными интеграциями AI, такими как Polly, Rekognition, Lex и AWS Machine Learning (доступны в некоторых регионах).

Paperspace: облачные виртуальные машины с поддержкой графических процессоров для игр, проектирования и программирования (ML / DL). Предлагает новейшие графические процессоры NVIDIA, а также предустановленные пакеты и несколько платформ DL по конкурентоспособным ценам.

FloydHub: позиционируемый как «Heroku for DL», Floyd продвигает сотрудничество с открытым исходным кодом, представляя публичные проекты и наборы данных. Имеет собственный CLI для обучения моделей с использованием Caffe, PyTorch, Chainer, MxNet, TF, Keras и других.

Выберите экземпляр p2.xlarge с эластичным IP-адресом и томом EBS 30 ГБ (часть уровня Free) в AWS, GPU Ubuntu ML-in-a-a-box + виртуальная машина на 50 ГБ в Paperspace и план Base Data Scientist без каких-либо усилений на FloydHub.

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

[UPDATE | Май 2018]: этому посту уже более 6 месяцев. В эту эпоху постоянно меняющихся технологий с обновлениями аппаратного и программного обеспечения любые сравнения между различными технологическими платформами быстро устаревают. Таким образом, я добавил фрагменты разделов ОБНОВЛЕНИЯ в соответствующих местах этого поста и один, чтобы подвести итог всему этому, в конце. Однако обновления ни в коем случае нельзя считать исчерпывающими.

Простота настройки:

Настроить полностью настроенный экземпляр в AWS сложно, несмотря на наличие подробных руководств по настройке в Интернете. Для настройки тома EBS, настройки выделенных IP-адресов, а также установки необходимых пакетов, программных средств и библиотек DL необходимо запустить соответствующие сценарии оболочки. Конечно, вы можете использовать некоторые из свободно доступных AMI Deep Learning. Тем не менее, они все еще требуют немного усилий.

С другой стороны, Paperspace и FloydHub гордятся тем, что позволяют своим пользователям устанавливать экземпляры в течение нескольких минут. С FloydHub вы должны установить отдельный CLI. Тем не менее, приведенные инструкции довольно понятны, и как только вы войдете в систему, вы окажетесь в разных средах DL. Установка дополнительных пакетов тоже не сложна. В Paperspace вы также можете запустить свой экземпляр за несколько кликов, хотя для некоторых дополнительных пакетов и каркасов может потребоваться установка вручную.

Пользовательский опыт :

Загрузка / загрузка наборов данных - самая большая проблема при использовании облачных сервисов GPU. С AWS FileZilla Client может использоваться для передачи файлов. Использование таких команд, как curl и wget из терминала, не всегда работает, и нужно полагаться на другие хаки с открытым исходным кодом. AWS, однако, позволяет легко загружать / выгружать данные для соревнований Kaggle через kaggle-cli. Paperspace предоставляет оптоволоконный интернет 1 Гбит / с и веб-браузер. В настоящее время он также предоставляет функцию перетаскивания для машин Windows (скоро для Linux) для прямой передачи файлов с локального компьютера на виртуальную машину. При использовании FloydHub необходимо загрузить набор данных локально, а затем загрузить его в свою учетную запись. Код и данные должны храниться отдельно в вашей локальной системе, так как при каждом запуске сценария загружается все содержимое папки.

Paperspace и FloydHub, будучи новичками в этом блоке, отстают от AWS с точки зрения поддержки сообщества с открытым исходным кодом, доступности учебных пособий и видеоэкспериментов. Тем не менее, их официальная документация и примеры достаточно полны.

Что следует отметить: Floyd CLI требует некоторого времени для привыкания. Многие процессы отличаются от стандартного использования терминала или настольного компьютера. Следовательно, хорошей идеей является неукоснительно просматривать документацию и часто задаваемые вопросы по FloydHub. Если вы являетесь пользователем Paperspace далеко от США (Восточная Европа / Азия), ожидайте некоторой задержки при использовании среды рабочего стола.

Предлагаемое аппаратное / программное обеспечение:

AWS и FloydHub используют графические процессоры Tesla K80 (12 ГБ vRAM) и 61 ГБ ОЗУ, в то время как Paperspace имеет опции для Quadro M4000 (8 ГБ vRAM), пары из серии Pascal (16–24 ГБ vRAM) и даже новейшей серии Volta, Tesla V100 (16 ГБ vRAM) ), каждый с 30 ГБ оперативной памяти. Чтобы дать приблизительную оценку, графические процессоры серии Pascal в 3 раза быстрее K80, а V100 в 6 раз быстрее K80. AWS и Paperspace также используют SSD и выделенные экземпляры графических процессоров, тогда как FloydHub предлагает выбор между приоритетными и выделенными графическими процессорами.

Обычный способ запуска сценариев на этих сервисах - через записные книжки Jupyter или их непосредственное выполнение на терминале. Paperspace, благодаря предоставлению среды рабочего стола, также позволяет использовать IDE, такие как Spyder и другие служебные программы. Наличие рабочего стола Linux очень удобно.

[ОБНОВЛЕНИЕ | Май 2018 года]: все трое (AWS / Paperspace / FloydHub) теперь обновили себя до графических процессоров NVIDIA Volta, что теперь делает возможным сверхбыстрое обучение и умственный вывод. Что касается программного обеспечения и фреймворков, AWS обновил свой Deep Learning AMI, который включает в себя предустановленные фреймворки, такие как Chainer, TensorFlow, Keras, PyTorch. FloydHub уже имеет последние версии всех этих фреймворков.

Представление :

В качестве контрольного упражнения я сравнил обучение нескольких моделей на всех трех платформах в одной среде (Keras + Theano на Jupyter).
AWS - p2.xlarge (Tesla K80, 12 ГБ vRAM, 61 ГБ ОЗУ)
Paperspace - GPU + VM (Quadro M4000, 8 ГБ vRAM, 30 ГБ ОЗУ)
FloydHub - Tesla K80, 12 ГБ vRAM, 61 ГБ (эквивалент базового плана)

Были обучены две модели - глубокая модель CNN с Dropout на наборе данных Fashion MNIST и отлаженная предварительно обученная сеть VGG16 для задачи классификации изображений продуктового продукта. Их производительность изображена ниже.

Производительность модели на разных платформах (чем меньше, тем лучше)

AWS p2.xlarge и Paperspace GPU + имеют почти эквивалентную производительность, а AWS на шаг впереди. Если мы используем версии Pascal на Paperspace, которые все еще дешевле, чем AWS, производительность модели, как ожидается, будет в 3 раза выше, чем AWS. Несмотря на использование того же оборудования, FloydHub работает на скорости ~ 0,75x от AWS, скорее всего из-за более медленной скорости чтения с диска.

[ОБНОВЛЕНИЕ | Май 2018 года]: это, пожалуй, самое интересное обновление. Выполняя те же эксперименты / сценарии, которые упоминались выше, недавно я обнаружил огромное улучшение времени обучения на FloydHub. Последние цифры показывают, что они на одном уровне с AWS или Paperspace GPU + или даже лучше. Похоже, что FloydHub исправил проблемы с вводом / выводом, и, обновившись до последних версий TensorFlow, Keras и PyTorch, он, похоже, сотворил чудеса для этой платформы. Сценарий Fashion MNIST теперь занимает 8 с / эпоха во время тренировки, тогда как сценарий предварительно обученного VGG16 теперь занимает гораздо меньше времени (~ 100 с / эпоха). Хотя я не проверял, принесла ли Paperspace какие-то улучшения, AWS определенно этого не сделал. Итак, на данный момент FloydHub считается самым быстрым среди трех.

Дополнительные возможности :

И Paperspace, и FloydHub предлагают индивидуальные планы для команд. Тем не менее, связанные с этим функции Floyd, такие как централизованное совместное использование наборов данных / проектов, управление версиями различных заданий для легкой воспроизводимости и поддержка fast.ai и UDacity MOOC, способствуют совместной работе и создают атмосферу открытого исходного кода. Флойд также позволяет выполнять параллельные задания. AWS предлагает экземпляры с несколькими GPU, тогда как FloydHub и Paperspace поддерживают только системы с одним GPU.

[ОБНОВЛЕНИЕ | Май 2018 г.]. Несмотря на то, что AWS уделяет больше внимания боковым приложениям, предпочитающим корпоративные и производственные системы, Paperspace и FloydHub представили множество новых функций, улучшающих простоту использования и доступность графических процессоров для широкой публики в целом. Некоторые из них были:
[FloydHub]: слабая интеграция, способствующая использованию в разных командах
[FloydHub]: интерфейс управления заданиями, панель показателей
[FloydHub]: бета-версия новой интерактивной среды (похожей на виртуальную машину в облаке), которая называется Workspace
[Paperspace]: Сотрудничество в качестве официального партнера для курса Джереми Ховарда fast.ai
[Paperspace]: Paperspace Gradient и API, а также их собственный CLI, которые являются соответственно инструментами для эффективного выполнения ваших заданий в облаке и devkit для автоматизации ваших ВМ / заданий (подходит для DevOps!)
Благодаря совместной работе с Workspace, Gradient и fast.ai, FloydHub и Paperspace стали ближе предлагать аналогичные функции.

Цены:

Ценообразование, пожалуй, самый важный критерий отбора. В настоящее время выставление счетов производится пропорционально в секунду для AWS и FloydHub и с точностью до миллисекунды для Paperspace.

Экземпляры AWS GPU начинаются с $ 0,9 / час с объемом свободной EBS 30 ГБ в рамках программы Free Tier. Объем SSD 100 ГБ + эластичный IP обойдется в дополнительные 13 долларов в месяц. AWS также предоставляет спотовые экземпляры, которые намного дешевле, но очень подвержены колебаниям цен и, следовательно, не являются надежным вариантом.

Paperspace предлагает графические процессоры серии Maxwell по цене 0,4 доллара США в час и графические процессоры Pascal по цене 0,65 доллара США в час. Твердотельный накопитель на 100 ГБ с публичным IP будет стоить 7 долларов в месяц. Дополнительные коммунальные услуги также предоставляются.

Недавно FloydHub перешел от модели оплаты по факту к четко определенным ежемесячным планам. План Base Data Scientist стоит 14 долларов в месяц за 10 часов графического процессора и 100 ГБ памяти. Дополнительные предварительно оплачиваемые часы GPU можно купить, начиная с $ 0,59 / час. Премия взимается за выделенные экземпляры GPU.

[ОБНОВЛЕНИЕ | Май 2018 г.]: структура цен FloydHub существенно изменилась, в то время как структура AWS и Paperspace остается практически неизменной. Paperspace по-прежнему остается самым доступным вариантом.

Развертывание:

Я не пытался развернуть модель ни на одном из них. Floyd предоставляет однострочную команду для развертывания вашей модели как REST API. AWS имеет множество связанных сервисов для дальнейшего улучшения процесса развертывания приложений. Буду обновлять, как только я их исследую.

Обобщая ключевые аспекты в таблице ниже.

Сравнение ключевых аспектов поставщиков услуг GPU на облаке
[ОБНОВЛЕНИЕ | Май 2018 года]: в приведенной выше таблице нет особых изменений, за исключением раздела «Производительность», где FloydHub является самым быстрым в настоящее время. В области аппаратного и программного обеспечения все три находятся на уровне разметки.

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