[DEBUG] Torch Distributed Error: Received 1 death signal, shutting down workers

반응형

Polyglot 12.8b 모델을 Deepspeed Zero stage 3단계로 GPU 3개를 사용하여 훈련하던 중 발생한 에러: 

WARNING:torch.distributed.elastic.agent.server.api:Received 1 death signal, shutting down workers
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52341 closing signal SIGHUP
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 53129 closing signal SIGHUP
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 53820 closing signal SIGHUP
torch.distributed.elastic.multiprocessing.api.SignalException: Process 52318 got signal: 1

이상하게도 Epoch을 돌다가 갑자기 worker가 죽는 문제가 발생했다. 

 

찾아보니, 해당 코드를 Nohup으로 돌려서 생기는 문제였다.

https://github.com/open-mmlab/mmrotate/issues/210

 

Error: Received 1 death signal, shutting down workers · Issue #210 · open-mmlab/mmrotate

I'm using distributed training on mmrotate, but got the error several times. Command to run CUDA_VISIBLE_DEVICES=2,4 nohup tools/dist_train.sh /home/ymdong/mmrotate/configs/rotated_retinanet/rotate...

github.com

 

파인튜닝 시간이 오래 걸려 Nohup을 사용해서 데몬으로 돌리고 있었는데, 위 이슈에서 Nohup을 사용해서 Distributed Training을 하게 되면 터미널을 종료할 때 SIGHUP signal를  받는다고 해서, 추천한대로 tmux로 교체해서 돌려보았다. 

 

 

 


 

 

TMUX 간단 사용법

 

1) tmux로 daemon 터미널 생성

tmux new -s poyglot_finetuning -d

 

2) 생성한 daemon 터미널 들어가기

tmux a -t polyglot_finetuning

 

3) 그 안에서 원하는 코드를 돌려주면 된다. 

bash run.sh # 내 파인튜닝 코드

 

다행히 더 이상 문제가 일어나지 않고 잘 훈련이 된다!

반응형

'Tips' 카테고리의 다른 글

NVLink in GPUs  (0) 2023.08.31
[Sox] 오디오 파일의 Sample Rate 변환  (0) 2023.07.24
[VSCode] Vscode에서 검색한 내용 복사하기  (0) 2023.05.08
[환경설정] conda disk quota exceeded 해결  (0) 2023.04.24