Skip to main content
PromptQuorumPromptQuorum
Home/Local LLMs/Apple Silicon의 Whisper 2026: Metal 벤치마크, Core ML 설정, M1–M5 속도 가이드
하드웨어 & 성능

Apple Silicon의 Whisper 2026: Metal 벤치마크, Core ML 설정, M1–M5 속도 가이드

·14분 읽기·By Hans Kuepper · Founder of PromptQuorum, multi-model AI dispatch tool · PromptQuorum

M5 Pro의 Whisper large-v3: 10–12× 실시간 속도. Metal GPU 자동 활성화. Large-v3-turbo는 14–18×에서 속도와 정확도를 균형 있게 제공합니다. 무료, 완전 오프라인.

Apple Silicon에서의 Whisper 음성 인식: M1부터 M5 Max까지의 Metal 및 Core ML 벤치마크. 설정 가이드, 모델 선택, 실시간 전사.

Apple Silicon의 Whisper 2026: Metal 벤치마크, Core ML 설정, M1–M5 속도 가이드

전체 벤치마크 표: Apple Silicon(M1–M5)에서의 Whisper 성능

TinyBaseSmallMediumLarge-v3
32×20×12×
38×24×16×
45×30×22×10×
55×38×28×14×
36×23×14×
42×28×20×
50×35×26×12×
60×42×32×17×
40×26×16×
46×32×22×10×
55×40×30×14×
44×30×18×
50×36×26×12×
60×44×34×16×
48×34×22×10×
55×40×30×14×
65×48×38×18×

×N 실시간 = 1초 안에 N초 분량의 오디오를 전사함. Metal 가속을 사용한 whisper.cpp 벤치마크. M1 Pro 이상 모든 모델에서 large-v3를 실시간 이상의 속도로 실행할 수 있습니다.

Apple Silicon 칩별 Whisper large-v3 실시간 속도: M1은 2–3배, M5 Pro는 10–12배, M5 Max는 whisper.cpp의 Metal GPU 가속을 통해 12–14배의 실시간 속도를 냅니다.
Apple Silicon 칩별 Whisper large-v3 실시간 속도: M1은 2–3배, M5 Pro는 10–12배, M5 Max는 whisper.cpp의 Metal GPU 가속을 통해 12–14배의 실시간 속도를 냅니다.

Whisper 모델 크기 — 어떤 것을 선택해야 할까요?

모델파라미터디스크 크기RAM 사용량영어 WER최적 용도

WER(단어 오류율)은 영어 LibriSpeech 테스트 세트 기준입니다. Large-v3-turbo와 distil-large-v3는 대부분의 Mac에서 실시간 처리를 위한 최적의 균형을 제공합니다 — large-v3 품질의 4–6× 속도.

Metal vs Core ML vs Apple Neural Engine: 어떤 백엔드를 선택할까요?

Apple Silicon은 Whisper에 세 가지 가속 경로를 제공합니다. 각각 장단점이 있습니다.

Metal(whisper.cpp 경유) — 권장: Apple Metal GPU 프레임워크 사용, 모든 M 시리즈 칩과 호환, M5 Pro에서 large-v3 10–12× 실시간, make WHISPER_METAL=1로 설정. 최적 용도: 대부분의 사용자, 가장 간단한 설정, 검증된 성능.

Core ML(Apple Core ML 형식 경유) — 고급: Apple 머신러닝 프레임워크 사용, 일부 연산에서 Neural Engine(ANE) 활용 가능, 일부 워크로드에서 15–20% 빠름, 모델 변환 필요(10–15분 설정). 최적 용도: 최대 속도를 원하는 고급 사용자.

Apple Neural Engine(ANE) — 제한적 사용: 모든 M 시리즈 칩의 전용 AI 가속기, 직접 접근 불가(Core ML 경유 필요), 아키텍처 불일치로 Whisper가 ANE를 완전히 활용하지 못함, 소형 모델(tiny, base)에서 가장 효과적. 최적 용도: 배터리 구동 노트북에서의 Whisper tiny/base.

선택 기준: 초기 설정 → Metal(whisper.cpp). large-v3 최대 속도 → Metal(whisper.cpp). 배터리 구동 노트북, base 모델 → ANE 포함 Core ML. 프로덕션 서버 → Metal(검증됨, 안정적). 실시간 전사 → 스트리밍 모드의 Metal. Mac 인스턴스 클라우드 배포 → Metal(컨테이너화 가능).

  • Metal(whisper.cpp): 더 빠름, 광범위한 호환성, 가장 간단한 설정
  • Core ML: Neural Engine 최적화, 일부 워크로드에서 15–20% 속도 향상(변환 필요)
  • Apple Neural Engine: 대형 모델에서는 이점 제한적, 노트북의 tiny/base에 최적

설정: Metal 가속 whisper.cpp

  1. 1
    의존성 설치
    Why it matters: xcode-select --install (Xcode 도구) brew install ffmpeg (오디오 변환)
  2. 2
    Metal 포함 whisper.cpp 복제 및 빌드
    Why it matters: git clone https://github.com/ggerganov/whisper.cpp cd whisper.cpp make WHISPER_METAL=1 ./main -h | grep -i metal
  3. 3
    모델 다운로드
    Why it matters: bash ./models/download-ggml-model.sh small (466 MB, 실시간) bash ./models/download-ggml-model.sh large-v3 (3 GB, 최고 품질) bash ./models/download-ggml-model.sh large-v3-turbo (1.6 GB, 균형)
  4. 4
    오디오 파일 전사
    Why it matters: ./main -m models/ggml-large-v3.bin -f /path/to/audio.wav ./main -m models/ggml-large-v3.bin -f audio.wav -oj (JSON) ./main -m models/ggml-large-v3.bin -f audio.wav -l en (언어 지정)
  5. 5
    비WAV 오디오 먼저 변환
    Why it matters: ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav ./main -m models/ggml-large-v3.bin -f output.wav

실시간 스트리밍 전사(라이브 마이크)

마이크에서 실시간 전사 — 음성 어시스턴트, 회의 전사, 접근성 도구용.

옵션 1: whisper.cpp 스트림 모드

./stream -m models/ggml-small.bin --step 500 --length 5000

# --step 500: 500ms마다 처리

# --length 5000: 최근 5초 컨텍스트 유지

옵션 2: faster-whisper를 사용한 Python(아래 코드 블록 참조)

M5 Pro에서의 지연: small 모델 ~200ms, large-v3-turbo ~400–600ms, large-v3 ~800ms–1.2s 실시간 지연.

python
import sounddevice as sd
import numpy as np
from faster_whisper import WhisperModel

model = WhisperModel("large-v3-turbo", device="cpu", compute_type="int8")
buffer = []
chunk_duration = 3
sample_rate = 16000

def callback(indata, frames, time, status):
    buffer.append(indata.copy())
    if len(buffer) * 1024 / sample_rate >= chunk_duration:
        audio = np.concatenate(buffer).flatten().astype(np.float32)
        segments, _ = model.transcribe(audio, beam_size=5)
        for segment in segments:
            print(segment.text)
        buffer.clear()

with sd.InputStream(callback=callback, channels=1, samplerate=sample_rate):
    print("Listening... (Ctrl+C to stop)")
    while True:
        sd.sleep(1000)

음성 어시스턴트 파이프라인: Whisper + Ollama + Piper TTS

Apple Silicon에서 완전히 로컬로 실행되는 음성 어시스턴트의 전체 코드입니다.

python
import sounddevice as sd
import numpy as np
import requests
import subprocess
from faster_whisper import WhisperModel

WHISPER_MODEL = "large-v3-turbo"
OLLAMA_URL = "http://localhost:11434/api/chat"
LLM_MODEL = "llama3.1:8b"
SAMPLE_RATE = 16000

whisper = WhisperModel(WHISPER_MODEL, device="cpu", compute_type="int8")

def record_audio(duration=5):
    print("Listening...")
    audio = sd.rec(int(duration * SAMPLE_RATE),
                   samplerate=SAMPLE_RATE,
                   channels=1,
                   dtype=np.float32)
    sd.wait()
    return audio.flatten()

def transcribe(audio):
    segments, _ = whisper.transcribe(audio, beam_size=5)
    return " ".join([seg.text for seg in segments])

def llm_respond(user_text):
    response = requests.post(OLLAMA_URL, json={
        "model": LLM_MODEL,
        "messages": [{"role": "user", "content": user_text}],
        "stream": False
    })
    return response.json()["message"]["content"]

def speak(text):
    subprocess.run(
        ["piper", "--model", "en_US-amy-medium.onnx"],
        input=text.encode(),
        check=True
    )

while True:
    audio = record_audio(duration=5)
    user_text = transcribe(audio)
    print(f"You: {user_text}")
    if not user_text.strip():
        continue
    response = llm_respond(user_text)
    print(f"AI: {response}")
    speak(response)

Mac 모델별 최적 Whisper 설정

Mac 구성권장 모델실시간 배율사용 사례

실시간 음성 어시스턴트용: 최저 지연을 위해 small 또는 large-v3-turbo를 사용하십시오. 회의/팟캐스트 전사용: 최고 정확도를 위해 large-v3를 사용하십시오(1–2초 지연 허용 가능).

로컬 Whisper vs 클라우드 음성 인식 서비스

지표Whisper 로컬(M5 Pro)Google Speech-to-TextOpenAI Whisper APIAssemblyAI

월 비용(하루 8시간): Whisper 로컬 $0, Google $345, OpenAI $86, AssemblyAI $156. 개인정보에 민감한 작업(의료, 법률, 저널리즘)의 경우 로컬 Whisper가 유일한 선택입니다. 대량 전사(클라우드 월 $100 이상)의 경우 로컬 Mac이 12개월 내에 비용을 회수합니다.

M5 Pro의 로컬 Whisper와 클라우드 음성 인식 API 비교: 시간당 $0 대 $0.36–$1.44, 지연 시간 100–300ms 대 300–2000ms, 100% 로컬 개인정보 보호 대 클라우드 데이터 전송.
M5 Pro의 로컬 Whisper와 클라우드 음성 인식 API 비교: 시간당 $0 대 $0.36–$1.44, 지연 시간 100–300ms 대 300–2000ms, 100% 로컬 개인정보 보호 대 클라우드 데이터 전송.

Whisper는 클라우드 API보다 빠릅니까?

M5 Pro에서 로컬 실행: 10× 실시간(지연 100ms). 클라우드 API: 네트워크로 인한 100–500ms 지연. 로컬이 더 빠르고 무료입니다.

Whisper는 여러 화자를 처리할 수 있습니까?

예, 타임스탬프로 화자를 분리합니다. 화자 신원을 확인하려면 후처리 또는 화자 분리(diarization) 도구를 사용하십시오.

언어 지원은 어떻게 됩니까?

자동 감지를 포함한 99개 언어를 지원합니다. 언어마다 정확도가 다릅니다 — 영어는 2.5% WER, 기타 언어는 5–15% WER입니다.

속도 대비 품질 비율이 가장 좋은 Whisper 모델은 무엇입니까?

Large-v3-turbo 또는 distil-large-v3입니다. 두 모델 모두 large-v3 정확도의 약 95%를 4–6× 속도로 달성합니다. 대부분의 실시간 사용 사례에 권장됩니다.

Whisper는 억양이 강한 영어나 비원어민 화자를 처리할 수 있습니까?

예, 다만 WER이 상승합니다. 영어 원어민: 약 2.5%. 강한 억양/비원어민: 5–12%. Large-v3는 소형 모델보다 억양을 더 잘 처리합니다.

Whisper는 팟캐스트 및 음악 전사에 적합합니까?

팟캐스트: 예, 음성 콘텐츠에 탁월합니다. 가사가 있는 음악: 부적합 — Whisper는 음성용으로 학습되었습니다. 음악에는 전문 모델을 사용하십시오.

기술 용어에 대한 Whisper의 정확도는 어떻습니까?

가변적입니다. 일반적인 기술 용어: 양호. 고도로 전문화된 용어: 잘못 전사될 수 있습니다. 정확도를 높이려면 --prompt 플래그에 예상 어휘를 지정하십시오.

한 Mac에서 여러 Whisper 인스턴스를 실행할 수 있습니까?

예, 메모리에 따라 제한됩니다. M5 Pro 36GB: large-v3 인스턴스 2개 동시 실행 가능. M5 Max 128GB: 4–6개의 인스턴스 또는 LLM/TTS와 함께 하나의 인스턴스.

A Note on Third-Party Facts

This article references third-party AI models, benchmarks, prices, and licenses. The AI landscape changes rapidly. Benchmark scores, license terms, model names, and API prices can shift between the time of writing and the time you read this. Before making deployment or compliance decisions based on this article, verify current figures on each provider’s official source: Hugging Face model cards for licenses and benchmarks, provider websites for API pricing, and EUR-Lex for current GDPR and EU AI Act text. This article reflects publicly available information as of May 2026.

Run PromptQuorum with a local LLM, your own API keys, or both — you pick the backend.

Download the PromptQuorum Beta →

← Back to Local LLMs