Мультиплатформенные тесты для TensorFlow

TensorFlow GitHub контрольная работа модульный тест
Мультиплатформенные тесты для TensorFlow

Эта статья написана [Передовая линия ИИ] Оригинал, исходная ссылка:t.cn/RTfLHuE

Автор | Команда TensorFlow

Перевод | Лю Чжиюн

Монтаж | Винсент, Эмили


Введение в передовую ИИ:Чтобы выбрать модель классификации изображений, команда TensorFlow недавно провела тесты [1] на нескольких платформах, чтобы предоставить справочную информацию сообществу TensorFlow. В разделе «Как сделать» этой статьи подробно описано, как выполнить тест, и даны ссылки на используемые сценарии.


Результаты моделей классификации изображений

InceptionV3[2], ResNet-50[3], ResNet-152[4], VGG16[5] и AlexNet[6] были протестированы с набором данных ImageNet[7]. В качестве тестовых сред использовались Google Compute Engine, Elastic Compute Cloud (Amazon EC2) и NVIDIA® DGX-1™. В большинстве тестов использовались синтетические и реальные данные. Тестирование с синтетическими данными выполняется с помощью tf.Variable, установленного в ту же форму, что и данные, ожидаемые каждой из моделей ImageNet. Мы считаем, что измерения, включающие реальные данные, важны для платформ сравнительного анализа. Эта загрузка тестирует базовое оборудование и платформу для подготовки фактических обучающих данных. Мы начинаем с синтетических данных, удаляем дисковый ввод-вывод в качестве переменной и устанавливаем базовый уровень. Затем используйте реальные данные, чтобы убедиться, что входной конвейер TensorFlow и базовый дисковый ввод-вывод не перегружены вычислительными единицами.


Обучение с NVIDIA® DGX-1™ (NVIDIA® Tesla® P100)

Дополнительные сведения и дополнительные результаты см. в разделе «NVIDIA® DGX-1™ (NVIDIA® Tesla® P100)».


Тренировка с NVIDIA® Tesla® K80


Дополнительные сведения и дополнительные результаты см. в разделах «Google Compute Engine (NVIDIA® Tesla® K80)» и «Amazon EC2 (NVIDIA® Tesla® K80)».


Распределенное обучение с NVIDIA® Tesla® K80

Дополнительные сведения и дополнительные результаты см. в разделе Amazon EC2 Distributed (NVIDIA® Tesla® K80).


Сравнение обучения с синтетическими и реальными данными

NVIDIA® Tesla® P100

NVIDIA® Tesla® K80


NVIDIA® DGX-1™ (NVIDIA® Tesla® P100) Подробнее

окрестности

  • Тип экземпляра: NVIDIA® DGX-1™
  • GPU: 8x NVIDIA® Tesla® P100
  • OS: Ubuntu 16.04 LTS with tests run via Docker
  • CUDA / cuDNN: 8.0 / 5.1
  • TensorFlow GitHub hash: b1e174e
  • Benchmark GitHub hash: 9165a70
  • Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package
  • Disk: Local SSD
  • DataSet: ImageNet
  • Test Date: May 2017

Размер партии и оптимизатор, используемый для каждой модели, показаны в таблице ниже. В дополнение к размерам партий, указанным в таблице ниже, InceptionV3, ResNet-50, ResNet-152 и VGG16 были протестированы с размером партии 32. Эти результаты находятся в разделе «Другие результаты».

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


результат


обучение синтетическим данным


обучение на реальных данных


На приведенных выше графиках и в таблицах исключен AlexNet, обученный на реальных данных на 8 графических процессорах, поскольку он максимизирует входной конвейер.


другие результаты

Приведенные ниже результаты представляют все размеры партии 32.

обучение синтетическим данным


обучение на реальных данных


Google Compute Engine (NVIDIA® Tesla® K80) Подробнее

окрестности

  • Instance type: n1-standard-32-k80x8
  • GPU: 8x NVIDIA® Tesla® K80
  • OS: Ubuntu 16.04 LTS
  • CUDA / cuDNN: 8.0 / 5.1
  • TensorFlow GitHub hash: b1e174e
  • Benchmark GitHub hash: 9165a70
  • Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package
  • Disk: 1.7 TB Shared SSD persistent disk (800 MB/s)
  • DataSet: ImageNet
  • Test Date: May 2017

Размер партии и оптимизатор, используемый каждой моделью, перечислены в таблице ниже. Размер пакета для Inception V3 и ResNet-50 составляет 32, за исключением пакетов, перечисленных в таблице. Эти результаты находятся в разделе «Другие результаты».


Переменная_обновление, параметр_сервер, локальный_параметр_устройство и процессор для каждой конфигурации модели, которые равны.


результат

обучение синтетическим данным


обучение на реальных данных


другие результаты

обучение синтетическим данным


обучение на реальных данных


Amazon EC2 (NVIDIA® Tesla® K80) Подробные сведения

окрестности

  • Instance type: p2.8xlarge
  • GPU: 8x NVIDIA® Tesla® K80
  • OS: Ubuntu 16.04 LTS
  • CUDA / cuDNN: 8.0 / 5.1
  • TensorFlow GitHub hash: b1e174e
  • Benchmark GitHub hash: 9165a70
  • Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package
  • Disk: 1TB Amazon EFS (burst 100 MiB/sec for 12 hours, continuous 50 MiB/sec)
  • DataSet: ImageNet
  • Test Date: May 2017

В нижних индексах указан размер пакета и оптимизатор, используемый каждой моделью. В дополнение к размерам пакетов, указанным в таблице, размер пакета InceptionV3 и ResNet-50 составляет 32. Эти результаты находятся в разделе «Другие результаты».

Конфигурация для каждой модели.


результат

обучение синтетическим данным


обучение на реальных данных



В приведенных выше графиках и таблицах обучение AlexNet с реальными данными на 8 графических процессорах исключено, поскольку наша настройка EFS не обеспечивает достаточную пропускную способность.


другие результаты

обучение синтетическим данным


обучение на реальных данных


Распределенная Amazon EC2 (NVIDIA® Tesla® K80) Подробные сведения

окрестности

  • Instance type: p2.8xlarge
  • GPU: 8x NVIDIA® Tesla® K80
  • OS: Ubuntu 16.04 LTS
  • CUDA / cuDNN: 8.0 / 5.1
  • TensorFlow GitHub hash: b1e174e
  • Benchmark GitHub hash: 9165a70
  • Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package
  • Disk: 1.0 TB EFS (burst 100 MB/sec for 12 hours, continuous 50 MB/sec)
  • DataSet: ImageNet
  • Test Date: May 2017

В следующей таблице перечислены размеры пакетов и оптимизаторы, используемые для тестирования. В дополнение к размерам пакетов, указанным в таблице, размер пакета InceptionV3 и ResNet-50 составляет 32. Эти результаты включены в раздел «Другие результаты».

Конфигурация для каждой модели.

Чтобы упростить настройку сервера, экземпляр EC2 (p2.8xlarge), на котором запущен рабочий сервер, также запускает сервер параметров. Используйте одинаковое количество серверов параметров и рабочих серверов, за исключением того, что:

  • InceptionV3: 8 instances / 6 parameter servers
  • ResNet-50: (batch size 32) 8 instances / 4 parameter servers
  • ResNet-152: 8 instances / 4 parameter servers


результат


обучение синтетическим данным


другие результаты


обучение синтетическим данным


метод

Этот скрипт [8] работает на разных платформах и дает указанные выше результаты. Модель высокой производительности [9] подробно описывает методы написания сценариев и пример того, как выполнять сценарий.

Для достижения как можно более воспроизводимых результатов каждый тест запускался пять раз, и время усреднялось. Графический процессор работает в состоянии по умолчанию на данной платформе. Для NVIDIA® Tesla® K80 это означает отказ от GPU Boost[10]. Для каждого теста выполняется 10 шагов разминки, а следующие 100 шагов усредняются.

Ссылка на ссылку:

  • [1] Benchmarks:

woohoo.tensorflow.org/performance…

  • [2] Rethinking the Inception Architecture for Computer Vision:

АР Вест V.org/ABS/1512.00…

  • [3] Deep Residual Learning for Image Recognition:

АР Вест V.org/ABS/1512.03…

  • [4] Deep Residual Learning for Image Recognition:

АР Вест V.org/ABS/1512.03…

  • [5] Very Deep Convolutional Networks for Large-Scale Image Recognition:

АР Вест V.org/ABS/1409.15…

  • [6] ImageNet Classification with Deep Convolutional Neural Networks:

Бумаги.Грязевой Бодхисаттва.Цао Цао/бумага/4824-…

  • [7] ImageNet:

www.image-net.org/

  • [8] tf_cnn_benchmarks: High performance benchmarks:

GitHub.com/tensorflow/…

  • [9] High-Performance Models:

woohoo.tensorflow.org/performance…

  • [10] Increase Performance with GPU Boost and K80 Autoboost:

Dev blog.NVIDIA.com/parallel для…

Следите за нами в WeChat"Передовая линия ИИ", ответьте "AI" в фоновом режиме, чтобы получить серию электронных книг в формате PDF "AI Frontline".