Az OpenAI Whisper jelenleg a Google beszéd-szöveg funkciójának legjobb nyílt forráskódú alternatívája. Natívan 100 nyelven működik (automatikusan felismeri), írásjeleket ad hozzá, és ha szükséges, még le is fordítja az eredményt. Ebben a cikkben megmutatjuk, hogyan kell telepíteni a Whisper-t, és hogyan kell telepíteni a termelésbe.
A Google automatikus beszédfelismerő (speech-to-text) API-ja nagyon népszerű. Ez az API 125 nyelven képes hang- és videofájlok átírására, és speciális AI-modelleket javasol telefonhívások átírására, orvosi átírásra stb.
Ez az API olyan szép kiegészítő funkciókkal is rendelkezik, mint a tartalomszűrés, automatikus írásjelek (egyelőre csak béta verzióban) és a beszélő naplózása (szintén béta verzióban).
Végül pedig az API-juk a telephelyen is telepíthető. Fontos azonban megjegyezni, hogy a helyben telepített AI-modell folyamatosan adatokat küld a Google-nak az API-használat jelentése érdekében, ami adatvédelmi szempontból aggályos lehet.
A Google árazása alapvetően 0,006 $ / 15 másodperc az alapvető beszéd-szöveg átírásra, és 0,009 $ / 15 másodperc az olyan speciális felhasználási esetekben, mint a videó átírás vagy a telefonos átírás.
Tegyük fel, hogy automatikusan elemezni szeretné az ügyfélszolgálati csapatához érkező telefonhívásokat (például azért, hogy később hangulatelemzést vagy entitás-kivonatolást végezzen rajtuk). Ha 5 ügyfélszolgálati munkatársad van, akik naponta 4 órát töltenek telefonon az ügyfelekkel, akkor a Google beszédből szövegbe váltó API havonta 1400 dollárba kerül.
Ha aggódik a költségek vagy az adatvédelem miatt, érdemes nyílt forráskódú alternatívára váltania: OpenAI Whisper.
A Whisper egy nyílt forráskódú mesterséges intelligencia modell, amelyet az OpenAI nemrég adott ki.
Az OpenAI nagyszerű mesterséges intelligencia projektek nyílt forráskihelyezésével rendelkezik. A GPT-2-t például az OpenAI fejlesztette ki néhány évvel ezelőtt. Akkoriban ez volt a valaha készült legjobb generatív természetes nyelvfeldolgozó modell, és ez nyitotta meg az utat az olyan sokkal fejlettebb modellek előtt, mint a GPT-3, GPT-J, OPT, Bloom.... Nemrég kiadtak egy szép CUDA programozási keretrendszert is, a Tritont.
Az OpenAI nem minden modellje nyílt forráskódú. A 2 legizgalmasabb modelljük: A GPT-3 és a DALL-E még mindig privát modellek, amelyek csak a fizetős API-n keresztül használhatók.
A Whisper viharszerűen terjed a beszédből szövegbe ökoszisztémában: képes automatikusan felismerni a bemeneti nyelvet, majd mintegy 100 nyelven átírni a szöveget, automatikusan pontozni az eredményt, és szükség esetén még le is fordítja azt. A pontosság nagyon jó, és ezt a modellt bármilyen bemenetre (hang, videó, telefonbeszélgetés, orvosi beszélgetés stb.) alkalmazhatja.
És persze a Whisper másik nagy előnye, hogy saját szervereken is telepítheti, ami adatvédelmi szempontból nagyszerű.
A Whisper természetesen ingyenes, de ha saját magad akarod telepíteni, akkor némi emberi időt kell ráfordítanod, és fizetned kell az alapul szolgáló szerverekért és GPU-kért. Ha inkább egy menedzselt verzió előnyeit szeretné kihasználni, használhat egy olyan API-t, mint az NLP Cloud: próbáld ki a Whisper-t ingyen az NLP Cloud-on most!.
2 lehetőséged van, ha egyelőre telepíteni és telepíteni szeretnéd a Whisper-t. Az első az OpenAI whisper Python könyvtárának használata, a második pedig a Whisper Hugging Face Transformers implementációjának használata. Vizsgáljuk meg mindkét megoldást.
Ez a megoldás a legegyszerűbb. Alapvetően az OpenAI utasításait kell követnie. a Whisper projekt Github repozitóriumán.
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?
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.
Mint fentebb láttuk, a Whisper viszonylag könnyen telepíthető. Azonban fejlett hardvert igényel. Egy GPU ajánlott, ha a modell nagyméretű változatát szeretné használni.
Ha a whisper Python lib-et használod (lásd fentebb), akkor körülbelül 10 GB RAM-ra és 11 GB VRAM-ra lesz szükséged. Ez a gyakorlatban azt jelenti, hogy legalább 16 GB-os GPU-ra lesz szükséged. Ez lehet például egy NVIDIA Tesla T4 vagy egy NVIDIA A10.
Egy Tesla T4 esetében 30 másodpercnyi hangot körülbelül 6 másodperc alatt írhat át.
Ha a fent említett alapértelmezett teljesítményt szeretné javítani, itt van néhány stratégia, amelyet megvizsgálhat:
Az OpenAI Whisper forradalmi újdonság a beszédről szövegre történő kommunikáció világában. Ennek a nyílt forráskódú modellnek köszönhetően most először bárki könnyen hozzáférhet a legkorszerűbb automatikus beszédfelismeréshez, ami a Whisper jó alternatívája a Google beszéd-text API-nak.
Egy ilyen mesterséges intelligencia modell telepítése és telepítése azonban még mindig kihívást jelent a motorháztető alatt szükséges hardver miatt. A Whisper nagyméretű változata nem igazán futhat fogyasztói hardveren.
Ha egyszerűen ki szeretné próbálni a Whisper-t anélkül, hogy az infrastruktúrával kellene foglalkoznia, próbálja ki az NLP Cloud API-n: próbáld ki a Whisper-t ingyen az NLP Cloud-on most!.
Julien Salinas
CTO az NLP Cloudnál