Как максимизировать загрузку графического процессора при использовании Pytorch?Python

Программы на Python
Anonymous
Как максимизировать загрузку графического процессора при использовании Pytorch?

Сообщение Anonymous »

Я использую RTX 4090 с процессором 7950X. Моя цель — максимизировать использование графического процессора при запуске относительно простой модели с табличными данными. Модель имеет менее 1 миллиона параметров, а форма данных — (5 000 000, 120). Когда я обучаю модель, используется только 18% графического процессора, а для завершения обучения требуется около 3 часов.
Основная проблема заключается в том, что если бы я мог каким-то образом использовать 90% графического процессора, время обучения будет значительно сокращено, возможно, до одной пятой текущего времени, что сэкономит мне много времени.
Я пробовал различные решения, такие как корректировка размера пакета, увеличение сложности модели и изменение num_workers DataLoader, но ничего из этого не сработало. Независимо от моих настроек загрузка графического процессора остается в районе 10-15%. Это меня расстраивало.
Из-за этого мне пришла в голову идея использовать многопроцессорность. Поскольку я использую один графический процессор, а он использует только 18% для одной модели, у меня еще есть место для запуска еще четырех моделей. Я думал, что одновременная работа пяти разных моделей может увеличить загрузку графического процессора примерно до 100%, тем самым сэкономив много времени. Однако, когда я попробовал использовать многопроцессорность PyTorch, все пошло не так.
Может ли кто-нибудь мне помочь с этим, или моя идея неосуществима с PyTorch?
Что я пробовал:
  • Увеличение размера пакета с 64 до 4096, 40962, 40964
    Использование num_workers (2,4,8)
  • Добавление дополнительных слоев в модель
  • Использование pytorch.multiprocessing


Подробнее здесь: https://stackoverflow.com/questions/786 ... ng-pytorch

Вернуться в «Python»