Fast Whisper 성능 최적화 및 GPU 활용법: 4080s 환경 실험과 개선 방향

입문자분께서 4080s GPU 환경에서 Fast Whisper의 성능에 대해 문의하셨습니다. 워커(worker) 1개에 GPU 1개 할당 시 1시간 분량의 오디오 처리가 약 50초 걸리며, GPU 1개에 워커 2개를 동시에 돌리면 각각 처리 시간이 약 100초로 두 배 느려지는 현상에 대해 정상 여부와 빠른 처리 방법을 궁금해하셨습니다.
1. 처리 속도 및 다중 워커 병렬 처리 이슈
Fast Whisper는 기본적으로 GPU 자원을 독점적으로 사용하는 경향이 강해, 1개의 GPU에서 두 개 이상의 워커를 동시에 실행하면 GPU 메모리 경쟁과 연산 리소스 분산으로 인해 각 워커의 처리 속도가 크게 떨어질 수밖에 없습니다. 즉, 1GPU에 워커 2개 운용 시 워커당 성능 저하는 일반적으로 발생하는 현상으로 보이며, 50초 -> 100초 처리 시간 증가는 정상적일 가능성이 높습니다.
2. GPU 활용과 성능 최적화 전략
구체적으로 다음과 같은 방안들을 고려할 수 있습니다:
- GPU 2개 이상 사용: 가장 직관적이고 효과적인 방법으로, 워커마다 별도의 GPU를 할당하여 병렬 처리 시 속도를 거의 선형적으로 개선할 수 있습니다.
- 배치 처리(Batching): Fast Whisper를 개선한 batched faster-whisper 구현체는 오디오 데이터를 배치 형태로 병합하여 한 번에 처리하는 방식을 통해 최대 12배 이상의 속도 향상을 보여줍니다. 특히 긴 오디오(2시간 이상) 처리 시 더욱 큰 효과가 있습니다[2].
- 모델 최적화: Artemis와 같은 AI 코드를 최적화하는 플랫폼을 활용하면, OpenAI Whisper를 NVIDIA GPU에서 25% 이상 더 빠르게 구동할 수 있습니다. CUDA 드라이버와 PyTorch 버전 업그레이드가 중요하며, FP16 연산 활용 등도 속도 향상에 기여합니다[1][3][4].
- GPU 병목 현상 모니터링 및 드라이버 최신화: 일부 사례에서는 CUDA 버전이 낮거나 PyTorch가 최신 GPU를 제대로 지원하지 않아 GPU 활용률이 낮게 나타날 수 있습니다. 따라서 CUDA, cuDNN, PyTorch 등 소프트웨어 환경을 최신으로 유지하는 것이 중요합니다[4].
3. 기타 팁
Fast Whisper보다 원래 OpenAI Whisper가 작은 파일 다중 처리 시 더 나은 GPU 활용률을 보이는 경우도 있으며, 파일 크기 특성에 맞게 처리 방식을 달리 하는 전략도 고려할 수 있습니다. 또한, GPU 사양에 따라 Whisper 구동 성능 편차가 크므로 필요 시 Runpod와 같은 클라우드에서 다양한 GPU를 테스트해보는 것도 좋은 방법입니다[5].
따라서, 1GPU에 2개 이상 워커를 돌릴 때 처리 속도가 각자 느려지는 현상은 정상적이며, 빠른 처리를 위해서는 여러 GPU를 활용하거나 배치 처리, 모델 최적화, 최신 드라이버 및 라이브러리 적용 등이 필수적입니다.