파이토치 다중노드 학습

안녕하세요.
파이토치 다중노드로 분산학습을 시키려고 합니다.
환경은 리눅스구요. telnet과 ping으로 tcp연결되어있는것은 확인했습니다.
그런데 분산학습이 잘 안되더라구요.
혹시 파이토치, 파이썬, 쿠다버전이 분산학습에 영향을 미칠까요?
버전을 동일시해야 학습을 할 수 있을까요?
telnet과 ping으로 연결은 확인했는데 프로그램을 실행시키고 나서는 한참있다가 No route to host가 뜨면서
종료되더라구요.

1개의 좋아요

안녕하세요, @utjune 님.

보통 환경을 맞추고 진행을 하는 것이 일반적이라, 버전을 맞추시는 것이 좋지 않을까 싶습니다.

그런데 말씀하신 것처럼 한참 있다가 no route to host라는 메시지가 떴다면,
네트워크쪽 문제일 가능성이 더 커보입니다.

혹시 telnet으로 확인하실 때 각 서버들에서 해당 포트로 확인하신게 맞으실까요?
따로 방화벽 등이 설정되어 있는 것은 아니실련지요?

네네 해당포트로 확인하였고 방화벽은 설정이 안되어있습니다.
지금은 socket timeout이라고 오류가 뜨네요 ㅠ
그리고 일단 가상환경 하나 더 만들고 버전을 똑같이 맞추려고 하고있습니다.

앗…그러시군요ㅠ 무슨 문제인지 도통 감이 안오네요;;
진행하시면서 다른 이슈가 발생하시거나 해결하시면 공유 부탁드립니다! :bowing_man:

가상환경을 새로 만들어서 파이썬, 파이토치, 쿠다 버전을 다 똑같게 해주니 돌아가네요!
근데 싱글노드로 3090 한장으로 돌릴때보다 5배~10배 느려졌는데… 이건 왜 그런지 모르겠네요 ㅠㅠ

멀티 노드 학습에서 Communication Cost가 더 많이 들 경우에는 느려질 수 도 있습니다.
GPU utillization 이 얼마나 되는지 살펴 보시는게 좋을 것 같습니다.