Máte problémy s AI alebo vývojom celého balíka? Naši odborníci sú tu, aby vám poradili: poradenstvo na mieru, technická integrácia a ďalšie služby. Obráťte sa na [email protected].

Ako nainštalovať a nasadiť Whisper, najlepšiu alternatívu k reči na text od spoločnosti Google s otvoreným zdrojovým kódom

OpenAI Whisper je k dnešnému dňu najlepšou open-source alternatívou k reči na text od spoločnosti Google. Funguje natívne v 100 jazykoch (automaticky rozpoznaných), pridáva interpunkciu a v prípade potreby dokáže výsledok aj preložiť. V tomto článku vám ukážeme, ako Whisper nainštalovať a nasadiť do produkcie.

Automatické rozpoznávanie reči

Google Speech-To-Text

Rozhranie API automatického rozpoznávania reči (speech-to-text) spoločnosti Google je veľmi populárne. Toto rozhranie API dokáže prepisovať zvukové a video súbory v 125 jazykoch a navrhuje špecifické modely umelej inteligencie na prepis telefonických hovorov, lekársky prepis a ďalšie.

Toto rozhranie API má aj ďalšie príjemné funkcie, ako je filtrovanie obsahu, automatická interpunkcia (zatiaľ len v beta verzii) a diarizácia hovoriacich (tiež v beta verzii).

Ich rozhranie API je možné nainštalovať v priestoroch. Je však dôležité poznamenať, že lokálny model umelej inteligencie bude naďalej odosielať údaje spoločnosti Google s cieľom vykazovať používanie API, čo môže byť problém z hľadiska ochrany osobných údajov.

Ceny spoločnosti Google sú v zásade 0,006 USD za 15 sekúnd pre základný prevod reči na text a 0,009 USD za 15 sekúnd pre špecifické prípady použitia, ako je prepis videa alebo prepis telefónu.

Povedzme, že chcete automaticky analyzovať telefonické hovory uskutočnené s tímom podpory (aby ste na nich neskôr mohli vykonať napríklad analýzu sentimentu alebo extrakciu entít). Ak máte 5 agentov podpory, z ktorých každý strávi denne 4 hodiny telefonovaním so zákazníkmi, rozhranie API Google pre prevod reči na text vás bude stáť 1 400 USD mesačne.

Ak máte obavy o náklady alebo súkromie, možno budete chcieť prejsť na alternatívu s otvoreným zdrojovým kódom: OpenAI Whisper.

Šepot: Najlepšia alternatíva k službe Google Speech-To-Text

Whisper je model AI s otvoreným zdrojovým kódom, ktorý práve vydala spoločnosť OpenAI.

OpenAI má za sebou históriu otvorených projektov umelej inteligencie. Napríklad GPT-2 bol vyvinutý spoločnosťou OpenAI pred niekoľkými rokmi. V tom čase to bol najlepší generatívny model spracovania prirodzeného jazyka, aký bol kedy vytvorený, a vydláždil cestu oveľa pokročilejším modelom, ako sú GPT-3, GPT-J, OPT, Bloom... Nedávno vydali aj pekný programovací rámec CUDA s názvom Triton.

Nie všetky modely OpenAI sú však otvorené. Ich 2 najzaujímavejšie modely: GPT-3 a DALL-E sú stále súkromné modely, ktoré možno používať len prostredníctvom ich plateného API.

Whisper sa stáva búrkou v ekosystéme prevodu reči na text: dokáže automaticky rozpoznať vstupný jazyk, potom prepísať text v približne 100 jazykoch, automaticky interpunkčne upraviť výsledok a v prípade potreby ho aj preložiť. Presnosť je veľmi dobrá a tento model môžete použiť na akýkoľvek druh vstupu (audio, video, telefonické hovory, lekárske diskusie atď.).

Ďalšou veľkou výhodou aplikácie Whisper je, že ju môžete sami nasadiť na vlastné servery, čo je skvelé z hľadiska ochrany súkromia.

Whisper je samozrejme zadarmo, ale ak si ho chcete nainštalovať sami, budete musieť stráviť nejaký ľudský čas a zaplatiť za základné servery a GPU. Ak chcete radšej využívať výhody spravovanej verzie, môžete použiť API, napríklad NLP Cloud: vyskúšajte Whisper zadarmo na NLP Cloud!.

Inštalácia a nasadenie aplikácie OpenAI Whisper

Ak chcete nainštalovať a nasadiť Whisper, máte dve možnosti. Prvou je použiť knižnicu Whisper Python od OpenAI a druhou je použiť implementáciu Whisperu od Hugging Face Transformers. Poďme preskúmať obe riešenia.

Používanie lib Python Whisper

Toto riešenie je najjednoduchšie. V podstate musíte postupovať podľa pokynov OpenAI na úložisku Github projektu Whisper.

First install the whisper Python lib:

pip install git+https://github.com/openai/whisper.git

Then install ffmpeg on your system if it is not the case yet:

# 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

Several flavors of Whisper are available: tiny, base, small, medium, and large. Of course the bigger the better, so if you are looking for state of the art results we recommend the large version. Here is a very simply Python script that opens an mp3 audio file stored on your disk, automatically detects the input language, and transcribes it:

import whisper

model = whisper.load_model("large")
result = model.transcribe("audio.mp3")
print(result["text"])

Simple isn't it?

Používanie implementácie objatia tváre

In order to use Hugging Face's implementation of Whisper you will first need to install HF Transfomers, librosa, and Pytorch:

pip install transformers
pip install librosa
pip install torch

You also need to install ffmpeg (see above).

Now, here is a Python script that does transcription in English:

from transformers import WhisperProcessor, WhisperForConditionalGeneration
import librosa

speech, _ = librosa.load("audio.mp3")

processor = WhisperProcessor.from_pretrained("openai/whisper-large")
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-large")

model.config.forced_decoder_ids = processor.get_decoder_prompt_ids(language = "en", task = "transcribe")
input_features = processor(speech, return_tensors="pt").input_features 
predicted_ids = model.generate(input_features)
transcription = processor.batch_decode(predicted_ids)

print(processor.batch_decode(predicted_ids, skip_special_tokens = True))

There are 2 limitations with this Hugging Face implementation. First you need to manually set the source language (no automatic input language detection is implemented yet). And secondly no automatic chunking is applied, which means that you cannot transcribe content that is larger than 30 seconds...

Maybe these limitations will be solved in future releases?

A nice thing though is that there is a Tensorflow implementation available too, which means that you can use XLA compilation and get much faster response times.

Požiadavky na hardvér

Ako sme videli vyššie, aplikácia Whisper sa pomerne ľahko inštaluje. Vyžaduje však pokročilý hardvér. Ak chcete používať veľkú verziu modelu, odporúča sa grafický procesor.

Ak použijete lib Whisper Python (pozri vyššie), budete potrebovať približne 10 GB RAM a 11 GB VRAM. V praxi to znamená, že budete potrebovať minimálne 16 GB GPU. Môže to byť napríklad NVIDIA Tesla T4 alebo NVIDIA A10.

Na modeli Tesla T4 prepíšete 30 sekúnd zvuku za približne 6 sekúnd.

Úvahy o výkone

Ak chcete zlepšiť vyššie uvedený predvolený výkon, môžete vyskúšať niekoľko stratégií:

Záver

OpenAI Whisper je revolúciou vo svete prevodu reči na text. Vďaka tomuto modelu s otvoreným zdrojovým kódom má po prvýkrát ktokoľvek jednoduchý prístup k najmodernejšiemu automatickému rozpoznávaniu reči, vďaka čomu je Whisper dobrou alternatívou k rozhraniu Google speech-to-text API.

Inštalácia a nasadenie takéhoto modelu umelej inteligencie je však stále výzvou kvôli hardvéru, ktorý je potrebný pod kapotou. Veľkú verziu Whisperu skutočne nemožno spustiť na spotrebiteľskom hardvéri.

Ak si chcete Whisper jednoducho vyskúšať bez toho, aby ste sa museli zaoberať infraštruktúrou, vyskúšajte si ho na rozhraní NLP Cloud API: vyskúšajte Whisper zadarmo na NLP Cloud!.

Julien Salinas
Technický riaditeľ spoločnosti NLP Cloud