Insanely Fast Whisper API: OpenAI의 Whisper Large v3를 클라우드 환경에 배포하는 프로젝트
소개
'Insanely Fast Whisper API'는 OpenAI의 Whisper Large v3 모델을 클라우드 환경에 배포하여 음성을 텍스트로 변환하는 API를 제공하는 프로젝트입니다. 이 프로젝트는 Hugging Face의 Transformers, Optimum 및 flash-attn을 기반으로 하고 있으며, 빠른 처리 속도를 보입니다.
이 프로젝트는 Insanely Fast Whisper CLI 프로젝트를 기반으로 하며, Docker를 통해 GPU 클라우드 인프라에서 확장 가능한 프로덕션 사용 사례를 위한 매우 빠른 Whisper API를 제공합니다. 특히, 비동기 작업 및 웹훅 기능을 통해 대규모 작업을 효율적으로 관리할 수 있는 기능을 제공하는 등, 클라우드 인프라에서 다수의 GPU를 활용하여 대규모 생산 환경에 적합하게 설계되었습니다.
최근 fly.io의 GPU 서비스 출시에 맞춰 fly.io에서 쉽게 배포할 수 있도록 설정된 구성 파일을 함께 배포하였습니다. 하지만 필요한 경우 GPU와 도커를 지원하는 다른 모든 가상 머신 환경에도 배포할 수 있습니다.
주요 특징
이 프로젝트는 완전히 오픈소스로 공개되었으며, 음성을 텍스트로 빠르게 변환하는 것을 목표로 합니다. 주요한 특징은 다음과 같습니다:
-
빠른 속도로 오디오를 텍스트로 변환
-
완전 오픈 소스 및 GPU 클라우드 제공업체에 배포 가능
-
내장된 화자 구분 기능
-
사용하기 쉽고 빠른 API 레이어
-
비동기 백그라운드 작업 및 웹훅 지원
-
동시성 및 병렬 처리에 최적화
-
작업 관리, 취소 및 상태 엔드포인트 제공
-
안전한 API 접근을 위한 관리자 인증
-
JigsawStack에서 완전 관리형 API 제공
성능 벤치마크
NVIDIA의 A100(80GB)를 사용하여 fly.io의 GPU 인프라에서 수행한 벤치마크 결과입니다:
최적화 유형 | 150분 분량의 오디오 변환에 걸린 시간 |
---|---|
large-v3 (Transformers) (fp16 + batching [24] + Flash Attention 2) | ~2분 (1분 38초) |
large-v3 (Transformers) (fp16 + batching [24] + Flash Attention 2 + 화자 구분) | ~2분 (3분 16초) |
large-v3 (Transformers) (fp16 + batching [24] + Flash Attention 2 + fly machine 시작) | ~2분 (1분 58초) |
large-v3 (Transformers) (fp16 + batching [24] + Flash Attention 2 + 화자 구분 + fly machine 시작) | ~2분 (3분 36초) |
Fly 머신의 GPU 및 모델 로딩 시작에 약 20초 가량이 소요되며, 나머지 시간은 실제 계산에 사용됩니다.
사용법
Docker hub의 yoeven/insanely-fast-whisper-api 이미지를 활용하여 배포 및 사용할 수 있습니다.
fly.io 및 그 외 클라우드나 로컬 환경에서의 배포 및 제공하는 API 등에 대한 소개에 대한 내용은 GitHub 저장소의 README 문서를 참고해주세요.
라이선스
이 프로젝트는 MIT License로 공개 및 배포되고 있습니다.
더 읽어보기
https://github.com/JigsawStack/insanely-fast-whisper-api
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~