- Оригинальный адрес:woohoo.tensorflow.org/performance…
- Перевод с:Программа перевода самородков
- Переводчик:charsdavy
- Корректор:joyking7
ориентир
Обзор
Сообщество TensorFlow создало ряд контрольных точек для моделей классификации изображений для мультиплатформенного тестирования. существуетметодВ разделах подробно описано, как выполнять тесты, и даны ссылки на используемые скрипты.
Результаты моделей классификации изображений
InceptionV3 (arXiv:1512.00567), ResNet-50 (arXiv:1512.03385), ResNet-152 (arXiv:1512.03385), VGG16 (arXiv:1409.1556), иAlexNetиспользоватьImageNetтест набора данных. Тесты проводились на Google Compute Cloud Engine, Amazon Compute Cloud (Amazon EC2) и NVIDIA® DGX-1™. В большинстве тестов используются синтетические и реальные данные.
Тестирование на синтетических данных выполняется с помощьюtf.Variable
Установите одинаковую форму, за исключением каждой модели ImageNet. Мы считаем важным включать реальные данные при оценке эталонных показателей платформы. Нагрузочное тестирование базового оборудования и инфраструктуры предназначено для обучения на реальных данных. Мы начали синтезировать данные, чтобы удалить дисковый ввод-вывод в качестве переменной и установить эталон. Затем реальные данные используются для проверки входных данных TensorFlow и базовых вычислительных блоков дискового ввода-вывода.
Обучение с NVIDIA® DGX-1™ (NVIDIA® Tesla® P100)
Подробности и дополнительные результаты вNVIDIA® DGX-1™ (NVIDIA® Тесла® P100) подробностиглава.
Тренируйтесь с NVIDIA® Tesla® K80
Подробности и дополнительные результаты вВычислительный движок Google (NVIDIA® Tesla® K80) ПодробнееиAmazon EC2 (NVIDIA® Tesla® K80) подробнееглава.
Распределенное обучение с NVIDIA® Tesla® K80
Подробности и дополнительные результаты вРаспределенный Amazon EC2 (NVIDIA® Tesla® K80) Подробнееглава.
Сравнение синтетических и реальных данных обучения
NVIDIA® Тесла® P100
NVIDIA® Тесла® K80
NVIDIA® DGX-1™ (NVIDIA® Tesla® P100) Подробнее
Конфигурация среды
- Instance type: 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. Эти результаты находятся вдругие результатыглава.
Options | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
Batch size per GPU | 64 | 64 | 64 | 512 | 64 |
Optimizer | sgd | sgd | sgd | sgd | sgd |
Конфигурация для каждой модели.
Model | variable_update | local_parameter_device |
---|---|---|
InceptionV3 | parameter_server | cpu |
ResNet50 | parameter_server | cpu |
ResNet152 | parameter_server | cpu |
AlexNet | replicated (with NCCL) | n/a |
VGG16 | replicated (with NCCL) | n/a |
результат
обучение синтетическим данным
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
1 | 142 | 219 | 91.8 | 2987 | 154 |
2 | 284 | 422 | 181 | 5658 | 295 |
4 | 569 | 852 | 356 | 10509 | 584 |
8 | 1131 | 1734 | 716 | 17822 | 1081 |
обучение на реальных данных
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
1 | 142 | 218 | 91.4 | 2890 | 154 |
2 | 278 | 425 | 179 | 4448 | 284 |
4 | 551 | 853 | 359 | 7105 | 534 |
8 | 1079 | 1630 | 708 | N/A | 898 |
Как видно из приведенной выше диаграммы, модель AlexNet не использовала 8 графических процессоров для обучения данных из-за ограничения максимального количества входных данных.
другие результаты
Ниже приведены результаты для партии размером 32.
обучение синтетическим данным
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | VGG16 |
---|---|---|---|---|
1 | 128 | 195 | 82.7 | 144 |
2 | 259 | 368 | 160 | 281 |
4 | 520 | 768 | 317 | 549 |
8 | 995 | 1485 | 632 | 820 |
обучение на реальных данных
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | VGG16 |
---|---|---|---|---|
1 | 130 | 193 | 82.4 | 144 |
2 | 257 | 369 | 159 | 253 |
4 | 507 | 760 | 317 | 457 |
8 | 966 | 1410 | 609 | 690 |
Подробная информация о 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
Размер партии и оптимизатор для каждой модели показаны в таблице ниже. В дополнение к размеру партии, показанному в таблице ниже, InceptionV3 и ResNet-50 также тестировались с размером партии 32. Эти результаты находятся вдругие результатыглава.
Options | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
Batch size per GPU | 64 | 64 | 32 | 512 | 32 |
Optimizer | sgd | sgd | sgd | sgd | sgd |
В конфигурации, используемой каждой моделью, конфигурация variable_update и parameter_server одинакова, а конфигурация local_parameter_device и cpu одинакова.
результат
обучение синтетическим данным
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
1 | 30.5 | 51.9 | 20.0 | 656 | 35.4 |
2 | 57.8 | 99.0 | 38.2 | 1209 | 64.8 |
4 | 116 | 195 | 75.8 | 2328 | 120 |
8 | 227 | 387 | 148 | 4640 | 234 |
обучение на реальных данных
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
1 | 30.6 | 51.2 | 20.0 | 639 | 34.2 |
2 | 58.4 | 98.8 | 38.3 | 1136 | 62.9 |
4 | 115 | 194 | 75.4 | 2067 | 118 |
8 | 225 | 381 | 148 | 4056 | 230 |
другие результаты
обучение синтетическим данным
GPUs | InceptionV3 (batch size 32) | ResNet-50 (batch size 32) |
---|---|---|
1 | 29.3 | 49.5 |
2 | 55.0 | 95.4 |
4 | 109 | 183 |
8 | 216 | 362 |
обучение на реальных данных
GPUs | InceptionV3 (batch size 32) | ResNet-50 (batch size 32) |
---|---|---|
1 | 29.5 | 49.3 |
2 | 55.4 | 95.3 |
4 | 110 | 186 |
8 | 216 | 359 |
Подробная информация об 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. Эти результаты находятся вдругие результатыглава.
Options | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
Batch size per GPU | 64 | 64 | 32 | 512 | 32 |
Optimizer | sgd | sgd | sgd | sgd | sgd |
Конфигурация для каждой модели.
Model | variable_update | local_parameter_device |
---|---|---|
InceptionV3 | parameter_server | cpu |
ResNet-50 | replicated (without NCCL) | gpu |
ResNet-152 | replicated (without NCCL) | gpu |
AlexNet | parameter_server | gpu |
VGG16 | parameter_server | gpu |
результат
обучение синтетическим данным
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
1 | 30.8 | 51.5 | 19.7 | 684 | 36.3 |
2 | 58.7 | 98.0 | 37.6 | 1244 | 69.4 |
4 | 117 | 195 | 74.9 | 2479 | 141 |
8 | 230 | 384 | 149 | 4853 | 260 |
обучение на реальных данных
GPUs | InceptionV3 | ResNet-50 | ResNet-152 | AlexNet | VGG16 |
---|---|---|---|---|---|
1 | 30.5 | 51.3 | 19.7 | 674 | 36.3 |
2 | 59.0 | 94.9 | 38.2 | 1227 | 67.5 |
4 | 118 | 188 | 75.2 | 2201 | 136 |
8 | 228 | 373 | 149 | N/A | 242 |
Поскольку наша EFS не обеспечивала достаточной пропускной способности, на приведенном выше графике мы исключили статистику использования 8 графических процессоров для обучения модели AlexNet.
другие результаты
обучение синтетическим данным
GPUs | InceptionV3 (batch size 32) | ResNet-50 (batch size 32) |
---|---|---|
1 | 29.9 | 49.0 |
2 | 57.5 | 94.1 |
4 | 114 | 184 |
8 | 216 | 355 |
обучение на реальных данных
GPUs | InceptionV3 (batch size 32) | ResNet-50 (batch size 32) |
---|---|---|
1 | 30.0 | 49.1 |
2 | 57.5 | 95.1 |
4 | 113 | 185 |
8 | 212 | 353 |
Подробная информация о Amazon EC2 Distributed (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. Эти результаты находятся вдругие результатыглава.
Options | InceptionV3 | ResNet-50 | ResNet-152 |
---|---|---|---|
Batch size per GPU | 64 | 64 | 32 |
Optimizer | sgd | sgd | sgd |
Конфигурация для каждой модели.
Model | variable_update | local_parameter_device | cross_replica_sync |
---|---|---|---|
InceptionV3 | distributed_replicated | n/a | True |
ResNet-50 | distributed_replicated | n/a | True |
ResNet-152 | distributed_replicated | n/a | True |
Чтобы упростить настройку сервера, экземпляры 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
результат
обучение синтетическим данным
GPUs | InceptionV3 | ResNet-50 | ResNet-152 |
---|---|---|---|
1 | 29.7 | 52.4 | 19.4 |
8 | 229 | 378 | 146 |
16 | 459 | 751 | 291 |
32 | 902 | 1388 | 565 |
64 | 1783 | 2744 | 981 |
другие результаты
обучение синтетическим данным
GPUs | InceptionV3 (batch size 32) | ResNet-50 (batch size 32) |
---|---|---|
1 | 29.2 | 48.4 |
8 | 219 | 333 |
16 | 427 | 667 |
32 | 820 | 1180 |
64 | 1608 | 2315 |
метод
Приведенный выше результат используетсценарийСоздан для работы на различных платформах.«Высокопроизводительные модели»В статье подробно описаны приемы в скрипте с примерами выполнения скрипта.
Чтобы получить максимально воспроизводимые результаты, каждый тест запускался 5 раз, а затем усреднялся. На данной платформе графический процессор работает по умолчанию. Для NVIDIA® Tesla® K80 это означает отказ от использованияGPU Boost.
Для каждого теста необходимо выполнить 10 разминок, а затем в среднем выполняется 100 тестов.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из ИнтернетаНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.