Installation und Bereitstellung von Whisper, der besten Open-Source-Alternative zu Google Speech-To-Text

OpenAI Whisper ist die derzeit beste Open-Source-Alternative zu Google Speech-to-Text. Es funktioniert nativ in 100 Sprachen (automatisch erkannt), fügt Interpunktion hinzu und kann das Ergebnis bei Bedarf sogar übersetzen. In diesem Artikel zeigen wir Ihnen, wie Sie Whisper installieren und in der Produktion einsetzen können.

Automatische Spracherkennungssysteme

Google Speech-To-Text

Die API für automatische Spracherkennung (Sprache-zu-Text) von Google ist sehr beliebt. Diese API kann Audio- und Videodateien in 125 Sprachen transkribieren und bietet spezielle KI-Modelle für die Transkription von Telefongesprächen, medizinische Transkription und mehr.

Diese API verfügt auch über nette Zusatzfunktionen wie Inhaltsfilterung, automatische Zeichensetzung (vorerst nur in der Beta-Version) und Sprechertagebuch (ebenfalls in der Beta-Version).

Und schließlich kann die API auch vor Ort installiert werden. Es ist jedoch wichtig zu beachten, dass das vor Ort installierte KI-Modell weiterhin Daten an Google sendet, um die API-Nutzung zu melden, was unter dem Gesichtspunkt des Datenschutzes bedenklich sein könnte.

Die Preise von Google liegen bei $0,006 / 15 Sekunden für einfache Sprache-zu-Text-Anwendungen und bei $0,009 / 15 Sekunden für spezielle Anwendungsfälle wie Videotranskription oder Telefontranskription.

Nehmen wir an, Sie möchten Telefonanrufe, die bei Ihrem Support-Team eingehen, automatisch analysieren (um später z. B. eine Stimmungsanalyse oder Entity-Extraktion durchzuführen). Wenn Sie 5 Support-Mitarbeiter haben, die jeweils 4 Stunden pro Tag am Telefon mit Kunden verbringen, kostet Sie die Sprache-zu-Text-API von Google 1.400 $ pro Monat.

Wenn Sie sich Sorgen um die Kosten oder den Datenschutz machen, sollten Sie auf eine Open-Source-Alternative umsteigen: OpenAI Whisper.

Whisper: Die beste Alternative zu Google Speech-To-Text

Whisper ist ein Open-Source-KI-Modell, das gerade von OpenAI veröffentlicht wurde.

OpenAI hat in der Vergangenheit immer wieder großartige KI-Projekte veröffentlicht. Zum Beispiel wurde GPT-2 vor einigen Jahren von OpenAI entwickelt. Damals war es das beste generative Modell für die Verarbeitung natürlicher Sprache, das je entwickelt wurde, und es ebnete den Weg für viel fortschrittlichere Modelle wie GPT-3, GPT-J, OPT, Bloom... Kürzlich wurde auch ein schönes CUDA-Programmier-Framework namens Triton veröffentlicht.

Allerdings wurden nicht alle Modelle von OpenAI als Open Source veröffentlicht. Ihre 2 interessantesten Modelle: GPT-3 und DALL-E, sind immer noch private Modelle, die nur über die kostenpflichtige API genutzt werden können.

Whisper erobert das Speech-to-Text-Ökosystem im Sturm: Es kann die Eingabesprache automatisch erkennen, dann Text in rund 100 Sprachen transkribieren, das Ergebnis automatisch mit Satzzeichen versehen und bei Bedarf sogar übersetzen. Die Genauigkeit ist sehr gut, und Sie können dieses Modell auf jede Art von Eingabe anwenden (Audio, Video, Telefongespräche, medizinische Gespräche usw.).

Ein weiterer großer Vorteil von Whisper ist natürlich, dass Sie es selbst auf Ihren eigenen Servern einrichten können, was unter dem Gesichtspunkt des Datenschutzes sehr vorteilhaft ist.

Whisper ist natürlich kostenlos, aber wenn Sie es selbst installieren möchten, müssen Sie einige Zeit damit verbringen und für die zugrunde liegenden Server und GPUs bezahlen. Wenn Sie es vorziehen, von einer verwalteten Version zu profitieren, können Sie eine API wie NLP Cloud verwenden: Testen Sie Whisper jetzt kostenlos auf NLP Cloud!.

Installieren und Bereitstellen von OpenAI Whisper

Sie haben 2 Möglichkeiten, wenn Sie Whisper installieren und einsetzen möchten. Die erste ist, die Whisper-Python-Bibliothek von OpenAI zu verwenden, und die zweite ist, die Hugging Face Transformers-Implementierung von Whisper zu verwenden. Lassen Sie uns beide Lösungen untersuchen.

Verwendung der Whisper Python Lib

Diese Lösung ist die einfachste. Sie müssen im Wesentlichen die Anweisungen von OpenAI befolgen auf dem Github-Repository des Whisper-Projekts.

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?

Verwendung der Implementierung des "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.

Hardware-Anforderungen

Wie wir oben gesehen haben, ist Whisper relativ einfach zu installieren. Allerdings erfordert es fortgeschrittene Hardware. Eine GPU wird empfohlen, wenn Sie die große Version des Modells verwenden möchten.

Wenn Sie die Whisper-Python-Lib verwenden (siehe oben), benötigen Sie etwa 10 GB RAM und 11 GB VRAM. Das bedeutet, dass Sie in der Praxis mindestens einen 16-GB-Grafikprozessor benötigen. Es könnte zum Beispiel ein NVIDIA Tesla T4 oder ein NVIDIA A10 sein.

Mit einem Tesla T4 können Sie 30 Sekunden Audio in etwa 6 Sekunden transkribieren.

Überlegungen zur Leistung

Wenn Sie die oben erwähnte Standardleistung verbessern wollen, können Sie verschiedene Strategien ausprobieren:

Schlussfolgerung

OpenAI Whisper ist eine Revolution in der Sprache-zu-Text-Welt. Zum ersten Mal kann jeder dank dieses Open-Source-Modells einfach auf eine automatische Spracherkennung auf dem neuesten Stand der Technik zugreifen, was Whisper zu einer guten Alternative zur Google Sprache-zu-Text-API macht.

Die Installation und Bereitstellung eines solchen KI-Modells ist jedoch aufgrund der erforderlichen Hardware unter der Haube immer noch eine Herausforderung. Die große Version von Whisper kann nicht wirklich auf Verbraucherhardware laufen.

Wenn Sie Whisper einfach ausprobieren möchten, ohne sich um die Infrastruktur kümmern zu müssen, probieren Sie es bitte mit der NLP Cloud API: Testen Sie Whisper jetzt kostenlos auf NLP Cloud!.

Julien Salinas
CTO bei NLP Cloud