본문 바로가기
코딩, 개발 꾸준히 하면 볕날선생만큼 한다.

https://github.com/openai/whisper | 한국어 번

by 볕날선생 2022. 11. 10.
728x90
반응형

위스퍼는 범용 음성 인식 모델입니다.다양한 오디오의 대규모 데이터셋에 대해 훈련되어 있으며, 다국어 음성 인식은 물론 음성 번역 및 언어 식별을 수행할 수 있는 멀티태스킹 모델입니다. ★★★ Approach 트랜스포머 시퀀스 투 시퀀스 모델은 다국어 음성 인식, 음성 변환, 음성 언어 식별 및 음성 액티비티 검출 등 다양한 음성 처리 태스크에 대해 훈련됩니다.이러한 모든 작업은 디코더에 의해 예측되는 일련의 토큰으로 공동으로 표현되며, 단일 모델이 전통적인 음성 처리 파이프라인의 많은 다른 단계를 대체할 수 있습니다.멀티태스킹 교육 형식은 작업 지정자 또는 분류 대상으로 사용되는 특수 토큰 세트를 사용합니다. Python 3.9.9와 PyTorch 1.10.1을 사용하여 모델을 교육하고 테스트했지만 코드베이스는 Python 3.7 이후 및 최신 PyTorch 버전과 호환될 것으로 예상됩니다.코드베이스는 몇 개의 Python 패키지에 의존하며, 특히 HuggingFace Transformers는 빠른 토큰라이저 구현 및 ffmpeg-python은 오디오 파일 읽기에 사용됩니다.다음 명령어는 이 저장소에서 최신 커밋과 Python 종속성을 가져와 설치합니다. pip install git+https://github.com/openai/whisper.git 또한 시스템에 명령줄 도구를 설치해야 합니다. 이 도구는 대부분의 패키지 관리자에서 사용할 수 있습니다. # on Ubuntu or Debian sudo apt update && sudo apt install ffmpeg # on Arch Linux sudo pacman -S ffmpeg # on MacOS using Homebrew (https://brew.sh/) brew install ffmpeg # on Windows using Chocolatey (https://chocolatey.org/) choco install ffmpeg # on Windows using Scoop (https://scoop.sh/) scoop install ffmpeg 또한 토큰라이저가 플랫폼에 사전 빌드된 휠을 제공하지 않는 경우에도 설치가 필요할 수 있습니다.설치 중 오류가 발생한 경우pip install위의 명령어는 시작 페이지에 따라 Rust 개발 환경을 설치하십시오.또, 다음의 설정도 필요하게 되는 경우가 있습니다.PATH예를 들어 환경변수입니다.export PATH="$HOME/.cargo/bin:$PATH"인스톨에 실패했을 경우,No module named 'setuptools_rust', 를 인스톨 할 필요가 있습니다.setuptools_rust예를 들어, 다음을 실행합니다. pip install setuptools-rust 이용 가능한 모델과 언어 5가지 모델 사이즈가 있으며, 4가지 모델 사이즈는 영어 버전이며 속도와 정확성의 트레이드오프를 제공합니다.다음은 사용 가능한 모델의 이름 및 대략적인 메모리 요구 사항 및 상대 속도를 나타냅니다. 크기 파라미터 영어 전용 모델 다국어 모델 필요한 VRAM 상대 속도 아주 작은 39 M tiny.en tiny 최대 1 GB 최대 32배 기초 74 M base.en base 최대 1 GB 최대 16배 작은. 244 M small.en small 최대 2 GB 최대 6배 중간의 769 M medium.en medium 최대 5 GB 최대 2배 큰. 1550 M 없음 large 최대 10 GB 1배 영어 전용 어플리케이션의 경우.en모델들은 특히 더 나은 성능을 발휘하는 경향이 있습니다.tiny.en그리고.base.en모델우리는 그 차이가 더 유의미해 지는 것을 관찰했다.small.en그리고.medium.en모델 위스퍼의 연주는 언어에 따라 천차만별이다.아래 그림은 Fleurs 데이터 집합의 언어별 WER 분석을 보여줍니다.large모델. 다른 모델과 데이터 세트에 해당하는 더 많은 WER 및 BLEU 점수는 논문의 부록 D에서 확인할 수 있습니다. WER breakdown by language 명령줄 사용 다음 명령어는 음성 파일에 음성을 변환합니다.medium모델: whisper audio.flac audio.mp3 audio.wav --model medium 디폴트 설정(이것에 의해smallmodel)은 영어 번역에 적합합니다.영어 이외의 음성을 포함한 오디오파일을 변환하려면 , 다음의 명령어를 사용해 언어를 지정합니다.--language옵션: whisper japanese.wav --language Japanese 추가 중--task translate는 연설을 영어로 번역합니다. whisper japanese.wav --language Japanese --task translate 사용 가능한 모든 옵션을 보려면 다음을 수행합니다. whisper --help 사용 가능한 모든 언어의 리스트에 대해서는, tokenizer.py 를 참조해 주세요. Python 사용법 Python 내에서 문자 변환을 수행할 수도 있습니다. import whisper model = whisper.load_model("base") result = model.transcribe("audio.mp3") print(result["text"]) 내부적으로는transcribe()method는 파일 전체를 읽고 슬라이딩 30초 창에서 오디오를 처리하여 각 창에서 시퀀스 간 자동 회귀 예측을 수행합니다. 다음으로 의 사용 예를 나타냅니다.whisper.detect_language()그리고.whisper.decode()모델에 대한 하위 수준의 액세스를 제공합니다. import whisper model = whisper.load_model("base") # load audio and pad/trim it to fit 30 seconds audio = whisper.load_audio("audio.mp3") audio = whisper.pad_or_trim(audio) # make log-Mel spectrogram and move to the same device as the model mel = whisper.log_mel_spectrogram(audio).to(model.device) # detect the spoken language _, probs = model.detect_language(mel) print(f"Detected language: {max(probs, key=probs.get)}") # decode the audio options = whisper.DecodingOptions() result = whisper.decode(model, mel, options) # print the recognized text print(result.text) 기타 예 토론의 🙌 Show and Tell 범주를 사용하여 Whisper 및 웹 데모, 다른 도구와의 통합, 다양한 플랫폼용 포트 등과 같은 타사 확장의 더 많은 예제 사용법을 공유하십시오. 면허증. 위스퍼의 코드와 모델 중량은 MIT 라이선스에 따라 출시됩니다.상세한 것에 대하여는, LICE 를 참조해 주세요.

 

https://github.com/openai/whisper

 

GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision

Robust Speech Recognition via Large-Scale Weak Supervision - GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision

github.com

 

728x90
반응형