PyTorchKR
- OpenAI에서 Whisper 모델을 공개한 이후, Whisper.cpp나 Whisper API, WhisperKit과 같이 성능이나 사용성 면에서의 여러가지 시도들이 이뤄졌습니다. 오늘 소개하는 Lightning Whisper MLX 또한 그러한 시도들 중 하나로, M1, M2, M3 같은 Apple Silicon에서 최적화된 MLX 기반의 Whisper 구현체입니다. Lightning이라는 이름만큼 빠른지 함께 살펴보시죠
소개
Lightning Whisper MLX는 Apple 실리콘을 위해 최적화된 Whisper 모델의 빠른 구현 버전입니다. Whisper는 OpenAI에 의해 개발된 음성 인식 모델로, 다양한 언어와 방언을 인식할 수 있는 강력한 능력을 가지고 있습니다. Lightning Whisper MLX는 이 모델을 Apple의 하드웨어에 맞춰 효율적으로 실행할 수 있게 하여, 기존 구현 대비 상당한 속도 향상을 이뤄냈습니다.
lightning-whisper-mlx
는 Whisper CPP보다 10배, 현재 MLX Whisper 구현체보다 4배 빠른 처리 속도를 제공합니다. 이는 특히 대용량 오디오 파일을 빠르게 처리해야 하는 상황에서 큰 이점을 제공합니다. 배치 디코딩, 정제된 모델, 그리고 양자화된 모델을 사용하는 것은 이 구현체를 통해 더 높은 성능을 달성하는 주요 요소입니다.
주요 기능
-
배치 디코딩: 더 높은 처리량을 실현합니다.
-
정제된 모델 사용: 더 적은 레이어를 가진 모델로 더 빠른 디코딩이 가능합니다.
-
모델 양자화: 메모리 이동 속도를 빠르게 합니다.
-
(예정된 기능: 추측 디코딩을 통한 더 빠른 디코딩이 가능하게 할 예정입니다.)
설치 방법
pip를 사용하여 Lightning Whisper MLX를 설치할 수 있습니다:
pip install lightning-whisper-mlx
사용 방법
lightning-whisper-mlx
를 pip를 통해 설치한 다음, 다음과 같은 예시 코드를 활용하여 사용할 수 있습니다. 사용 시 다양한 모델과 양자화 옵션이 있습니다. 기본적으로 배치 크기는 12로 설정되어 있으며, 모델의 크기나 메모리 용량 등에 따라 조절할 수 있습니다. 다음은 간단한 사용 예시입니다:
from lightning_whisper_mlx import LightningWhisperMLX
whisper = LightningWhisperMLX(model="distil-medium.en", batch_size=12, quant=None)
text = whisper.transcribe(audio_path="/audio.mp3")['text']
print(text)
사용 가능한 모델 옵션:
- tiny
- small
- distil-small.en
- base
- medium
- distil-medium.en
- large
- large-v2
- distil-large-v2
- large-v3
- distil-large-v3
사용 가능한 양자화 옵션
- None
- 4bit
- 8bit
더 읽어보기
Lightning Whisper MLX 소개 홈페이지
Lightning Whisper MLX GitHub 저장소
Credit
Lightning Whisper MLX 프로젝트에 중요한 역할을 하신 분들을 소개합니다:
- Mustafa: Lightning Whisper MLX의 창작자로, Apple 실리콘을 위해 최적화된 Whisper 모델의 빠른 구현을 선보였습니다.
- Awni: Whisper MLX의 구현을 담당했습니다. Mustafa는 이 기반 위에 Lightning Whisper MLX를 구축했습니다.
- Vaibhav: Cuda를 위해 최적화된 버전을 만든 것에 영감을 받아 Mustafa가 이 프로젝트를 시작하게 된 계기를 제공했습니다.
Apple MLX 및 OpenAI Whisper 관련 글들
- [GN] OpenAI, ChatGPT 와 Whisper API 공개
- [GN] Whisper.cpp - OpenAI Whisper의 고성능 C/C++ 구현체
- [GN] Whisper API - Whisper ASR을 API화 해주는 오픈소스
- [GN] WhisperKit - Whisper를 iOS와 macOS에서 쉽게 사용하기
- [GN] Subs AI - OpenAI Whisper를 사용한 자동 동영상 자막 생성기
- [GN] Whisper 모델로 비교한 Nvidia 4090과 M1/M2/M3에서의 MLX 성능 비교
- MLX: 애플 전용칩(Apple silicon: M1, M2, M3 등)을 지원하는 새로운 머신러닝 프레임워크
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~