반응형
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
파인튜닝 시간이 오래 걸려 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 |