Aveți probleme cu inteligența artificială sau cu dezvoltarea full-stack? Experții noștri sunt aici pentru a vă ghida: consiliere personalizată, integrare tehnică și multe altele. Contactați-ne la [email protected].

Cum să instalați și să implementați Whisper, cea mai bună alternativă Open-Source la Google Speech-To-Text

OpenAI Whisper este cea mai bună alternativă open-source la Google speech-to-text din prezent. Funcționează în mod nativ în 100 de limbi (detectate automat), adaugă semne de punctuație și poate chiar să traducă rezultatul, dacă este necesar. În acest articol vă vom arăta cum să instalați Whisper și să îl implementați în producție.

Recunoașterea automată a vorbirii

Google Speech-To-Text

API-ul Google de recunoaștere automată a vorbirii (speech-to-text) este foarte popular. Această API este capabilă să transcrie fișiere audio și video în 125 de limbi și propune modele de inteligență artificială specifice pentru transcrierea convorbirilor telefonice, transcrierea medicală și altele.

Acest API are, de asemenea, caracteristici suplimentare interesante, cum ar fi filtrarea conținutului, punctuația automată (în versiune beta doar pentru moment) și jurnalizarea vorbitorului (tot în versiune beta).

În cele din urmă, API-ul lor poate fi instalat la fața locului. Dar este important de reținut că modelul de inteligență artificială on-prem va continua să trimită date către Google pentru a raporta utilizarea API-ului, ceea ce ar putea fi o preocupare din punct de vedere al confidențialității.

Prețul practicat de Google este de 0,006 dolari / 15 secunde pentru conversia de bază de la voce la text și de 0,009 dolari / 15 secunde pentru cazuri de utilizare specifice, cum ar fi transcrierea video sau transcrierea telefonică.

Să presupunem că doriți să analizați automat apelurile telefonice efectuate către echipa de asistență (pentru a efectua ulterior o analiză a sentimentelor sau o extragere a entităților, de exemplu). Dacă aveți 5 agenți de asistență care petrec câte 4 ore pe zi la telefon cu clienții, API-ul de conversie a vorbirii în text de la Google vă va costa 1.400 de dolari pe lună.

Dacă vă îngrijorează costurile sau confidențialitatea, poate doriți să treceți la o alternativă open-source: OpenAI Whisper.

Șoptește: Cea mai bună alternativă la Google Speech-To-Text

Whisper este un model de inteligență artificială open-source care tocmai a fost lansat de OpenAI.

OpenAI are o istorie de proiecte de inteligență artificială de calitate. De exemplu, GPT-2 a fost dezvoltat de OpenAI în urmă cu câțiva ani. La momentul respectiv, acesta a fost cel mai bun model generativ de procesare a limbajului natural creat vreodată și a deschis calea pentru modele mult mai avansate, cum ar fi GPT-3, GPT-J, OPT, Bloom... Recent, au lansat, de asemenea, un cadru de programare CUDA frumos numit Triton.

Cu toate acestea, nu toate modelele OpenAI au fost deschise. Cele mai interesante 2 modele ale lor: GPT-3 și DALL-E, sunt încă modele private care pot fi utilizate doar prin intermediul API-ului lor plătit.

Whisper a luat cu asalt ecosistemul de conversie a vorbirii în text: poate detecta automat limba de intrare, apoi poate transcrie textul în aproximativ 100 de limbi, poate puncta automat rezultatul și chiar îl poate traduce, dacă este necesar. Precizia este foarte bună și puteți aplica acest model la orice tip de intrare (audio, video, convorbiri telefonice, discuții medicale etc.).

Și, desigur, un alt mare avantaj al lui Whisper este că îl puteți implementa singur pe propriile servere, ceea ce este excelent din punct de vedere al confidențialității.

Whisper este, desigur, gratuit, dar dacă doriți să îl instalați singur, va trebui să investiți ceva timp uman în el și să plătiți pentru serverele și GPU-urile care stau la baza lui. Dacă preferați să beneficiați de o versiune gestionată, puteți folosi o API precum NLP Cloud: încercați Whisper gratuit pe NLP Cloud acum!.

Instalarea și implementarea OpenAI Whisper

Aveți două opțiuni dacă doriți să instalați și să implementați Whisper pentru moment. Prima este de a utiliza biblioteca Python Whisper a OpenAI, iar a doua este de a utiliza implementarea lui Whisper de către Hugging Face Transformers. Haideți să explorăm ambele soluții.

Utilizarea librăriei Python whisper

Această soluție este cea mai simplă. În principiu, trebuie să urmați instrucțiunile OpenAI pe depozitul Github al proiectului 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?

Utilizarea implementării îmbrățișării feței

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.

Cerințe hardware

După cum am văzut mai sus, Whisper este destul de ușor de instalat. Cu toate acestea, necesită un hardware avansat. Un GPU este recomandat dacă doriți să folosiți versiunea mare a modelului.

Dacă utilizați librăria Python whisper (a se vedea mai sus), veți avea nevoie de aproximativ 10 GB de RAM și 11 GB de VRAM. Aceasta înseamnă că, în practică, veți avea nevoie de un GPU de cel puțin 16GB. Acesta ar putea fi un NVIDIA Tesla T4, de exemplu, sau un NVIDIA A10.

Pe un Tesla T4, veți transcrie 30 de secunde de audio în aproximativ 6 secunde.

Considerații privind performanța

Dacă doriți să îmbunătățiți performanța implicită menționată mai sus, iată câteva strategii pe care le puteți explora:

Concluzie

OpenAI Whisper este o revoluție în lumea vorbirii la text. Pentru prima dată, oricine poate accesa cu ușurință recunoașterea automată a vorbirii de ultimă generație datorită acestui model open-source, ceea ce face din Whisper o bună alternativă la API-ul Google speech-to-text.

Totuși, instalarea și implementarea unui astfel de model de inteligență artificială reprezintă încă o provocare din cauza hardware-ului necesar sub capotă. Versiunea mare a Whisper nu poate rula pe hardware de consum.

Dacă doriți să încercați cu ușurință Whisper fără să vă deranjați cu considerații legate de infrastructură, vă rugăm să îl încercați pe NLP Cloud API: încercați Whisper gratuit pe NLP Cloud acum!.

Julien Salinas
CTO la NLP Cloud