Intel® AI DevCloud

Бесплатные облачные вычислительные ресурсы доступны для участников AI Developer Program. Используйте среду Intel® AI DevCloud на базе масштабируемых процессоров Intel® Xeon® для ваших проектов машинного обучения, глубинного обучения и обработки результатов.

Преимущества

  • 30 дней бесплатного доступа
  • Продление доступа (до шести месяцев) с утвержденным предложением для исследований
  • 200 ГБ для хранения данных
  • Доступ к удаленному кластеру маштабируемых процессоров Intel® Xeon® со встраиваемыми решениями ускорения искусственного интеллекта

Поддержка

Наша группа работает с сообществом с понедельника по пятницу (9:00 – 17:00 по тихоокеанскому времени).

Форум AI Developer

Доступные инфраструктуры и инструменты

  • Оптимизация Intel® для TensorFlow*
  • MXNet framework
  • Оптимизация Intel® для Caffe*
  • Оптимизация Intel® для Theano*
  • Библиотека Keras
  • ПО Intel® Distribution for Python* (включая NumPy, SciPy и scikit-learn*)
  • neon™ framework

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

Часто задаваемые вопросы

Общая информация

Ознакомьтесь со следующими общими вопросами и ответами, чтобы начать работу с ПО Intel® AI DevCloud и искусственным интеллектом.

Как можно улучшить производительность приложения глубинного обучения, если моя инфраструктура работает в фоновом режиме?
В некоторых ситуациях код для глубинного обучения с настройками по умолчанию использует не все преимущества вычислительных возможностей, заложенных в аппаратных функциях компьютера, на котором он работает, в частности, когда код выполняется на системах на базе масштабируемых процессоров Intel® Xeon®. Корпорация Intel разработала методики оптимизации, которые обеспечивают оптимальную производительность процессоров для популярных инфраструктур, таких как Caffe* и TensorFlow*. Для получения дополнительной информации см. раздел Советы по улучшению производительности популярных инфраструктур глубинного обучения на ЦП.
Кто может запросить доступ к ресурсу Intel AI DevCloud?
Разработчики, ученые-специалисты обработки данных, преподаватели, учащиеся, стартапы и все те, кто являются членами Intel® AI Academy, имеют право запросить доступ к ресурсу.
Как стать участником Intel® AI Developer Program?
Вы можете получить доступ или стать участником после регистрации.
Что произойдет после получения доступа?
После того, как вы получите доступ, вы сможете выполнить вход в основную Linux-систему пакетной инфраструктуры. Там у вас будет возможность подготовить свой код и данные, скомпилировать их, а затем отправить задания в очередь. После выполнения заданий в очереди результаты будут помещены в ваш главный каталог ($HOME).
  • Задания обрабатываются на масштабируемых процессорах Intel® Xeon®.
  • Каждый процессор имеет 24 ядра с двухсторонней гиперпотоковой обработкой.
  • Каждый процессор имеет доступ к 96 ГБ памяти платформы (DDR4).
  • Каждый процессор будет обрабатывать только одно задание в конкретный момент времени.
  • Вы получите 200 ГБ свободного пространства для хранения данных.
  • Ваш главный каталог будет недоступен для других пользователей.

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

Я проживаю за пределами США. Могу ли я получить доступ к Intel AI DevCloud?
Ресурс Intel AI DevCloud доступен для всех членов Intel AI Developer Program и из любой страны.
Сколько нужно заплатить за использование Intel AI DevCloud?
Ничего. Это бесплатно для участников Intel® AI Developer Program. Участие в Intel AI Developer Program также бесплатно.
Установлено ли ПО CUDA* в кластере Intel AI DevCloud?
Нет. Кластер Intel AI DevCloud состоит из высокопроизводительных процессоров Intel® Xeon® Gold 6128, но не включает CUDA*.
Почему я получаю сообщение о запрете доступа во время выполнения команды pip install <Package_Name>?
Для установки пакета с использованием формата Python* по умолчанию используйте следующие параметры для команды pip:

--user parameter

Пример: pip install numpy --user

Другим вариантом является создание новой среды Conda*, ее активация и выполнение в ней установки pip* или Conda. Использование нескольких версий одного и того же пакета в формате Python по умолчанию может создать проблемы. Чтобы избежать этих проблем, создайте отдельные среды Conda для каждого процесса.

Выполнение заданий

Чтобы помочь разработчикам выполнять задания в среде Intel AI DevCloud, введите следующие ответы в командной строке Linux*.

Как проверить, на каком узле я нахожусь, а именно, на узле для входа или на узле для вычислений?
См. командную строку вашего терминала.

Если в ней отображается [uxxxx@c009 ~]$, вы на узле для входа.

Если в ней отображается подобное [uxxxx@c009-n0xx ~]$, вы на узле для вычислений.
Как проверить журналы выполнения моего работающего задания?
Вы можете проверить журналы текущего задания следующим образом:
  • Для журналов вывода используйте команду: qpeek:qpeek -o <JOB_ID>
  • Для журналов ошибок используйте команду: qpeek -e <JOB_ID>
Как проверить журналы выполненных заданий?
Журналы выполненных заданий можно проверить следующим образом:
 
  • Если вы дали название заданию во время отправки с помощью qsub, файлы журнала будут <JOB_NAME>.o<JOB_ID> и <JOB_NAME>.e<JOB_ID>
  • Если вы не назначали имя и отправили задание как qsub <JOB_SCRIPT>, файлы журнала будут <<JOB_ SCRIPT>.o<JOB_ID> и <JOB_ SCRIPT>.e<JOB_ID>
  • Если вы не назначали имя и отправили задание как <COMMAND> | qsub, файлы журнала будут STDIN.o<JOB_ID> и STDIN.e<JOB_ID>
Как установить общее максимальное время выполнения в Intel AI DevCloud?
В командной строке введите одну из следующих команд:
  • echo python <sample.py> -l walltime=24:00:00 | qsub
  • Добавьте время в сценарий оболочки перед выполнением в режиме qsub: #!/bin/sh#PBS -l walltime=24:00:00 python sample.py
Как получить данные о статусе задания?
В командной строке введите:

qpeek -o <JOBID>

Если результаты не будут возвращены, возможно, задание завершено, и у функции qpeek не было возможности определить статус.

Иначе выполните команду qsub с параметром "-k oe":

qsub -k oe my_script

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

Как увеличить время выполнения?
В командной строке введите одну из следующих команд:
  • #PBS -l walltime=<10:30>,mem=320kb
  • echo sleep 1000 | qsub -l walltime=<00:30:00>
Как получить полную информацию о задании?
В командной строке введите:

qstat -f <JOBID>

Как удалить задание?
В командной строке введите:



qdel <JOBID>

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



pbsnodes

Как выполнить вход в вычислительный узел?
В командной строке введите:



qsub –I

Как получить информацию об узлах?
В командной строке введите:



pbsnodes -a

Почему я получаю ошибку памяти во время выполнения команд?
В большинстве случаев ошибка памяти может быть вызвана попыткой запуска ресурсоемких задач на узле для входа. В таких случаях выполните вход на узел для вычислений с помощью qsub -I и запустите на нем ваши команды.
 
Мое задание работает более 24 часов, однако Intel® AI DevCloud имеет максимум 24 часа для выполнения. Как в этом случае выполнить мое задание?
Максимальное время выполнения ограничено 24 часами для обеспечения пропорционального использования ресурсов кластера. Однако далее представлены методы временного решения проблемы:
 
  • Сохраняйте модель через определенные промежутки времени или не менее одного раза до завершения разрешенного времени выполнения. В конце 24 часов отправьте новое задание, которое выполнит загрузку последней сохраненной модели, а затем начните обучение с этого места.
Сохраняя модель через определенные промежутки времени, вы получите дополнительные преимущества предварительного создания копий обученной модели и ее оценки с данными тестирования. Это также поможет оценить работоспособность модели и заблаговременно сделать необходимые изменения, не дожидаясь завершения выполнения задания.
 

Узел для входа и узел для вычислений

В чем разница между узлом для входа и узлом для вычислений?
На узле для входа используется процессор обычного назначения. На узле для вычислений используется процессор Intel® Xeon® Gold 6128, который способен выполнять высокие нагрузки. Все задачи, для которых необходимо больше памяти и вычислительных ресурсов, должны выполняться на узле для вычислений, а не на узле для входа.
Как узлы для входа и вычислений представлены в среде Intel® AI DevCloud?
На следующей диаграмме показана общая архитектура среды Intel® AI DevCloud:

Диаграмма архитектуры среды Intel AI DevCloud
Почему я не могу запускать ресурсоемкие задачи на узле для входа?
Узел для входа имеет простую конфигурацию и не способен обрабатывать повышенные нагрузки. Его основным назначением является хранение ваших данных; и поэтому он имеет ограничения памяти и вычислительных ресурсов. Нет ничего странного в появлении ошибок памяти во время выполнения интенсивных задач на узле для входа.
Как проверить, на каком узле я нахожусь, а именно, на узле для входа или на узле для вычислений?
Вы находитесь на узле для вычислений, если командная строка начинается с n0xx, как показано на следующем рисунке:

Пример командной строки узла для вычислений

Если командная строка не начинается с n0xx, вы находитесь на узле для входа, как показано на следующем рисунке:

Пример узла для входа
Как выполнять задания с интенсивной нагрузкой?
Вы можете выполнять задания на узле для вычислений с любыми из следующих параметров:
 
  • Отправьте задание с помощью команды qsub <JOB_SCRIPT> на узле для входа. Задание будет ожидать в очереди, когда планировщик выберет его и начнет выполнение на узле для вычислений.
  • Запустите задание в интерактивном режиме, используя команду qsub –I. Задание будет создано с настройками по умолчанию, и на узле для вычислений будет открыто окно терминала. Вы можете использовать его для выполнения команд.
  • Используйте JupyterHub*. Для этого перейдите на сайт Colfax Research. Выполните вход и запустите сервер. Создайте новое окно блокнота и запустите в нем код.
  • Используйте qsub из JupyterHub. Для этого перейдите на сайт Colfax Research. Выполните вход и запустите сервер. Создайте новый блокнот. Отправьте задание с помощью команды qsub. Информация об этом доступна в файле Welcome.ipynb в домашней папке Intel AI DevCloud.
  • Выполните запуск из терминала JupyterHub. Для этого перейдите на сайт Colfax Research. Выполните вход и запустите сервер. Откройте новое окно терминала на узле для вычислений, в котором вы сможете выполнять команды интенсивного задания. (Для получения дополнительной информации о запуске окна терминала см. раздел Использование терминалов JupyterHub и SSH).
  • Использование qsub в терминале JupyterHub. Для этого запустите задание с помощью команды “qsub <JOB_SCRIPT>” в терминале JupyterHub. Это действие выполнит отправку задания, которое будет находиться в очереди, пока планировщик не запустит его на узле для вычислений.
Каково отличие между пакетным режимом qsub и интерактивным режимом qsub для отправки задания?
В пакетном режиме qsub задания создаются и отправляются с помощью команды “qsub <JOB_SCRIPT>” на узле для входа. Файл <JOB_SCRIPT> содержит команды задания.

В интерактивном режиме задание создается с помощью команды “qsub –I”.

После запуска этой команды для вас будет открыто новое окно терминала на узле для вычислений, который назначен для вашего задания. Вы можете использовать этот терминал для выполнения команд.
Как перейти в интерактивный режим qsub?
Во время использования SSH (безопасная оболочка) для доступа к Intel AI DevCloud в терминале PuTTY*/Linux* сначала выполните вход в узел для вычислений. Для выполнения задания в интерактивном режиме введите qsub –I. Это действие создаст новое задание и откроет терминал на узле для вычислений, который назначен для этого задания. См. следующее изображение:

Пример экрана терминала
Когда необходимо использовать пакетный режим qsub, а когда интерактивный режим qsub?
Используйте пакетный режим qsub, если у вас проверенный, работающий код, который необходимо выполнить и сохранить его результаты.

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

Вы можете сразу исправлять их, как если бы делали это на локальном компьютере.
Как проверить статус и журналы задания в пакетном режиме qsub в сравнении с интерактивным режимом qsub?
В режиме qsub вы можете отправить задание, начать работать над чем-либо другим, а затем вернуться для проверки результатов. Проверьте статус вашего задания с помощью команды qstat, а журналы с помощью команды log file/qpeek.

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

Настройка конфигураций графического процессора для использования центрального процессора

Могу ли я запустить ПО TensorFlow* с поддержкой графического процессора в Intel® AI DevCloud?
Intel® AI DevCloud представляет собой кластер высокопроизводительных масштабируемых процессоров Intel® Xeon®. Необходимо убедиться в том, что код, написанный для среды конкретного графического процессора, преобразован для работы на центральных процессорах.
Как преобразовать конфигурации, специализированные для конкретных графических процессоров, для работы на центральном процессоре?
Вы можете сделать это двумя способами:
 
  • Во время конфигурации инфраструктуры измените настройки графического процессора на настройки центрального процессора.
  • Поместите в комментарии или измените фрагменты кода, которые написаны специально для графических процессоров.
Как изменить фрагмент кода для графического процессора на настройки центрального процессора в инфраструктуре углубленного изучения?
Для C++:

Удалите следующие строки кода в файле detect_loss_layer.cpp (папка:src/caffe/layers):

#ifdef CPU_ONLY STUB_GPU(DetectionLossLayer); #endif

Для PyTorch*:

Удалите экземпляры .cuda для отказа от использования графического и начала использования центрального процессора.

 

Например:

if torch.cuda.available():

import torch.cuda

else:

import torch

Для помещения в комментарии или изменения фрагментов кода, написанных специально для графических процессоров, см. некоторые примеры на GitHub для Caffe*-Yolo*.
Какие изменения конфигурации необходимо сделать во время сборки Caffe* в режиме процессора?
  1. Сделайте клон оптимизации Intel® для Caffe* с сайта GitHub*.
  2. Сделайте следующие изменения конфигурации для сборки Caffe на процессоре:
CPU_ONLY: = 1 в файле Makefile.configuration

solver_mode: CPU в файле solver.prototxt

ПО Intel AI DevCloud имеет версию ЦП для Faster R-CNN, которая также доступна с последней версией оптимизации Intel для Caffe.
Как установить TensorFlow* в режиме процессора?
Для получения информации см. руководство по установке для TensorFlow*.

Для установки см. раздел Оптимизация Intel® для TensorFlow* (только ЦП) с помощью PIP*, conda* или исходного кода.
Как установить PyTorch* в режиме процессора?
Откройте PyTorch и выберите критерий, соответствующий вашей среде, которая содержит CUDA=None, а затем выполните необходимую команду. Например:

1. Когда вы используете conda на ЦП, используйте следующую команду:

conda install pytorch-cpu torchvision-cpu -c pytorch 2. Когда вы используете PIP на ЦП, выполните следующую команду:

pip install http://download.pytorch.org/whl/cpu/torch-0.4.0-cp27-cp27mu-linux_x86_64.whl%20

pip install torchvision

Если указанная выше команда установки не сработает, так как уже установлена среда Python* 2.7 UCS2, используйте следующую команду:

pip install http://download.pytorch.org/whl/cpu/torch-0.4.0-cp27-cp27m-linux_x86_64.whl
Как изменить конфигурацию во время сборки Apache MXNet* в режиме ЦП?
  1. Выполните клонирование исходного кода Apache MXNet*: https://github.com/apache/incubator-mxnet.git
  2. Установите значения следующих полей в файле make/config.mk для сборки Apache MXNet на ЦП:
USE_CUDA = 0

USE_CUDA_PATH = NONE

USE_CUDNN = 0

После установки вы должны отредактировать некоторые строки кода, которые относятся к процессору. Например, в случае примера для распознавания речи в папке incubator-mxnet/example.speech_recognition:

1) Удалите следующую строку из файла main.py:

os.environ['MXNET_ENABLE_GPU_P2P'] = "0"

2) Измените следующую строку в файле deepspeech.cfg:

context = gpu0,gpu1,gpu2 на context = cpu0,cpu1,cpu2
Как установить Keras в режиме процессора?
ПО Keras может быть установлено в режиме ЦП с помощью интерфейса TensorFlow-CPU или Theano-CPU.

Команда для установки Keras:

pip install keras

cd .keras

Укажите интерфейс в файле keras.json:

{

"image_data_format": "channels_last",

"epsilon": 1e-07,

"floatx": "float32",

"backend": "tensorflow” }

Для получения дополнительной информации см. документацию Keras по интерфейсам.

Использование терминалов JupyterHub* и SSH

Как открыть терминал JupyterHub*?
  1. Перейдите на сайт Colfax Research.
  2. Введите имя пользователя и пароль на странице входа. Ваше имя пользователя должно быть указано в полученном вами приветственном электронном письме из Intel® AI DevCloud. Пароль, соответствующий уникальному идентификатору пользователя (UUID), также должен быть включен в это письмо.
На следующем изображении показано содержимое "домашнего" каталога, который отображается после входа.

Копия экрана домашнего каталога

Для открытия терминала в правом углу выберите New, а затем Terminal. Терминал Jupyter Notebook* будет открыт на узле для вычислений. Терминал Jupyter Notebook на узле для вычислений
Как открыть терминал SSH?
Выполните инструкции, доступные с помощью ссылки в приветственном электронном письме Intel AI DevCloud.

(https://access.colfaxresearch.com/?uuid=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx). Если вход успешен, терминал SSH будет открыт, как это показано далее:

Пример терминала S S H
В чем различие терминалов JupyterHub и SSH?
Отличия:

1. Время работы

Работа сеанса терминала JupyterHub* ограничена четырьмя часами. После этого сеанс завершается без закрытия журнала.

Терминал SSH имеет шесть часов для работы заданий, отправленных с помощью qsub. Данные настройки по умолчанию могут быть изменены для указания максимального времени выполнения — 24 часа.

2. Журналы заданий

Терминал JupyterHub в настоящее время не имеет средства qpeek, которое используется для получения журналов выполнения, практически, в режиме реального времени. Кроме того, журналы задания могут записаться неправильно вследствие истечения срока сеанса.

Терминал SSH имеет средство qpeek. Вы можете проверять журналы заданий, практически, в реальном времени с помощью команд qpeek –o <JOB_ID> (журналы вывода) и qpeek –e <JOB_ID> (error logs).

3.Вход в терминал

Вход в терминал JupyterHub выполняется непосредственно на узле для вычислений.

Вход в терминал SSH выполняется на узле для входа. Введите qsub –I для открытия терминала на узле для вычислений.
Задание было отправлено с терминала JupyterHub. Почему не отображаются его журналы?
Сеанс JupyterHub мог завершится по истечении четырех часов. Оставшееся время отображается справа вверху на странице сеанса. Задания, имеющие длительность более четырех часов, будут остановлены в конце сеанса, а их журналы записаны некорректно. Для заданий, которые имеют длительность более четырех часов, используйте режим qsub с терминалом PuTTY или Linux SSH. В таких случаях мы рекомендуем использовать режим qsub с терминалом PuTTY* или Linux* SSH.