Service2025.11.09
GitHub - altalt-org/Lightning-SimulWhisper: An MLX/CoreML implementation of SimulStreaming. ~15x increase in performance
요약
Lightning-SimulWhisper는 Apple Silicon에서 MLX와 CoreML을 활용하여 Whisper 모델의 SimulStreaming을 구현, 실시간 로컬 전사를 최적화합니다.
CoreML 인코더를 통한 최대 18배 빠른 인코딩과 MLX 디코더를 통한 15배 빠른 디코딩으로 뛰어난 성능과 전력 효율성을 제공합니다.
️ 이로써 M2 MacBook Pro와 같은 기기에서 medium 및 large-v3-turbo 모델까지 실시간으로 실행 가능하며, 기존 PyTorch 구현 대비 크게 향상된 결과를 보입니다.
상세 내용
Lightning-SimulWhisper는 Apple Silicon 장치에서 Whisper 모델을 이용한 실시간 동시 전사(transcription)를 위한 프로젝트로, PyTorch 의존성을 없애고 MLX(Apple의 머신러닝 프레임워크)와 CoreML을 활용하여 최적의 성능을 제공합니다. 기존 SimulStreaming 프로젝트에 비해 인코딩에서 최대 18배, 디코딩에서 최대 15배의 속도 향상을 달성하여, M2 Macbook Pro와 같은 장치에서 Audio Input 및 Mel Spectrogram 생성: 16kHz 모노(mono) 오디오 입력이 들어오면, MLX 프레임워크를 사용하여 Mel Spectrogram을 생성합니다.
CoreML Encoder 가속화: Whisper 모델의 가장 연산 집약적인 부분인 인코더(encoder)는
Encoder Features 변환: CoreML 인코더에서 생성된 인코더 피처(features)는 다시 MLX 형식으로 변환됩니다.
MLX Decoder: 변환된 피처를 바탕으로 디코더(decoder)는 MLX에서 실행됩니다. MLX 디코더는 PyTorch 구현 대비 최대 15배의 속도 향상을 제공하며,
Transcription Output: 디코딩된 결과가 최종 전사 텍스트로 출력됩니다.
medium 및 large-v3-turbo 모델까지 실시간으로 실행 가능하게 합니다. 특히 CoreML 인코더 사용 시 전력 효율성 또한 크게 개선됩니다.이 프로젝트의 핵심 방법론은 MLX와 CoreML을 결합한 하이브리드 아키텍처입니다.
whisper.cpp에서 생성된 CoreML 모델을 통해 Apple Neural Engine에서 실행됩니다. 이는 인코딩 속도를 최대 18배 향상시키며, MLX 단독 실행에 비해 전력 소비를 크게 줄입니다.AlignAtt 정책, Beam Search 등의 유연한 디코딩 제어를 가능하게 합니다.이러한 아키텍처는 MLX의 Apple Silicon 최적화와 CoreML의 Neural Engine 가속화를 결합하여 Whisper 모델의 실시간 동시 전사 성능을 극대화합니다. AlignAtt 정책은 State-of-the-art 동시 디코딩 전략을 사용하여, 오디오 스트리밍 중에도 즉시 텍스트를 생성하는 데 기여합니다.
주요 기능으로는 MLX 구현을 통한 Apple Silicon 최적화, CoreML 인코더를 통한 최대 18배 빠른 인코딩, AlignAtt 정책, tiny부터 large-v3-turbo까지 다양한 Whisper 모델 지원, 구성 가능한 Beam Search 디코딩, 파일 시뮬레이션 및 라이브 마이크 입력을 통한 실시간 스트리밍, 그리고 CoreML 가속을 통한 뛰어난 전력 효율성이 있습니다. 설치는 pip install -r requirements.txt로 가능하며, CoreML 가속을 위해서는 coremltools 및 ane_transformers 추가 설치와 whisper.cpp를 이용한 CoreML 인코더 모델 생성이 권장됩니다.
GitHub
Shared by Anonymous