видеокарта для обучения нейронных сетей

Выбор видеокарты для нейронных сетей и глубокого обучения

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

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

1. Разница между ЦП и ГП

Центральный процессор (ЦП) не оптимизирован для одновременного выполнения большого количества простых операций. Для параллельных вычислений лучше подходит графический процессор (ГП):

2. Устройство ГП

2.1. CUDA

Графический процессор состоит из набора независимых мультипроцессоров, которые включают в себя:

На одном ядре CUDA (архитектура параллельных вычислений от NVIDIA) выполняется одна нить, иначе – поток. Каждому потоку соответствует один элемент вычисляемых данных. Потоки образуют блоки, которые общаются между собой через:

При частоте 1 ГГц процессор делает 10 9 циклов в секунду. Операции занимают больше времени, чем один цикл, поэтому создается конвейер, где для начала новой операции необходимо дождаться окончания предыдущей.

Мультипроцессор на каждом такте выполняет одну и ту же инструкцию над варпом (warp) – группой из 32 потоков. Потоки одного варпа принадлежат одному блоку и могут взаимодействовать только между собой. Каждому потоку и блоку присваивается идентификатор – трехмерный целочисленный вектор:

Блоки группируются в сетки блоков. Размеры блока и сетки блоков задаются переменными blockDim и gridDim при вызове ядра. Потокам из одного блока доступна разделяемая память (shared memory). Их выполнение может быть синхронизировано.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 5. Сетка блоков в CUDA

Алгоритм работы технологии CUDA выглядит следующим образом.

2.2. Иерархия памяти

Локальная память (local memory):

Разделяемая память (shared memory):

Глобальная память (global memory):

Константная память (constant memory):

Текстурная память (texture memory):

3. Как выбрать ГП

Последовательность шагов при выборе ГП.

3.1. Когда достаточно менее 11 ГБ памяти

Базовые навыки в глубоком обучении можно освоить, тренируясь на небольших задачах с малыми входными параметрами, поэтому достаточно RTX 3070 (8 ГБ, GDDR6) и RTX 3080 (10 ГБ, GDDR6X). Для прототипирования лучший выбор – RTX 3080.

3.2. Когда нужно больше 11 ГБ памяти

Не менее 11 ГБ памяти нужно при работе с архитектурой Transformer, распознаванием медицинских изображений, компьютерным зрением и работой с большими изображениями.

3.3. Тензорные ядра

Тензорные ядра быстрее CUDA-ядер, потому что им требуется меньше циклов для операций с матрицами. В чипах Ampere (линейка RTX 30) стало меньше тензорных ядер, но возросла их производительность.

3.4. Пропускная способность памяти

Тензорные ядра быстрые и обычно простаивают до 70% времени, ожидая данные из глобальной памяти. Поэтому выбирайте ГП с максимальной пропускной способностью памяти. Еще нужна большая разделяемая память и кэш L1, чтобы сократить число обращений к внешней памяти и держать данные ближе к АЛУ.

Сколько нужно памяти:

3.5. Система охлаждения

В конструкции системы охлаждения Reference RTX 30 (NVIDIA) первый вентилятор расположен на верхней стороне видеокарты. Он выдувает воздух в пространство, где расположена оперативная память и процессор. Второй вентилятор выдувает воздух сразу из корпуса (Рис. 12).

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

3.6. Электропитание

Картам может не хватить мощности блока питания. Четыре карты RTX 3090 потребляют на пике 1400 Вт. Продаются блоки питания на 1600 Вт, но остальным комплектующим 200 Вт может быть недостаточно.

3.7. Рекомендации для кластеров

Для кластеров важно надежное электропитание, доступное в дата-центрах, но по лицензионному соглашению карты RTX в них размещать запрещено. Для небольшой системы подойдет Supermicro 8 GPU.

Для кластера из 256+ ГП – NVIDIA DGX SuperPOD.

При 1024+ ГП – Google TPU Pod и NVIDIA DGX SuperPod.

3.8. Не покупайте эти карты

Не покупайте более одной видеокарты RTX Founders Editions или RTX Titans, если нет PCIe-удлинителей для решения проблем с охлаждением.

Tesla V100 или A100 рентабельны только в кластерах. Карты серии GTX 16 имеют низкую производительность, так как из них убрали тензорные ядра. Аналоги GTX 16: б/у RTX 2070, RTX 2060 или RTX 2060 Super.

При наличии RTX 2080 Ti и выше, обновление до RTX 3090 невыгодно. Прирост производительности мал, а риск получить проблемы с питанием и охлаждением в картах RTX 30 высокий. Апгрейд оправдан, если для задач требуется больше памяти.

3.9. Нужен ли PCI 4.0?

Для бюджетной домашней сборки PCI 4.0 не нужен. PCI 4.0 позволит лучше распараллелить и ускорить передачу данных на 1-7% в сравнении с PCIe 3.0 при использовании более четырех ГП. При работе с большими файлами «узким местом» может оказаться SSD-диск, но не передача данных с ГП на ЦП.

3.10. Необходимы только 8x/16x PCIe-слоты?

Использовать исключительно 8x и 16x PCIe-слоты необязательно. Допускается работа двух ГП на слотах 4х. При установке четырех ГП предпочтение отдавайте слотам 8x на каждый ГП, так как производительность слота 4x ниже на 5-10%.

3.11. Можно ли использовать разные карты вместе?

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

3.12. Что такое NVLink и полезно ли это?

NVLink – высокоскоростное соединение между ГП. В небольших кластерах ( видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 20. Производительность NVLink M40, P100, V100 и A100

3.13. Что делать, если не хватает денег на топовые ГП?

Купить подержанные ГП, либо воспользоваться облачными сервисами. Бюджетные варианты (в порядке убывания цены и производительности):

3.14. Итог

Напоследок несколько сравнительных гистограмм характеристик различных GPU.

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

Источник

Выбор графического процессора для глубоко обучения

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

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

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

При регулярном обучении моделей становится разумнее приобрести свой ускоритель. Основных производителей графических чипов два: Nvidia и AMD. Intel только выпускает на рынок свои первые дискретные видеокарты, а встроенная в центральные процессоры графика обладает малой производительностью.

Изначально библиотеки использовали технологию CUDA, присутствующую только на картах Nvidia. Благодаря этому Nvidia стала стандартом в машинном обучении и остается им сейчас. Позже в популярные библиотеки стали добавлять поддержку OpenCL для работы на картах AMD, но сообщество пользователей малочисленно и смело называйте себя энтузиастом, если решите заниматься обучением моделей на AMD.

Далее в статье будем рассматривать только Nvidia, т.к. кроме большого сообщества, которое уже столкнулось с множеством проблем до вас и готово подсказать решение, есть и другое важное преимущество. Для работы современных версий библиотек подойдут видеокарты архитектуры Maxwell и новее. Часть карт архитектуры Kepler также подходят.

На что еще следует обратить внимание:

1. Объем видеопамяти.

Перемещение данных, из памяти и в неё, очень сильно ограничивает вычислительный процесс, поэтому чем больше памяти есть на карте, тем лучше. Недостаток памяти вынудит вас уменьшать Batch size, либо вовсе отказаться от задуманного.

Вот несколько ориентировочных рекомендаций объема видеопамяти:

Примеры нехватки видеопамяти можно посмотреть на изображениях ниже (нули в ячейках).

Источник

Ваша первая нейронная сеть на графическом процессоре (GPU). Руководство для начинающих

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

В этой статье я расскажу как за 30 минут настроить среду для машинного обучения, создать нейронную сеть для распознавания изображений a потом запустить ту же сеть на графическом процессоре (GPU).

Для начала определим что такое нейронная сеть.

В нашем случае это математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы.

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

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

Оборудование

Сначала разберемся с оборудованием. Нам необходим сервер с установленной на нем операционной системой Linux. Оборудование для работы систем машинного обучения требуется достаточно мощное и как следствие дорогое. Тем, у кого нет под рукой хорошей машины, рекомендую обратить внимание на предложение облачных провайдеров. Необходимый сервер можно получить в аренду быстро и платить только за время использования.

В проектах, где необходимо создание нейронных сетей я использую сервера одного из российских облачных провайдеров. Компания предлагает в аренду облачные серверы специально для машинного обучения с мощными графическими процессорами (GPU) Tesla V100 от компании NVIDIA. Если коротко: использование сервера с GPU может быть в десятки раз быть более эффективным (быстрым) по сравнению с аналогичным по стоимости сервером где для вычислений используется CPU (всем хорошо знакомый центральный процессор). Это достигается за счет особенностей архитектуры GPU, которая быстрее справляется с расчетами.

Для выполнения примеров описанных далее, мы приобрели на несколько дней такой сервер:

Устанавливаем окружение

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

Очень много работы при настройке среды выполняется через командную строку. Большинство из пользователей в качестве рабочей ОС используют Windows. Стандартная консоль в этой ОС оставляет желать лучшего. Поэтому мы будем использовать удобный инструмент Cmder/. Скачиваем mini версию и запускаем Cmder.exe. Далее необходимо подключится к серверу по протоколу SSH:

Вместо server-ip-or-hostname указываете IP адрес или DNS имя вашего сервера. Далее вводим пароль и при успешном подключении мы должны получить примерно такое сообщение.

Основным языком для разработки ML моделей является Python. А наиболее популярной платформой для его использование по Linux является Anaconda.

Установим ее на наш сервер.

Начинаем с обновления локального менеджера пакетов:

Устанавливаем curl (служебная программа командной строки):

Скачиваем последнюю версию Anaconda Distribution:

В процессе установки необходимо будет подтвердить лицензионное соглашение. При успешной установке вы должны будете увидеть это:

Для разработки ML моделей сейчас создано множество фреймворков, мы работаем с наиболее популярными: PyTorch и Tensorflow.

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

В этом примере будем работать с PyTorch. Установим его:

Теперь нам необходимо запустить Jupyter Notebook — популярный у ML специалистов инструмент разработки. Он позволяет писать код и сразу видеть результаты его выполнения. Jupyter Notebook входит в состав Anaconda и уже установлен на нашем сервере. Необходимо подключится к нему из нашей настольной системе.

Для этого мы сначала запустим Jupyter на сервере указав порт 8080:

Далее открыв в нашей консоли Cmder еще одну вкладку (верхнее меню — New console dialog) подключимся по порту 8080 к серверу через SSH:

При вводе первой команды нам будет предложены ссылки для открытия Jupyter в нашем браузере:

Воспользуемся ссылкой для localhost:8080. Скопируйте полный путь и вставьте в адресную строку локального браузера вашего ПК. Откроется Jupyter Notebook.

Создадим новый ноутбук: New — Notebook — Python 3.

Проверим корректную работу всех компонентов которые мы установили. Введем в Jupyter пример кода PyTorch и запустим выполнение (кнопка Run):

Результат должен быть примерно таким:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Если у вас аналогичный результат — значит мы все настроили правильно и можем приступать к разработке нейронной сети!

Создаем нейронную сеть

Будем создавать нейронную сеть для распознавания изображений. За основу возьмем данное руководство.

Для тренировки сети мы будем использовать общедоступный набор данных CIFAR10. У него есть классы: «самолет», «автомобиль», «птица», «кошка», «олень», «собака», «лягушка», «лошадь», «корабль», «грузовик». Изображения в CIFAR10 имеют размер 3x32x32, то есть 3-канальные цветные изображения размером 32×32 пикселей.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Для работы мы будем использовать созданный PyTorch пакет для работы с изображениями — torchvision.

Мы сделаем следующие шаги по порядку:

Загрузка и нормализация CIFAR10

Скопируйте и выполните в Jupyter следующий код:

Ответ должен быть такой:

Выведем несколько тренировочных образов для проверки:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Определение нейронной сети

Рассмотрим сначала как работает нейронная сеть по распознаванию изображений. Это простая сеть прямой связи. Он принимает входные данные, пропускает их через несколько слоев один за другим, а затем, наконец, выдает выходные данные.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Создадим подобную сеть в нашей среде:

Определим так же функцию потерь и оптимизатор

Тренировка сети на тренировочных данных

Начинаем тренировку нашей нейронной сети. Обращаю внимание что после этого как вы запустите на выполнение этот код, нужно будет подождать некоторое время до завершения работы. У меня это заняло 5 мин. Для обучение сети нужно время.

Получим такой результат:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Сохраняем нашу обученную модель:

Тестирование сети на тестовых данных

Мы обучили сеть использую набор обучающих данных. Но нам нужно проверить, научилась ли сеть вообще чему-либо.

Мы проверим это, предсказав метку класса, которую выводит нейронная сеть, и проверив ее на предмет истинности. Если прогноз верен, мы добавляем образец в список правильных прогнозов.
Давайте покажем изображение из тестового набора:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Теперь попросим нейронную сеть сообщить нам что на этих картинках:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Результаты кажутся довольно хорошими: сеть определила правильно три картинки из четырех.

Давайте посмотрим, как сеть работает во всем наборе данных.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Похоже сеть что-то знает и работает. Если бы он определяла классы наугад, то точность бы была 10%.

Теперь посмотрим какие классы сеть определяет лучше:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Похоже что лучше всего сеть определяет автомобили и корабли: 71% точности.

Итак сеть работает. Теперь попробуем перенести ее работу на графический процессор (GPU) и посмотри что поменяется.

Тренировка нейронной сети на GPU

Сначала объясню коротко что такое CUDA. CUDA (Compute Unified Device Architecture) — платформа параллельных вычислений, разработанная NVIDIA, для общих вычислений на графических процессорах (GPU). С помощью CUDA разработчики могут значительно ускорить вычислительные приложения, используя возможности графических процессоров. На нашем сервере, который мы приобрели, данная платформа уже установлена.

Давайте сначала определим наше GPU как первое видимое устройство cuda.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

Отправляем сеть на GPU:

Так же нам придется отправлять входы и цели на каждом шаге и в GPU:

Запустим повторное обучение сети уже на GPU:

В этот раз обучение сети продолжалось по времени около 3 минут. Напомним что тот же этап на обычном процессоре длился 5 минут. Разница не существенная, это происходит потому что наша сеть не такая большая. При использовании больших массивов для обучения разница между скоростью работы GPU и традиционного процессора буде возрастать.

На этом кажется все. Что нам удалось сделать:

Источник

💠 Как выбрать видеокарту для нейронных сетей и глубокого обучения

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетей

1. Разница между ЦП и ГП

Центральный процессор (ЦП) не оптимизирован для одновременного выполнения большого количества простых операций. Для параллельных вычислений лучше подходит графический процессор (ГП):

2. Устройство ГП

2.1. CUDA

Графический процессор состоит из набора независимых мультипроцессоров, которые включают в себя :

На одном ядре CUDA (архитектура параллельных вычислений от NVIDIA) выполняется одна нить, иначе – поток. Каждому потоку соответствует один элемент вычисляемых данных. Потоки образуют блоки, которые общаются между собой через:

Мультипроцессор на каждом такте выполняет одну и ту же инструкцию над варпом (warp) – группой из 32 потоков. Потоки одного варпа принадлежат одному блоку и могут взаимодействовать только между собой. Каждому потоку и блоку присваивается идентификатор – трехмерный целочисленный вектор:

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 5. Сетка блоков в CUDA

Алгоритм работы технологии CUDA выглядит следующим образом.

2.2. Иерархия памяти

Локальная память (local memory):

Разделяемая память (shared memory):

Глобальная память (global memory):

Константная память (constant memory):

Текстурная память (texture memory):

3. Как выбрать ГП

Последовательность шагов при выборе ГП.

3.1. Когда достаточно менее 11 ГБ памяти

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 10. Видеокарта NVIDIA RTX 3080

3.2. Когда нужно больше 11 ГБ памяти

3.3. Тензорные ядра

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 11. Архитектура тензорных ядер в GeForce RTX 2080 Super и GeForce RTX 3080

3.4. Пропускная способность памяти

Тензорные ядра быстрые и обычно простаивают до 70% времени, ожидая данные из глобальной памяти. Поэтому выбирайте ГП с максимальной пропускной способностью памяти. Еще нужна большая разделяемая память и кэш L1, чтобы сократить число обращений к внешней памяти и держать данные ближе к АЛУ.

Сколько нужно памяти:

3.5. Система охлаждения

В конструкции системы охлаждения Reference RTX 30 (NVIDIA) первый вентилятор расположен на верхней стороне видеокарты. Он выдувает воздух в пространство, где расположена оперативная память и процессор. Второй вентилятор выдувает воздух сразу из корпуса (Рис. 12).

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 12. Cистема охлаждения Reference RTX 30

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

3.6. Электропитание

Картам может не хватить мощности блока питания. Четыре карты RTX 3090 потребляют на пике 1400 Вт. Продаются блоки питания на 1600 Вт, но остальным комплектующим 200 Вт может быть недостаточно.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 13. Блок питания Super Flower Leadex Titanium SF-1600F14HT на 1600 Вт

3.7. Рекомендации для кластеров

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 14. Сервер SuperMicro Superserver 4028gr-tvrt, до 8 Tesla v100 sxm2

Для кластера из 256+ ГП – NVIDIA DGX SuperPOD.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 15. Суперкомпьютер NVIDIA DGX SuperPOD

При 1024+ ГП – Google TPU Pod и NVIDIA DGX SuperPod.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 16. Суперкомпьютер Google TPU Pod на тензорных процессорах

3.8. Не покупайте эти карты

Не покупайте более одной видеокарты RTX Founders Editions или RTX Titans, если нет PCIe-удлинителей для решения проблем с охлаждением.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 17. Видеокарта NVIDIA RTX Titan

Tesla V100 или A100 рентабельны только в кластерах. Карты серии GTX 16 имеют низкую производительность, так как из них убрали тензорные ядра. Аналоги GTX 16: б/у RTX 2070, RTX 2060 или RTX 2060 Super.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 18. Видеокарта NVIDIA Tesla V100

3.9. Нужен ли PCI 4.0?

3.10. Необходимы только 8x/16x PCIe-слоты?

Использовать исключительно 8x и 16x PCIe-слоты необязательно. Допускается работа двух ГП на слотах 4х. При установке четырех ГП предпочтение отдавайте слотам 8x на каждый ГП, так как производительность слота 4x ниже на 5-10%.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 19. Слоты PCIe x1, x4, x16

3.11. Можно ли использовать разные карты вместе?

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

3.12. Что такое NVLink и полезно ли это?

NVLink – высокоскоростное соединение между ГП. В небольших кластерах (

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 20. Производительность NVLink M40, P100, V100 и A100

3.13. Что делать, если не хватает денег на топовые ГП?

Купить подержанные ГП, либо воспользоваться облачными сервисами. Бюджетные варианты (в порядке убывания цены и производительности):

3.14. Итог

Напоследок несколько сравнительных гистограмм характеристик различных GPU.

видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 21. Производительность видеокарт относительно RTX 2080 Ti. видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 22. Производительность на доллар (US) ГП относительно RTX 3080. видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 23. Производительность на доллар (US) четырех ГП относительно четырех RTX 3080. видеокарта для обучения нейронных сетей. Смотреть фото видеокарта для обучения нейронных сетей. Смотреть картинку видеокарта для обучения нейронных сетей. Картинка про видеокарта для обучения нейронных сетей. Фото видеокарта для обучения нейронных сетейРис. 24. Производительность на доллар (US) восьми ГП относительно восьми RTX 3080.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *