아이공의 AI 공부 도전기

Solution : RuntimeError: CUDA out of memory.


AI 특히나 parameter가 많은 Neural Network를 사용한다는 것은 GPU RAM이 많이 필요하다는 것을 의미하기도 합니다. 때문에 장비가 좋은 회사에서만 가능한 모델들이 있죠


가령 GPT-3라던지.... GPT-3 라던지.... GPT-3 라던지....


그러나 장비가 좋은 서버급의 GPU를 쓴다 혹은 워크스테이션 컴퓨터를 쓴다하여도 할당받은 양 이상을 사용하기 어렵기 때문에 CUDA memory 부족을 겪을 수 있습니다.

이 부분에 대한 많은 이들의 해결책은 아주 간단합니다.


그냥 batch size를 줄이세요.... 


반으로 줄여보고 그래도 안 되면 반으로 또 줄여보고 그렇게 어렵게 어렵게 하는 빈곤한 GPU 1개짜리로 버티는 저는 그렇게 운용합니다. 물론 시간이 많이 들겠죠..... 

 

만약 이 방법이 통하지 않는다면 memory를 지나치게 많이 사용하면서 삭제하지 않는 부분들이 존재한다는 것이니 그 부분을 찾아 삭제해야 합니다.


가령 예를 들어 굳이 list stack을 시켜 tensor들을 저장하고 있다던지 loss들만 저장하는 것이 아니라 다른 value들도 많이 오래 저장하고 있다면 그 부분들을 찾아 수정해야 합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading