본문 바로가기

Apple Developer/Apple AI

Mac 에서 Whisper STT 실행해보기 (feat. Cursor, MPS)

728x90
반응형

요즘 Cursor AI를 활용한 vibe 코딩에 푹 빠져 있다.

어디서 좋은걸 보면

Cursor와 함께 바로 만들어 볼 수 있다.

 

우선 오픈소스 STT 최강 모델 Whisper 를 다운 받는다. 

https://github.com/openai/whisper

어쩐일인지 한국어에서 엄청난 성능을 보이는 걸로 Data 가 나와있다.

 

 

사실 Cursor 에서 github 링크만 주고 

알아서 개발환경 구성해 달라고 하면 다운받고 venv 까지 다 만들어서 실행해 준다. 

 

whisper 도 zonos 같은 gradio web demo 같은거 없을까

 

webdemo 화면이 없는 것 같아서 그냥 위처럼 말해봤다. 

 

 

그러면 이렇게 엄청나게 예쁘고 깔끔한 화면을 순식간에 만들어 준다. 

 

그리고 일단 내 컴퓨터의 환경을 알려주는게 좋다.

GPU를 활용해야 할때

내 환경이 M4 이고 MPS 에 최적화 해달라고 하면 좋다.

 

아래처럼 된다. 

 

로그를 자세히 보니 MPS 백엔드에서 특정 sparse tensor 연산자가 지원되지 않는 문제입니다. 하지만 MPS를 계속 사용할 수 있는 몇 가지 해결 방법이 있습니다:

🔧 MPS 사용 가능한 해결 방법들

1. PyTorch 버전 업그레이드 (가장 권장)

최신 PyTorch 버전에서는 MPS 호환성이 개선되었습니다:

source venv/bin/activate && pip install --upgrade torch torchvision torchaudio

2. MPS 호환성 개선된 코드로 수정

이제 MPS를 사용하되, 오류가 발생하면 자동으로 CPU로 fallback하는 코드로 수정해보겠습니다:

이제 모델 로드 함수에 MPS 오류 처리를 추가해보겠습니다:

이제 UI 설명도 다시 MPS를 포함하도록 수정해보겠습니다:

3. 환경 변수 설정으로 MPS 최적화

MPS 성능을 최적화하기 위한 환경 변수를 설정해보겠습니다:

export PYTORCH_ENABLE_MPS_FALLBACK=1

이제 수정된 버전을 실행해보겠습니다:

source venv/bin/activate && PYTORCH_ENABLE_MPS_FALLBACK=1 python whisper_demo.py

잠시 기다린 후 서버 상태를 확인해보겠습니다:

sleep 5 && curl -s http://localhost:7860 | grep -i "mps\|cuda\|cpu" | head -3

🚀 MPS 사용을 위한 추가 해결 방법들

4. Whisper 모델 최적화 설정

MPS에서 더 안정적으로 작동하도록 Whisper 설정을 최적화해보겠습니다:

이제 최적화된 버전을 실행해보겠습니다:

source venv/bin/activate && python whisper_demo_optimized.py

🚀 MPS 사용을 위한 완전한 해결 방법 요약

1. 환경 변수 설정

export PYTORCH_ENABLE_MPS_FALLBACK=1

2. 최적화된 코드 특징

  • CPU에서 모델 로드 후 MPS로 이동: 호환성 문제 해결
  • fp16 비활성화: MPS에서 안정성 향상
  • 자동 fallback: MPS 오류 시 CPU로 자동 전환
  • mel spectrogram 최적화: CPU에서 생성 후 GPU로 이동

3. 성능 비교

설정 처리 속도 안정성 메모리 사용량
MPS 최적화 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
CPU ⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
기본 MPS ⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐

4. 실행 방법

# 최적화된 버전 실행
source venv/bin/activate
python whisper_demo_optimized.py

5. 예상 성능 향상

  • Mac M4에서 MPS 사용 시: CPU 대비 3-5배 빠른 처리
  • 안정성: 오류 발생 시 자동으로 CPU로 fallback
  • 메모리 효율: GPU 메모리 활용으로 더 큰 모델 처리 가능

이제 http://localhost:7860에서 MPS 최적화된 Whisper 데모를 사용할 수 있습니다!

터미널에서 🚀 사용 중인 디바이스: mps✅ MPS 디바이스에 모델 로드 성공 메시지를 확인할 수 있을 것입니다.

 

 

이제 내가 동화책 읽어 줬던 음성 파일을 넣고 실행해 본다. 

MPS 를 사용해서 GPU를 활용하다 보니 

1분짜리 음성을 4초만에 처리해서 보여준다. 후... 

 

AI와 함께 AI를 활용해서 AI를 만드는 일...
정말 무섭게 변한다.
728x90
반응형