Δυσκολεύεστε με το AI ή την ανάπτυξη πλήρους πακέτου; Οι ειδικοί μας είναι εδώ για να σας καθοδηγήσουν: εξατομικευμένες συμβουλές, τεχνική ενσωμάτωση και πολλά άλλα. Επικοινωνήστε μαζί μας στο [email protected].

Πώς να εγκαταστήσετε και να αναπτύξετε το Whisper, την καλύτερη εναλλακτική λύση ανοιχτού κώδικα για το Google Speech-To-Text

Το OpenAI Whisper είναι η καλύτερη εναλλακτική λύση ανοιχτού κώδικα για την ομιλία-προς-κείμενο της Google μέχρι σήμερα. Λειτουργεί εγγενώς σε 100 γλώσσες (που εντοπίζονται αυτόματα), προσθέτει σημεία στίξης και μπορεί ακόμη και να μεταφράσει το αποτέλεσμα αν χρειαστεί. Σε αυτό το άρθρο θα σας δείξουμε πώς να εγκαταστήσετε το Whisper και να το αναπτύξετε στην παραγωγή.

Αυτόματη αναγνώριση ομιλίας

Ομιλία σε κείμενο της Google

Το API αυτόματης αναγνώρισης ομιλίας της Google (speech-to-text) είναι πολύ δημοφιλές. Αυτό το API είναι σε θέση να μεταγράφει αρχεία ήχου και βίντεο σε 125 γλώσσες και προτείνει ειδικά μοντέλα τεχνητής νοημοσύνης για τη μεταγραφή τηλεφωνικών κλήσεων, την ιατρική μεταγραφή και άλλα.

Αυτό το API διαθέτει επίσης ωραίες πρόσθετες λειτουργίες, όπως φιλτράρισμα περιεχομένου, αυτόματη στίξη (μόνο σε beta έκδοση προς το παρόν) και ημερολόγιο ομιλητών (επίσης σε beta έκδοση).

Τέλος, το API τους μπορεί να εγκατασταθεί σε εγκαταστάσεις. Αλλά είναι σημαντικό να σημειωθεί ότι το επιτόπιο μοντέλο ΤΝ θα συνεχίσει να στέλνει δεδομένα στην Google προκειμένου να αναφέρει τη χρήση του API, κάτι που μπορεί να αποτελέσει ανησυχία από άποψη προστασίας της ιδιωτικής ζωής.

Η τιμολόγηση της Google είναι βασικά $0,006 / 15 δευτερόλεπτα για τη βασική μετατροπή ομιλίας σε κείμενο και $0,009 / 15 δευτερόλεπτα για συγκεκριμένες περιπτώσεις χρήσης, όπως η μεταγραφή βίντεο ή η μεταγραφή μέσω τηλεφώνου.

Ας υποθέσουμε ότι θέλετε να αναλύσετε αυτόματα τις τηλεφωνικές κλήσεις που γίνονται στην ομάδα υποστήριξής σας (για να εκτελέσετε αργότερα ανάλυση συναισθήματος ή εξαγωγή οντοτήτων σε αυτές, για παράδειγμα). Εάν έχετε 5 υπαλλήλους υποστήριξης που ξοδεύουν 4 ώρες ο καθένας την ημέρα στο τηλέφωνο με τους πελάτες, το API ομιλίας προς κείμενο της Google θα σας κοστίσει 1.400 δολάρια τον μήνα.

Εάν ανησυχείτε για το κόστος ή το απόρρητο, ίσως να θέλετε να στραφείτε σε μια εναλλακτική λύση ανοικτού κώδικα: OpenAI Whisper.

Ψιθύρισε: Η καλύτερη εναλλακτική λύση για το Google Speech-To-Text

Το Whisper είναι ένα μοντέλο τεχνητής νοημοσύνης ανοιχτού κώδικα που μόλις κυκλοφόρησε από το OpenAI.

Το OpenAI έχει ιστορικό στην ανοικτή διάθεση σπουδαίων έργων τεχνητής νοημοσύνης. Για παράδειγμα, το GPT-2 αναπτύχθηκε από το OpenAI πριν από μερικά χρόνια. Εκείνη την εποχή ήταν το καλύτερο παραγωγικό μοντέλο επεξεργασίας φυσικής γλώσσας που δημιουργήθηκε ποτέ και άνοιξε το δρόμο για πολύ πιο προηγμένα μοντέλα όπως το GPT-3, το GPT-J, το OPT, το Bloom... Πρόσφατα, κυκλοφόρησαν επίσης ένα ωραίο πλαίσιο προγραμματισμού CUDA που ονομάζεται Triton.

Ωστόσο, δεν έχουν διατεθεί όλα τα μοντέλα του OpenAI. Τα 2 πιο συναρπαστικά μοντέλα τους: GPT-3 και DALL-E, εξακολουθούν να είναι ιδιωτικά μοντέλα που μπορούν να χρησιμοποιηθούν μόνο μέσω του πληρωμένου API τους.

Το Whisper κατακτά το οικοσύστημα ομιλίας-προς-κείμενο με καταιγισμό: μπορεί να ανιχνεύσει αυτόματα τη γλώσσα εισόδου, στη συνέχεια να μεταγράψει κείμενο σε περίπου 100 γλώσσες, να στίξει αυτόματα το αποτέλεσμα και ακόμη και να μεταφράσει το αποτέλεσμα αν χρειαστεί. Η ακρίβεια είναι πολύ καλή και μπορείτε να εφαρμόσετε αυτό το μοντέλο σε κάθε είδους είσοδο (ήχος, βίντεο, τηλεφωνικές κλήσεις, ιατρικές συζητήσεις κ.λπ.).

Και φυσικά, ένα άλλο μεγάλο πλεονέκτημα του Whisper είναι ότι μπορείτε να το αναπτύξετε μόνοι σας στους δικούς σας διακομιστές, πράγμα που είναι εξαιρετικό από την άποψη της προστασίας της ιδιωτικής ζωής.

Το Whisper είναι φυσικά δωρεάν, αλλά αν θέλετε να το εγκαταστήσετε μόνοι σας, θα πρέπει να αφιερώσετε λίγο ανθρώπινο χρόνο σε αυτό και να πληρώσετε για τους υποκείμενους διακομιστές και τις GPU. Αν προτιμάτε να επωφεληθείτε από μια διαχειριζόμενη έκδοση, μπορείτε να χρησιμοποιήσετε ένα API όπως το NLP Cloud: δοκιμάστε το Whisper δωρεάν στο NLP Cloud τώρα!.

Εγκατάσταση και εγκατάσταση του OpenAI Whisper

Έχετε 2 επιλογές αν θέλετε να εγκαταστήσετε και να αναπτύξετε το Whisper προς το παρόν. Η πρώτη είναι να χρησιμοποιήσετε τη βιβλιοθήκη whisper Python του OpenAI και η δεύτερη είναι να χρησιμοποιήσετε την υλοποίηση του Whisper από τους Hugging Face Transformers. Ας εξερευνήσουμε και τις δύο λύσεις.

Χρησιμοποιώντας το whisper Python lib

Αυτή η λύση είναι η απλούστερη. Βασικά πρέπει να ακολουθήσετε τις οδηγίες του OpenAI στο αποθετήριο Github του έργου 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?

Χρήση της εφαρμογής Hugging Face

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.

Απαιτήσεις υλικού

Όπως είδαμε παραπάνω, το Whisper είναι αρκετά εύκολο να εγκατασταθεί. Ωστόσο, απαιτεί προηγμένο υλικό. Συνιστάται μια GPU αν θέλετε να χρησιμοποιήσετε τη μεγάλη έκδοση του μοντέλου.

Αν χρησιμοποιήσετε το whisper Python lib (βλ. παραπάνω), θα χρειαστείτε περίπου 10GB RAM και 11GB VRAM. Αυτό σημαίνει ότι στην πράξη θα χρειαστείτε τουλάχιστον 16GB GPU. Θα μπορούσε να είναι μια NVIDIA Tesla T4 για παράδειγμα, ή μια NVIDIA A10.

Σε ένα Tesla T4, θα μεταγράψετε 30 δευτερόλεπτα ήχου σε περίπου 6 δευτερόλεπτα.

Εκτιμήσεις επιδόσεων

Αν θέλετε να βελτιώσετε τις προεπιλεγμένες επιδόσεις που αναφέρθηκαν παραπάνω, μπορείτε να εξερευνήσετε διάφορες στρατηγικές:

Συμπέρασμα

Το OpenAI Whisper είναι μια επανάσταση στον κόσμο του speech-to-text. Για πρώτη φορά, ο καθένας μπορεί να έχει εύκολη πρόσβαση σε αυτόματη αναγνώριση ομιλίας τελευταίας τεχνολογίας χάρη σε αυτό το μοντέλο ανοικτού κώδικα, το οποίο καθιστά το Whisper μια καλή εναλλακτική λύση στο API ομιλίας-προς-κείμενο της Google.

Η εγκατάσταση και η ανάπτυξη ενός τέτοιου μοντέλου ΤΝ εξακολουθεί να αποτελεί πρόκληση λόγω του υλικού που απαιτείται κάτω από την κουκούλα. Η μεγάλη έκδοση του Whisper δεν μπορεί πραγματικά να τρέξει σε καταναλωτικό υλικό.

Αν θέλετε εύκολα να δοκιμάσετε το Whisper χωρίς να ασχολείστε με ζητήματα υποδομής, δοκιμάστε το στο NLP Cloud API: δοκιμάστε το Whisper δωρεάν στο NLP Cloud τώρα!.

Julien Salinas
CTO στο NLP Cloud