Lightning Whisper MLX: Whisper.cpp보다 10배 빠른 Apple Silicon(M1/M2/M3 등)용 Whisper 구현체

:pytorch:PyTorchKR:kr:

  • OpenAI에서 Whisper 모델을 공개한 이후, Whisper.cppWhisper API, WhisperKit과 같이 성능이나 사용성 면에서의 여러가지 시도들이 이뤄졌습니다. 오늘 소개하는 Lightning Whisper MLX 또한 그러한 시도들 중 하나로, M1, M2, M3 같은 Apple Silicon에서 최적화된 MLX 기반의 Whisper 구현체입니다. Lightning:zap:이라는 이름만큼 빠른지 함께 살펴보시죠 :smiley:


소개

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 관련 글들




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: