faster-whisper를 설치했는데 GPU를 안 쓰고 CPU로만 돌아 답답하게 느린 경우가 많습니다. 대부분 CUDA/cuDNN 환경이 안 맞아서인데, Windows에서 GPU로 제대로 돌리기까지의 세팅과 자주 막히는 지점을 정리합니다. (기본 설치와 메모리 부족(OOM)은 이전 글에서 다뤘고, 이 글은 GPU 인식 자체가 안 되는 경우입니다.)
1. 증상: 분명 GPU가 있는데 CPU로 돈다
faster-whisper에 device="cuda"를 줬는데도 느리거나, 아예 에러가 나면서 CPU로 떨어지는 경우입니다. GPU 자체 문제가 아니라 파이썬이 CUDA 라이브러리를 못 찾는 게 대부분입니다. 먼저 GPU 인식 여부부터 확인합니다.

- torch.cuda.is_available()가 False면 토치가 CUDA를 못 잡은 것
- nvidia-smi가 GPU/드라이버를 보여주면 하드웨어/드라이버는 정상
- 즉 문제는 거의 항상 라이브러리(토치 빌드, cuDNN) 쪽
2. 준비물 세 가지: 드라이버, CUDA 런타임, cuDNN
순서가 중요합니다. NVIDIA 그래픽 드라이버가 먼저 깔려 있어야 하고(nvidia-smi로 확인), 그다음 CUDA를 지원하는 토치, 마지막으로 cuDNN입니다. faster-whisper는 내부적으로 CTranslate2를 쓰는데, 이게 cuDNN을 직접 요구합니다.
- NVIDIA 드라이버: nvidia-smi가 동작하면 OK
- CUDA 지원 PyTorch: CPU 버전이 아니라 cu118/cu121 같은 빌드로 설치
- cuDNN: CTranslate2(=faster-whisper 백엔드)가 요구하는 핵심
3. CUDA 버전 PyTorch 설치
그냥 pip install torch로 받으면 CPU 버전이 깔리는 경우가 있습니다. 공식 안내대로 CUDA 빌드를 명시해 설치해야 GPU를 씁니다. 설치 후 위의 is_available() 체크로 True가 나오는지 꼭 확인합니다.

- pip install 시 index-url로 cu121 등 CUDA 빌드 지정
- 기존 CPU 토치가 있으면 먼저 제거 후 재설치
- 설치 후 torch.version.cuda로 CUDA 버전 확인
4. faster-whisper의 진짜 관문: cuDNN
GPU가 잡혔는데도 모델을 돌리는 순간 cuDNN 관련 DLL을 못 찾는다는 에러가 나는 경우가 흔합니다. CTranslate2가 cuDNN을 동적으로 로드하기 때문인데, cuDNN DLL이 경로(PATH)에 있어야 합니다. 토치와 함께 들어오는 cuDNN을 쓰거나, 별도 cuDNN을 받아 경로에 추가합니다.

- "Could not load library cudnn..." 류 에러 = cuDNN DLL 경로 문제
- 토치 패키지 안의 cuDNN 경로를 PATH에 추가하면 해결되는 경우 많음
- cuDNN 버전과 CUDA 버전이 호환되어야 함(불일치 시 로드 실패)
5. 동작 확인: 작은 파일로 한 번 돌려보기
환경이 맞았는지는 짧은 오디오 하나를 device="cuda", compute_type="float16"으로 돌려 확인합니다. 처리 중 nvidia-smi로 GPU 사용률이 올라가면 GPU로 도는 것입니다. compute_type을 int8로 낮추면 메모리를 아낄 수 있습니다.
- device="cuda", compute_type="float16"으로 기본 동작 확인
- 처리 중 nvidia-smi에서 GPU-Util/메모리 사용이 올라가면 성공
- 메모리가 빠듯하면 compute_type="int8" 또는 작은 모델로
6. 정리: 막히면 이 순서로 점검
GPU가 안 잡히면 위에서 아래로 하나씩 짚으면 대부분 잡힙니다. 드라이버(nvidia-smi) -> 토치 CUDA 빌드(is_available) -> cuDNN DLL 경로 순서입니다. 셋 중 하나만 어긋나도 CPU로 떨어지거나 로드 에러가 납니다.
- 1) nvidia-smi 동작? (드라이버)
- 2) torch.cuda.is_available() True? (CUDA 토치)
- 3) cuDNN DLL 로드 OK? (CTranslate2 요구사항)
함께 보면 좋은 글:
- 패스터위스퍼(faster-whisper)로 한국어 음성을 텍스트로 (GPU 메모리 부족까지 잡기) - 기본 전사와 GPU 메모리 부족(OOM)
여기까지 Windows에서 faster-whisper를 GPU로 돌리기 위한 CUDA/cuDNN 세팅과 '쿠다 인식 안 됨'을 잡는 방법에 대해서 작성해봤습니다. 여기까지 읽어주셔서 감사합니다!
'일상' 카테고리의 다른 글
| 성별로 화자분리 더 정확하게? 피치(F0)와 HF 성별 모델 둘 다 써봤지만 (득보다 실이었던 이유) (0) | 2026.06.27 |
|---|---|
| 장시간 GPU 작업 발열 잡기 (nvidia-smi 온도 모니터링으로 자동 쿨다운) (0) | 2026.06.27 |
| faster-whisper + pyannote로 화자 분리까지 (누가 말했는지 나누는 STT 파이프라인) (0) | 2026.06.27 |
| 비밀번호 들어가는 sftp/scp를 스크립트로 자동화하기 (expect, sshpass, 흔한 함정) (0) | 2026.06.24 |
| 플레이라이트(Playwright)로 매번 새 브라우저 띄우지 말고, 디버그 Chrome 세션 재사용하기 (CDP attach) (0) | 2026.06.21 |