요즘 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를 만드는 일...
정말 무섭게 변한다.
'Apple Developer > Apple AI' 카테고리의 다른 글
Xcode beta 에서 On-Device AI 모델 사용해보기 (feat. Apple Intelligence) (1) | 2025.07.10 |
---|---|
Mac 에서 동영상 생성 AI 실행 (M3 Pro) (0) | 2025.02.05 |
CreatML 기능 살펴보기 (xcode ML 개발 tool) (0) | 2024.06.30 |
맥북에서 AI 학습하기 (0) | 2024.06.30 |