Нет ускорения при переходе от модели нейронной сети на базе процессоров к параллелизму графических процессоров на 4 графических процессорах Nvidia.Могу ли я использовать XLA_GPU в качестве устройства? - PullRequest
0 голосов
/ 22 февраля 2019

Я использую диспетчер развертывания в Google Cloud для создания виртуальной машины с 4 графическими процессорами.Я преобразовал свою модель нейронной сети (построенную с использованием тензорного потока) для параллелизации данных и обучения пакетов на каждом из 4 графических процессоров.Я усредняю ​​градиенты на процессоре, а затем возвращаю переменные в графический процессор.Очень похоже на модель CIFAR-10

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

Во время мониторинга я заметил, что каждый из 4 графических процессоров использует около 16% использования графического процессора и почти все 11441 МБ памяти на каждом из них.

Myвопросы: - 1. Что такое хороший способ устранения неполадок, почему не видно повышения производительности?Это из-за памяти, batch_size или просто моих данных?Является ли метод проб и ошибок единственным способом устранения неполадок в этом 2. Я также вижу 2 устройства под названием XLA_GPU и XLA_CPU.Я понимаю, что XLA - это технология тензорного потока для запуска более быстрых моделей, но я не уверен, действительно ли она используется для моей модели.Могу ли я усреднить градиенты на XLA_GPU вместо процессора?

Спасибо

...