PyTorch "Ошибка NCCL: необработанная системная ошибка" во время backprop - PullRequest
1 голос
/ 11 мая 2019

Я пытаюсь провести распределенное обучение с помощью PyTorch и столкнулся с проблемой. Эта ошибка во время выполнения возникает во время backprop (первый пакет, первая эпоха).

  File "/home/user/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/user/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/user/anaconda3/lib/python3.7/site-packages/mpi4py/__main__.py", line 7, in <module>
    main()
  File "/home/user/anaconda3/lib/python3.7/site-packages/mpi4py/run.py", line 196, in main
    run_command_line(args)
  File "/home/user/anaconda3/lib/python3.7/site-packages/mpi4py/run.py", line 47, in run_command_line
    run_path(sys.argv[0], run_name='__main__')
  File "/home/user/anaconda3/lib/python3.7/runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "/home/user/anaconda3/lib/python3.7/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/home/user/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "project/main.py", line 115, in <module>
    trainer.run(config["epochs"])
  File "/home/user/project/trainer/trainer.py", line 107, in run
    self.run_epoch()
  File "/home/user/project/trainer/trainer.py", line 70, in run_epoch
    loss.backward()
  File "/home/user/anaconda3/lib/python3.7/site-packages/torch/tensor.py", line 107, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/home/user/anaconda3/lib/python3.7/site-packages/torch/autograd/__init__.py", line 93, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:272, unhandled system error

Я использую MPI для автоматического присвоения ранга и NCCL в качестве основного бэкенда. Инициализация выполняется через файл в общей файловой системе. Каждый процесс использует 2 графических процессора, процессы выполняются на разных узлах. Переменная среды NCCL_SOCKET_IFNAME установлена. Ранее этот код работал нормально: (

Кто-нибудь знает, почему может возникнуть эта ошибка?

UPD 13/05/19: Был достигнут прогресс. Первоначально произошла ошибка при инициализации модели, теперь при первом обратном проходе.

...