TTS 모델을 로드하려는데 당황스러운 오류 메세지와 함께 프로세스가 멈춰버렸습니다.
std::bad_alloc
처음에는 단순히 RAM이 부족한가? 라고 생각했지만, 확인 결과 메모리는 충분했습니다. 문제는 시스템 메모리가 아니라 Pytorch의 버전 불일치에 있었습니다.
결정적인 단서는 pip check 명령어를 통해 찾을 수 있었습니다.
현재 환경: torch==2.9.1
요구 사항: xformers, vllm, torchvision 등 주요 패키지들이 torch==2.8.0 버전을 요구 중
즉, 일반적으로 torch와 torchvision 등은 함께 설치하며 문제가 되지 않지만, 다른 패키지를 설치하면서 torchvision의 버전이 낮아지게 되었고, 이에 서로 호환되지 않는 바이너리 코드를 참조하여 메모리 할당 오류인 std::bad_alloc이 발생하였습니다.
pip uninstall -y xformers vllm torchvision
위 조치 후 다시 테스트를 실행한 결과, std::bad_alloc 오류 없이 모델이 정상적으로 로드되는 것을 확인했습니다.
이번 디버깅을 통해 얻은 교훈.