"Облачные вычисления"

Выбор типа машины на платформе Google AI для моделей обнаружения объектов обучения

Когда мои студенты начали жаловаться на то, что они не могут обучить свои модели глубокого обучения на платформе Google AI, я подумал, что у них, вероятно, где-то есть небольшая ошибка. Возможно, они неправильно использовали команду, которую я им дал. Может, забыли настроить какие-то вещи на платформе AI. Или просто где-то опечатку сделали.

Курс, на который были зачислены мои студенты, был посвящен тому, как обучать и оценивать модели глубокого обучения для обнаружения объектов (более быстрый RCNN, SSD и YOLOv3) с помощью Tensorflow 2. Один из последних шагов, когда дело доходит до проведения обучения в Google AI. Платформа должна была запустить команду, упомянутую в исходном репозитории github для API обнаружения объектов Tensorflow. Хотя эта точная команда на самом деле не работает, я внес необходимые изменения, чтобы она работала.

Но только после того, как я провел некоторое время с двумя своими учениками, пытаясь отладить проблему, я понял кое-что важное. Есть несколько факторов, которые влияют на ваш выбор типа машины на платформе Google AI. Тип машины, который вы выбираете для обучения моделей глубокого обучения обнаружению объектов.

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

Один из моих учеников поделился со мной этим снимком экрана:

Когда вы посмотрите на ошибку выше, вы заметите, что в конце снимка экрана написано:

«Описание: запрос на 2 ускорителя V100 превышает разрешенный максимум: 0 TPU_V2_POD, 0 TPU_V3_POD, 1 K80, 1 P100, 1 P4, 1 T4, 1 V100, 8 TPU_V2, 8 ускорителей TPU_V3».

Это означает, что вам разрешено использовать только определенное количество компьютеров этого типа. Например, 0 TPU_V2_POD означает, что вы не можете использовать никакие машины (ноль) типа TPU_V2_POD. С другой стороны, 1 к80 означает, что вы можете использовать одну машину типа K80.

Часть упомянутой выше команды для запуска обучения на платформе Google AI выглядит следующим образом:

--master-accelerator count=8,type=nvidia-tesla-v100

Это лишь небольшая часть полной команды. Он отвечает за выбор типа используемых графических процессоров, а также за их количество. Итак, count = 8 означает, что вы хотите использовать 8 графических процессоров. Другая часть, type = nvidia-tesla-v100,, означает, что вы хотите использовать графический процессор (или TPU) типа nvidia-tesla-v100. .

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

Дело в том, что на платформе Google AI используются разные типы машин. Для каждого типа машины у вас есть определенное количество И тип графических процессоров, которые вы можете использовать! Полный список вариантов тезисов можно найти в этой таблице. Вот скриншот таблицы:

Чуть выше я показал вам команду, которую мы использовали для выбора количества графических процессоров и их типа. И снова команда:

--master-accelerator count=8,type=nvidia-tesla-v100

Но эта команда не дает вам выбора типа машины! В предыдущей таблице вы можете видеть, что крайний левый столбец предназначен для типов машин. Остальные столбцы относятся к типу графического процессора. Внутри таблицы вы можете увидеть количество разрешенных графических процессоров, которые вы можете использовать для каждого варианта выбора типа машины и типа графического процессора. Итак, как выбрать тип машины? На самом деле это еще одна часть полной команды, описанной в репозитории github. Эта часть:

--master-machine-type n1-highcpu-16

Если вы вернетесь к таблице выше, то увидите, что если вы выберете тип машины n1-highcpu-16, вы сможете использовать 2, 4 или 8 графических процессоров типа nvidia-tesla-v100..

Если вы выберете другое количество графических процессоров, скажем 10 или 16, вы не сможете выполнить команду, потому что вы ограничены использованием только 2, 4 или 8.

Теперь у вас должно быть более четкое представление о том, как выбрать тип машины и соответствующее количество и тип графических процессоров!

Возвращаясь к моему ученику, который не мог использовать графический процессор любого типа. Что он может сделать?

Не волнуйтесь, для него (и для вас!) Есть возможное решение.

Google Cloud действительно дает вам возможность сделать запрос на увеличение ваших квот! Это означает, что вы можете попросить Google предоставить вам доступ к некоторым графическим процессорам. Для этого вам необходимо заполнить форму и отправить ее в команду Google Cloud. Процесс упоминается здесь.

Вот и все для этой статьи!

Я инженер по машинному обучению, работаю над решением сложных проблем компьютерного зрения. Я хочу помочь вам изучить применение машинного обучения для решения проблем компьютерного зрения. Вот как.

  1. Помогая вам быть в курсе того, что происходит на местах. Я делаю это, почти ежедневно публикуя небольшие сообщения ML в LinkedIn и Twitter . Так что следуйте за мной туда!
  2. Предоставляя вам еженедельный дайджест этих небольших сообщений в моем информационном бюллетене. Так что подписывайтесь на нее!
  3. Написав статьи на Medium по различным темам машинного обучения. Так что следуйте за мной сюда!
  4. Предоставляя вам бесплатный контрольный список для машинного обучения, который поможет вам проверить все моменты, которые вам нужно изучить, если вы планируете карьеру в области машинного обучения, особенно в области компьютерного зрения. Вы можете получить контрольный список здесь.

5. И наконец, что не менее важно, поделившись с вами своим БЕСПЛАТНЫМ вводным курсом Tensorflow, который включает более 4 часа видеоконтента, и Вы можете задать мне любой интересующий вас вопрос.

Кроме того, не стесняйтесь обращаться ко мне в LinkedIn или Twitter, если у вас есть какие-либо вопросы или вы просто хотите поговорить о ML!