Создайте экземпляр виртуальной машины Deep Learning в Google Cloud Platform, установите и настройте Jupyter Notebook и набор инструментов Nvidia CUDA.

Google Cloud Platform предоставляет нам множество ресурсов для поддержки проектов в области науки о данных, глубокого обучения и искусственного интеллекта. Теперь нам нужно заботиться только о том, как проектировать и обучать модели, а платформа управляет остальными задачами.

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

Я продемонстрирую, как использовать Google Cloud Platform с графическим процессором для создания среды глубокого обучения, выполнив четыре следующих шага:

  1. Создайте экземпляр виртуальной машины с графическим процессором
  2. Настроить сеть
  3. Установить ноутбук Juypter
  4. Установите Nvidia CUDA

Шаг 1. Создание и запуск экземпляра виртуальной машины

Увеличить квоту графических процессоров

ВАЖНО: если вы получаете следующее уведомление при создании виртуальной машины, содержащей графические процессоры. Вам необходимо увеличить квоту графического процессора.

В верхнем левом меню выберите IAM и администратор - ›Квоты.

В таблице фильтров выберите Имя лимита и Графические процессоры (все регионы).

В нем будет указана информация о квотах ваших графических процессоров. Нажмите ВСЕ КВОТЫ на странице Подробная информация о квотах.

Установите флажок Глобальный и нажмите ИЗМЕНИТЬ КВОТЫ.

Введите необходимое количество квот графического процессора в поле Новый лимит, здесь я ввел 2. Наконец, нажмите ОТПРАВИТЬ ЗАПРОС.

Обработка запросов на увеличение квоты обычно занимает два рабочих дня. Google обновит информацию о прогрессе по электронной почте.

Создать экземпляр ВМ

  1. В Консоли Google Cloud Platform перейдите на страницу Домашняя страница - ›Computer Engine -› Экземпляры виртуальных машин.
  2. Выберите свой проект и нажмите Продолжить.
  3. Нажмите кнопку Создать.
  4. Укажите Имя для своего экземпляра.
  5. Измените Регион и Зону для этого экземпляра. Я выбираю us-west1(oregon)и us-west1-b. Выберите конфигурацию машины для вашего экземпляра. В разделе Серии мы выбираем N1 типов машин, которые работают на Intel Skylake CPU платформе. Существует еще один N2 тип машины, и хотя он использует более высокую производительность Intel Cascade Lake CPU palreform, N2 сейчас не поддерживает графические процессоры, поэтому мы решили использовать N1. В разделе Тип машины выбираем n2-standard-8(8vCPU, 32GB memory).
  6. Разверните платформу ЦП и графический процессор в нижней части конфигурации компьютера и добавьте графический процессор для своей виртуальной машины. Нажмите Добавить графический процессор, выберите Тип графического процессора и Количество графических процессоров. Для демонстрации здесь я выбрал 2 модели NVIDIA Tesla K80.
    ВАЖНО: Если вы получаете сообщение об ошибке Quota 'GPUS_ALL_REGIONS' exceed. Limit: 0.0 globally при создании виртуальной машины, вам необходимо запросить увеличение квоты для ваших графических процессоров. См. Предыдущий раздел Увеличение квоты на графические процессоры.
  7. В разделе Загрузочный диск нажмите Изменить, чтобы настроить загрузочный диск.
    Для проекта глубокого обучения я выбираю Deep Learning on Linux в разделе Операционная система.
    В разделе Версия мы выбрали GPU Optimized Debian m32 (with CUDA 10.0), который представляет собой образ на основе Debian 9 с CUDA / CuDNN / NCCL предустановлен.
    В разделе Размер нам нужно выбрать не менее 300GB.
  8. В разделе Области доступа мы проверяем Allow full access to all Cloud APIs, потому что нам нужен доступ к Google Bucket и другим облачным API. В разделе Брандмауэр мы проверяем и Allow HTTP traffic, и All HTTPS traffic, чтобы получить доступ к Jupyter Notebook из внешней сети.
  9. Нажмите Management,security,disks,networking,sole tenancy и выберите вкладку Диски. В правиле удаления снимите флажок Delete boot disk when instance is deleted. Если вы случайно удалите экземпляр виртуальной машины, он не удалит загрузочный диск.
  10. Другие разделы могут использовать значение по умолчанию.
  11. Нажмите СОЗДАТЬ, подождите несколько минут, и ваша ВМ станет доступной.

ШАГ 2. Настройка сети

Чтобы иметь возможность получить доступ к Jupyter Note из внешней сети, вам необходимо настроить статический IP-адрес и правило брандмауэра на вашей новой виртуальной машине.

Внешние IP-адреса

  1. Перейдите в меню навигации - ›СЕТЬ -› Сеть VPC - ›Внешние IP-адреса.
  2. Измените Тип внешнего адреса ВМ с Эфемерного на Статический и добавьте Имя для нового статического IP-адреса .

Межсетевой экран

  1. Перейдите в Сеть VPC - ›Брандмауэр, нажмите СОЗДАТЬ Брандмауэр, чтобы создать правило брандмауэра для своего Jupyte Note.
  2. На странице Создание правила брандмауэра введите Имя правила, измените Цели на All instances in the network.
  3. В поле Диапазоны исходных IP-адресов введите 0.0.0.0/0.
  4. В разделе Протоколы и порты установите флажок Specified protocols and ports и установите для порта tcp значение 5000 или другой номер порта.
  5. Оставьте другие значения по умолчанию и нажмите СОЗДАТЬ.

ШАГ 3: Установите Jupyter Notebook

Вернитесь на страницу экземпляров ВМ и активируйте Cloud Shell в правом верхнем углу.

Установите Jupyter Notebook с помощью pip

pip install jupyter

Если вы получили сообщение об ошибке permission denied, используйте команду ниже.

pip install jupyter --user

Создайте файл конфигурации:

$ jupyter notebook --generate-config

Перейдите в каталог установки Jupyter

$ cd ~/.jupyter/
$ vim jupyter_notebook_config.py

Откройте jupyter_notebook_config.py и добавьте следующее в конец файла. Убедитесь, что вы заменили номер порта на тот, к которому вы разрешили доступ брандмауэру выше.

c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 5000

Запуск Jupyter Notebook с помощью следующей команды в SSH-окне виртуальной машины:

$ jupyter notebook

Как показано ниже, ваш Jupyter Notebook уже запущен.

Откройте браузер и введите следующий адрес:

https://<External Static IP Addrsss>:<Port NUmber>

Иногда вам нужно ввести токен, скопируйте токен, указанный в командной строке, как показано выше.

После того, как все настроено, ваш Jupyter Notebook будет выглядеть так.

ШАГ 4: Установите NVIDIA CUDA

Если вы используете Deep Learning On Linux общедоступные изображения, как я, то в облаке Google будут предварительно установлены PyTorch, Tensorflow, CUDA и т. Д.

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

Скачать CUDA

Tensorflow и PyTorch поддерживают только CUDA 10, нам нужно скачать CUDA Toolkit 10.1.

Выберите правильную целевую платформу на основе информации о вашей машине.

ВАЖНО: в разделе Тип установщика мы выбираем runfile(local).

Скопируйте команду установки.

ВАЖНО: Чтобы избежать ошибок графического интерфейса, мы должны добавить параметр --no-opengl-libs, чтобы предотвратить установку библиотек openGL.

Выполните команду ниже.

sudo sh cuda_10.1.105_418.39_linux.run --no-opengl-libs

Поздравляем, у вас есть простая среда для глубокого обучения. Пришло время обучить вашу модель.

Если вы хотите узнать, как использовать Goolge Cloud и TPU, прочтите эту статью.



Будьте осторожны и оставайтесь здоровыми и безопасными.