본문 바로가기

nccl

(3)
RuntimeError: no support for _allgather_base in Gloo process group 에러가 일어난 곳: https://github.com/mlfoundations/open_flamingo/tree/main/open_flamingo/train Openflamingo model을 gloo로 설정해서 돌리는데 해당 부분에서 에러가 일어났다. 검색을 해보니, _allgather_base함수가 nccl에서 작동되지 않는다고 한다... 어떻게 해결해야할까!? Method: [torch_list] 형태로 all_gather 이용하기 해당 문제를 풀기 위해서는 일단 _exec_order_utils.py라는 system file로 들어와야 한다. 그리고 해당 파일에서 밑의 코드와 같은 부분을 찾을 수 있다! world_num_valid_indices = torch.zeros(self.world_size..
AttributeError: 'GatedCrossAttentionBlock' object has no attribute 'clip_grad_norm_' 에러가 일어난 곳: https://github.com/mlfoundations/open_flamingo/tree/main/open_flamingo/train Openflamingo model을 nccl없이 gloo만 해서 훈련하고자 노력중인데 해당 에러를 만났다. 어떻게 해결해야할지 2시간을 헤매다가 해결방법을 찾았다! Method: torch framework의 clip_grad_norm_ 이용하기 Flamingo class이다. 해당 class에서 밑의 코드와 같은 부분을 찾을 수 있다! # set up clip_grad_norm_ function def clip_grad_norm_(max_norm): self.perceiver.clip_grad_norm_(max_norm) for layer in s..
RuntimeError: Invalid scalar type ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 30788) of binary DDP를 할려는데, gpu가 1개라서 FDSP로 실행시키고, gloo type으로 했는데 Model을 불러오는데 Invalid type error라는 에러가 자꾸 뜬다.. 어떻게 해결해야할까!? Method: 내부 로직 수정 C 드라이브 안으로 들어가서, 가상환경 안에 있는 내부 python code에서 버그가 일어난 곳이다. 여기 보면 nn.ModuleList에서 추가할 때 type이 이상하다는 걸 의미하는 것 같다. 그래서 wrap() function을 전부 지워주었다. 그랬더니 넘어가서 해결은 일단 되었는데, DDP 작동에 있어서 해결이 될지는 모르겠다... +) GPU memory 터져서 훈련도 잘되는지는 모르겠는데.. 나중에 랩실 서버로 돌려서 훈련되면 추가적으로 공유하겠습니다..ㅎㅎ 2023...

반응형