Imate težave z umetno inteligenco ali razvojem celotnega paketa? Naši strokovnjaki so vam na voljo za pomoč: prilagojeni nasveti, tehnična integracija in še več. Obrnite se na [email protected].

Kako namestiti in namestiti šepetalnik, najboljšo odprtokodno alternativo Googlovemu govoru v besedilo

OpenAI Whisper je trenutno najboljša odprtokodna alternativa Googlovemu načinu prenosa govora na besedilo. Nativno deluje v 100 jezikih (samodejno zaznanih), dodaja ločila in po potrebi lahko rezultat celo prevede. V tem članku vam bomo pokazali, kako namestiti Whisper in ga namestiti v produkcijo.

Samodejno prepoznavanje govora

Googlovo govorjenje v besedilo

Googlov API za samodejno prepoznavanje govora (govor v besedilo) je zelo priljubljen. Ta API lahko prepisuje zvočne in video datoteke v 125 jezikih ter predlaga posebne modele umetne inteligence za prepisovanje telefonskih klicev, medicinsko prepisovanje in drugo.

Ta vmesnik API ima tudi lepe dodatne funkcije, kot so filtriranje vsebine, samodejno ločilo (za zdaj samo v beta različici) in beleženje dnevnika govorca (prav tako v beta različici).

Njihov vmesnik API je mogoče namestiti v prostorih. Vendar je treba opozoriti, da bo model umetne inteligence na lokaciji še naprej pošiljal podatke Googlu, da bi poročal o uporabi API, kar je lahko zaskrbljujoče z vidika zasebnosti.

Googlova cena je v osnovi 0,006 dolarja za 15 sekund za osnovno pretvorbo govora v besedilo in 0,009 dolarja za 15 sekund za posebne primere uporabe, kot je prepisovanje videoposnetkov ali prepisovanje po telefonu.

Recimo, da želite samodejno analizirati telefonske klice, ki jih je prejela vaša ekipa za podporo uporabnikom (da bi na primer pozneje opravili analizo čustev ali ekstrakcijo entitet). Če imate 5 agentov za podporo, ki vsak na dan po telefonu s strankami preživi 4 ure, vas bo Googlov API za pretvorbo govora v besedilo stal 1400 USD na mesec.

Če vas skrbijo stroški ali zasebnost, boste morda želeli preiti na odprtokodno alternativo: OpenAI Whisper.

Šepetajte: Najboljša alternativa Googlovemu govoru v besedilo

Whisper je odprtokodni model umetne inteligence, ki ga je pravkar izdala organizacija OpenAI.

OpenAI ima zgodovino odprte uporabe odličnih projektov umetne inteligence. OpenAI je pred nekaj leti na primer razvil program GPT-2. Takrat je bil to najboljši generativni model za obdelavo naravnega jezika, kar jih je bilo kdaj ustvarjenih, in je utrl pot veliko naprednejšim modelom, kot so GPT-3, GPT-J, OPT, Bloom... Pred kratkim so izdali tudi lepo programsko ogrodje CUDA z imenom Triton.

Vendar pa vsi modeli OpenAI niso odprti. Njihova dva najbolj vznemirljiva modela: GPT-3 in DALL-E sta še vedno zasebna modela, ki ju je mogoče uporabljati le prek njihovega plačljivega API.

Aplikacija Whisper je v velikem porastu na področju pretvorbe govora v besedilo: samodejno zazna vhodni jezik, nato prepisuje besedilo v približno 100 jezikov, samodejno ločuje besedilo in ga po potrebi celo prevede. Natančnost je zelo dobra, ta model pa lahko uporabite za vse vrste vhodnih podatkov (zvok, video, telefonski klici, zdravniške razprave itd.).

Še ena velika prednost programa Whisper je seveda ta, da ga lahko sami namestite na svoje strežnike, kar je odlično z vidika zasebnosti.

Šepetalnik je seveda brezplačen, če pa ga želite namestiti sami, boste morali zanj porabiti nekaj človeškega časa in plačati za osnovne strežnike in grafične procesorje. Če želite izkoristiti upravljano različico, lahko uporabite API, kot je NLP Cloud: preizkusite Whisper brezplačno v NLP Cloud!.

Namestitev in namestitev programa OpenAI Whisper

Če želite trenutno namestiti in namestiti program Šepetalec, imate dve možnosti. Prva je uporaba knjižnice Whisper Python podjetja OpenAI, druga pa je uporaba implementacije Whisperja iz programa Hugging Face Transformers. Preučimo obe rešitvi.

Uporaba knjižnice Python Whisper

Ta rešitev je najenostavnejša. V bistvu morate slediti navodilom OpenAI v skladišču Github projekta 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?

Uporaba izvajanja funkcije objemajočega obraza

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.

Zahteve za strojno opremo

Kot smo videli zgoraj, je aplikacijo Whisper precej enostavno namestiti. Vendar zahteva napredno strojno opremo. Če želite uporabljati veliko različico modela, je priporočljivo imeti grafični procesor.

Če uporabljate knjižnico Python Whisper (glejte zgoraj), boste potrebovali približno 10 GB pomnilnika RAM in 11 GB pomnilnika VRAM. To pomeni, da boste v praksi potrebovali vsaj 16 GB grafičnega procesorja. To je lahko na primer NVIDIA Tesla T4 ali NVIDIA A10.

Pri napravi Tesla T4 boste 30 sekund zvoka prepisali v približno 6 sekundah.

Upoštevanje zmogljivosti

Če želite izboljšati zgoraj navedeno privzeto delovanje, lahko uporabite več strategij:

Zaključek

OpenAI Whisper je revolucija v svetu pretvorbe govora v besedilo. S tem odprtokodnim modelom lahko prvič vsakdo enostavno dostopa do najsodobnejšega samodejnega prepoznavanja govora, zato je Whisper dobra alternativa Googlovemu vmesniku API za prepoznavanje govora v besedilu.

Namestitev in uporaba takšnega modela umetne inteligence pa je še vedno izziv zaradi strojne opreme, ki je potrebna pod pokrovom. Velika različica programa Whisper ne more delovati na potrošniški strojni opremi.

Če želite preizkusiti program Šepetalnik, ne da bi se ukvarjali z infrastrukturo, ga preizkusite v vmesniku API NLP Cloud: preizkusite Whisper brezplačno v NLP Cloud!.

Julien Salinas
Tehnični direktor v podjetju NLP Cloud