Эта статья написана [Передовая линия ИИ] Оригинал, исходная ссылка: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:
- [3] Deep Residual Learning for Image Recognition:
- [4] Deep Residual Learning for Image Recognition:
- [5] Very Deep Convolutional Networks for Large-Scale Image Recognition:
- [6] ImageNet Classification with Deep Convolutional Neural Networks:
Бумаги.Грязевой Бодхисаттва.Цао Цао/бумага/4824-…
- [7] ImageNet:
- [8] tf_cnn_benchmarks: High performance benchmarks:
- [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".