본문 바로가기

Runtime

(4)
RuntimeError: Error(s) in loading state_dict for Model - [LoRA fine-tuning 코드 직접 제작 꿀팁(에러 해결)] - 간혹가다가, fine-tuning할 때 기존 Pre-trained weight에 없는 가중치(LoRA와 같은)를 추가하고 싶을 때 어떻게 해야할까요?? 그냥 model class에 추가하면 새롭게 trainable layers를 추가하면:RuntimeError: Error(s) in loading state_dict for Model:에러를 마주칩니다! 이때 단순하게, load_state_dict에 strict=False를 추가하면 아주 쉽게 해결 완료!self.dit3d.load_state_dict(ckpt['model_state'], strict=False)# DiT-3D 예시
RuntimeError: Cannot writeback when the parameter shape changes 해당 에러는 모델을 돌리는 도중, backpropagation을 진행할 때 모델의 파라미터 shape이 같아야하는데 다를 때 일어나는 것이다. 에러를 어떻게 해결할까!? 일단 위의 system file을 따라서 위의 함수로 들어간다! if src_tensor is not None and src_tensor.shape != expected_shape: # NOTE: Gradient shape mismatch is not possible in practice since # the gradient shape is enforced to match that of the parameter and # we already check for parameter shape mismatch. raise RuntimeError..
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..
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...

반응형