Создайте экземпляр виртуальной машины Deep Learning в Google Cloud Platform, установите и настройте Jupyter Notebook и набор инструментов Nvidia CUDA.
Google Cloud Platform предоставляет нам множество ресурсов для поддержки проектов в области науки о данных, глубокого обучения и искусственного интеллекта. Теперь нам нужно заботиться только о том, как проектировать и обучать модели, а платформа управляет остальными задачами.
В нынешней пандемической среде весь процесс проекта ИИ от разработки, кодирования до развертывания может выполняться удаленно на облачной платформе.
Я продемонстрирую, как использовать Google Cloud Platform с графическим процессором для создания среды глубокого обучения, выполнив четыре следующих шага:
- Создайте экземпляр виртуальной машины с графическим процессором
- Настроить сеть
- Установить ноутбук Juypter
- Установите Nvidia CUDA
Шаг 1. Создание и запуск экземпляра виртуальной машины
Увеличить квоту графических процессоров
ВАЖНО: если вы получаете следующее уведомление при создании виртуальной машины, содержащей графические процессоры. Вам необходимо увеличить квоту графического процессора.
В верхнем левом меню выберите IAM и администратор - ›Квоты.
В таблице фильтров выберите Имя лимита и Графические процессоры (все регионы).
В нем будет указана информация о квотах ваших графических процессоров. Нажмите ВСЕ КВОТЫ на странице Подробная информация о квотах.
Установите флажок Глобальный и нажмите ИЗМЕНИТЬ КВОТЫ.
Введите необходимое количество квот графического процессора в поле Новый лимит, здесь я ввел 2. Наконец, нажмите ОТПРАВИТЬ ЗАПРОС.
Обработка запросов на увеличение квоты обычно занимает два рабочих дня. Google обновит информацию о прогрессе по электронной почте.
Создать экземпляр ВМ
- В Консоли Google Cloud Platform перейдите на страницу Домашняя страница - ›Computer Engine -› Экземпляры виртуальных машин.
- Выберите свой проект и нажмите Продолжить.
- Нажмите кнопку Создать.
- Укажите Имя для своего экземпляра.
- Измените Регион и Зону для этого экземпляра. Я выбираю
us-west1(oregon)
иus-west1-b
. Выберите конфигурацию машины для вашего экземпляра. В разделе Серии мы выбираемN1
типов машин, которые работают наIntel Skylake CPU
платформе. Существует еще одинN2
тип машины, и хотя он использует более высокую производительностьIntel Cascade Lake CPU
palreform,N2
сейчас не поддерживает графические процессоры, поэтому мы решили использоватьN1
. В разделе Тип машины выбираемn2-standard-8(8vCPU, 32GB memory)
. - Разверните платформу ЦП и графический процессор в нижней части конфигурации компьютера и добавьте графический процессор для своей виртуальной машины. Нажмите Добавить графический процессор, выберите Тип графического процессора и Количество графических процессоров. Для демонстрации здесь я выбрал 2 модели NVIDIA Tesla K80.
ВАЖНО: Если вы получаете сообщение об ошибкеQuota 'GPUS_ALL_REGIONS' exceed. Limit: 0.0 globally
при создании виртуальной машины, вам необходимо запросить увеличение квоты для ваших графических процессоров. См. Предыдущий раздел Увеличение квоты на графические процессоры. - В разделе Загрузочный диск нажмите Изменить, чтобы настроить загрузочный диск.
Для проекта глубокого обучения я выбираюDeep Learning on Linux
в разделе Операционная система.
В разделе Версия мы выбралиGPU Optimized Debian m32 (with CUDA 10.0)
, который представляет собой образ на основе Debian 9 с CUDA / CuDNN / NCCL предустановлен.
В разделе Размер нам нужно выбрать не менее300
GB. - В разделе Области доступа мы проверяем
Allow full access to all Cloud APIs
, потому что нам нужен доступ к Google Bucket и другим облачным API. В разделе Брандмауэр мы проверяем иAllow HTTP traffic
, иAll HTTPS traffic
, чтобы получить доступ к Jupyter Notebook из внешней сети. - Нажмите
Management,security,disks,networking,sole tenancy
и выберите вкладку Диски. В правиле удаления снимите флажокDelete boot disk when instance is deleted
. Если вы случайно удалите экземпляр виртуальной машины, он не удалит загрузочный диск. - Другие разделы могут использовать значение по умолчанию.
- Нажмите СОЗДАТЬ, подождите несколько минут, и ваша ВМ станет доступной.
ШАГ 2. Настройка сети
Чтобы иметь возможность получить доступ к Jupyter Note из внешней сети, вам необходимо настроить статический IP-адрес и правило брандмауэра на вашей новой виртуальной машине.
Внешние IP-адреса
- Перейдите в меню навигации - ›СЕТЬ -› Сеть VPC - ›Внешние IP-адреса.
- Измените Тип внешнего адреса ВМ с Эфемерного на Статический и добавьте Имя для нового статического IP-адреса .
Межсетевой экран
- Перейдите в Сеть VPC - ›Брандмауэр, нажмите СОЗДАТЬ Брандмауэр, чтобы создать правило брандмауэра для своего Jupyte Note.
- На странице Создание правила брандмауэра введите Имя правила, измените Цели на
All instances in the network
. - В поле Диапазоны исходных IP-адресов введите
0.0.0.0/0
. - В разделе Протоколы и порты установите флажок
Specified protocols and ports
и установите для порта tcp значение5000
или другой номер порта. - Оставьте другие значения по умолчанию и нажмите СОЗДАТЬ.
ШАГ 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, прочтите эту статью.
Будьте осторожны и оставайтесь здоровыми и безопасными.