Авторы статьи: Ракшитх Васудев (Rakshith Vasudev) и Джон Локман (John Lockman), HPC AI Innovation Lab, октябрь 2019 г.
Контейнер NGC nvcr.io/nvidia/tensorflow:19.06- py3 |
Версии среды Conda |
|
Структура |
TensorFlow 1.13.1 |
TensorFlow 1.12.0 |
Horovod |
0.15.1 |
0.16.1 |
MPI |
OpenMPI 3.1.3 |
OpenMPI 4.0.0 |
CUDA |
10,2 |
10.1 |
Драйвер CUDA |
430.26 |
418.40.04 |
NCCL |
2.4.7 |
2.4.7 |
CUDNN |
7.6.0 |
7.6.0 |
Python |
3.5.2 |
3.6.8 |
Операционная система |
Ubuntu 16.04.6 |
RHEL 7.4 |
GCC |
5.4.0 |
7,2.0. |
Таблица 1.
Как было указано ранее, CheXNet — это вспомогательная модель на основе ИИ для радиологов, которая использует DenseNet для идентификации до 14 патологий на изображении рентгена грудной клетки. Были изучены несколько подходов горизонтального масштабирования обучения модели, которая может работать также или лучше, чем оригинальная модель CheXNet-121 с RESNET-50, демонстрирующих положительные перспективы как для масштабируемости, так и для повышения точности обучения (положительное значение AUROC). Авторы продемонстрировали масштабируемость систем с ЦП, однако мы заинтересованы в использовании параллелизма графических процессоров для ускорения процесса обучения. Сервер Dell EMC PowerEdge C4140 обеспечивает как плотность, так и производительность благодаря четырем графическим процессорам Nvidia V100 в конфигурации SXM2.
Система в исходном состоянии |
Система Kubernetes |
|
Платформа |
PowerEdge C4140 |
PowerEdge C4140 |
ЦП |
2 процессора Intel® Xeon® Gold 6148, 2,4 ГГц |
2 процессора Intel® Xeon® Gold 6148, 2,4 ГГц |
Модули |
384 Гбайт, DDR4 2666 МГц |
384 Гбайт, DDR4 2666 МГц |
Хранилища |
Lustre |
NFS |
Графический процессор |
V100-SXM2 32 Гбайт |
V100-SXM2 32 Гбайт |
Операционная система |
RHEL 7,4 x86_64 |
CentOS 7.6 |
Ядро Linux |
3.10.0-693.x86_64 |
3.10.0-957.21.3.el7.x86_64 |
Сеть |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IP over IB) |
Пропускная способность изображений измерялась в изображениях в секунду при тестировании CheXNet на 2 узлах C4140 с 1, 2, 3, 4 и 8 графическими процессорами на обеих системах, описанных в Таблице 2. Характеристики запуска, включая архитектуру модели, входные данные и другие сведения, подробно описаны в этой статье. На рис. 1 представлено сравнение показателей производительности системы Kubernetes и системы в исходном состоянии.
Рис. 1. Запуск тестирования CheXNet на K8s и системе в исходном состоянии
Система в исходном состоянии показывает увеличение производительности на 8% при горизонтальном масштабировании до 8 графических процессоров. Однако различия в характеристиках архитектуры системы могли привести к такой незначительной разнице в производительности, помимо сравнения контейнерной системы и системы в исходном состоянии. Система в исходном состоянии может использовать полную пропускную способность и задержку необработанного соединения InfiniBand. Кроме того, ей не придется справляться с издержками, к которым приводят программно-определяемые сетевые сервисы, например фланель. Дело еще и в том, что система K8s использует протокол IP over InfiniBand, который может привести к сокращению пропускной способности.
Эти значения могут различаться в зависимости от рабочей нагрузки и схем связи, определяемых типом запущенных приложений. В случае проблем с классификацией изображений скорость, с которой устанавливается связь между графическими процессорами, высока, и, следовательно, уровень обмена данными тоже. Однако именно требования рабочей нагрузки определяют, какой метод использовать. Хотя в системе на базе Kubernetes отмечается небольшое снижение производительности — около 8% в этом случае — она позволяет освободить пользователей и администраторов от настройки библиотек, параметров, сред и других зависимых компонентов. Этот метод позволяет аналитикам данных повысить свою продуктивность и сосредоточить свое внимание на разрешении основных задач бизнеса, например первичная обработка данных и построение модели.