Super Real Time: NVIDIA ускоряет сети глубокого обучения

Опубликовано:

nvidia-gtc

Нынешняя GPU Technology Conference в Германии ориентирована на автомобильную индустрию, но за вычисления все равно отвечают GPU NVIDIA. Также важной темой пленарного доклада являются постоянно растущие сети глубокого обучения, чья производительность тоже увеличивается.

Сети обработки изображений, такие как первая AlexNet, продолжают бурно расти и развиваться. Та же ResNet-50 достигла глубины в 50 итераций, но и она теперь не самая большая. Лидером стала сеть Inception-v4, содержащая несколько миллиардов изображений, по сравнению с первыми сетями глубокого обучения она требуется в 350 раз больше памяти и пропускной способности. Распознавание речи стало в 30 раз сложнее, чем раньше, перевод в реальном времени тоже стал в десять раз сложнее.

Между тем сформировались четыре разных типа сетей глубокого обучения. Первый тип – сверточная сеть (Convolutional Network). Структура сверточной сети состоит из одного или более сверточных слоев, за которыми следует субдискретизирующий слой (Pooling). Подобное чередование может повторяться несколько раз, с достаточным числом итераций мы получаем глубокую сверточную нейронную сеть. Сверточные сети обычно работают с изображениями и видео.

Рекуррентная нейронная сеть (Recurrent network) работает по принципу, похожему на наш мозг. Между разными слоями имеются прямые связи, что позволяет использовать данную сеть для распознавания речи или рукописного текста, например. Третья категория - генеративно-состязательная сеть (Generative Adversarial Network), в которой работают две сети глубокого обучения, они участвуют в антагонистической игре, улучшая друг друга. Например, первая сеть пытается сымитировать какой-то объект, а вторая – доказать, что он имеет искусственное происхождение. Например, первая сеть может предложить имитацию известной картины, а вторая должна доказать, что это подделка.

Наконец, для искусственного интеллекта наиболее важна категория сетей обучения с подкреплением (Reinforcement Networks), которая находит нужное решение путем проб и ошибок, совершенствуясь шаг за шагом.

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

NVIDIA всегда предлагает подходящее аппаратное решение

Сегодня стратегия NVIDIA по разработке аппаратных ресурсов ориентирована на high-end системы тренировки. К ним относятся Tesla V100 на архитектуре Volta, а также соответствующие ускорители для обработки запросов в сеть. NVIDIA наглядно поясняет преимущества использования собственных GPU с помощью демо, на которой выполняется тренировка сети глубокого обучения по распознаванию цветков. Сначала на high-end процессоре (топовая модель Skylake-X), потом на Tesla V100.

Вместо 4-5 кадров в секунду такая сеть на Tesla V100 может анализировать больше 500 кадров в секунду. NVIDIA называет подобную производительность Super Realtime, хотя реальное время – это реальное время, и его не ускорить.

Клиенты NVIDIA выигрывают от высокой производительности в компактном пространстве. В дата-центре, например, четыре стойки с серверами на 160 CPU, производительностью 45.000 кадров в секунду и энергопотреблением 65 кВт можно заменить одной стойкой HGX-1 с восемью Tesla V100, которые тоже будут давать производительность 45.000 кадров в секунду, но при этом потреблять только 3 кВт мощности.

Схожий подход мы получаем и с модулем Drive PX Pegasus, который обеспечивает вычислительную производительность 320 TOPS с энергопотреблением 500 Вт. Такой модуль намного компактнее и экономичнее других тестовых систем, которые производители используют сегодня для автономного вождения уровня 5. Конкуренты потребляют несколько тысяч ватт мощности и занимают весь багажник автомобиля.

NVIDIA решила повысить вычислительную производительность Drive PX Pegasus за счет ухудшения эффективности TOPS/W. Эффективность Drive PX 2 составляет 0,1 TOPS/W, но NVIDIA с SoC Xavier смогла улучшить ее до 1 TOPS/W. В случае Drive PX Pegasus мы получаем ухудшение до 0,64 TOPS/W. Впрочем, причина кроется в том, чтобы обеспечить достаточный уровень производительности для автономного вождения уровня 5. С другой стороны, пройдет еще несколько лет, прежде чем мы увидим подобные системы на практике, так что у NVIDIA есть запас времени для улучшения эффективности.