Az automatikus beszédfelismerés Whisper modelljei már elérhetők az Amazon SageMaker JumpStart | Amazon webszolgáltatások

Az automatikus beszédfelismerés Whisper modelljei már elérhetők az Amazon SageMaker JumpStart | Amazon webszolgáltatások

Ma örömmel jelentjük be, hogy az OpenAI Whisper alapozó modell elérhető az ügyfelek számára Amazon SageMaker JumpStart. A Whisper egy előre betanított modell az automatikus beszédfelismeréshez (ASR) és a beszédfordításhoz. A 680 ezer órányi címkézett adatra kiképzett Whisper modellek erős általánosítási képességet mutatnak számos adatkészletre és tartományra anélkül, hogy finomhangolásra lenne szükség. A Sagemaker JumpStart a SageMaker gépi tanulási (ML) központja, amely hozzáférést biztosít az alapmodellekhez a beépített algoritmusok és a végpontok közötti megoldássablonok mellett, hogy segítsen gyorsan elkezdeni az ML-t.

Az ASR-t is használhatja Amazon átirat ,teljesen felügyelt és folyamatosan képzett automatikus beszédfelismerő szolgáltatás.

Ebben a bejegyzésben megmutatjuk, hogyan telepítheti a OpenAI Whisper modellezi és hívja meg a modellt a hang átírásához és lefordításához.

Az OpenAI Whisper modell a ölelőarc-pytorch-következtetés tartály. SageMaker JumpStart modellközpont-ügyfélként anélkül használhatja az ASR-t, hogy a SageMaker SDK-n kívül kellene karbantartania a modellszkriptet. A SageMaker JumpStart modellek a hálózati elkülönítést lehetővé tevő végpontokkal is javítják a biztonsági helyzetet.

Alapozó modellek a SageMakerben

A SageMaker JumpStart a népszerű modellközpontok számos modelljéhez biztosít hozzáférést, beleértve a Hugging Face-t, a PyTorch Hub-ot és a TensorFlow Hub-ot, amelyeket a SageMaker ML-fejlesztési munkafolyamataiban használhat fel. Az ML közelmúltbeli fejlődése a modellek új osztályát eredményezte alapozó modellek, amelyek jellemzően több milliárd paraméterre vannak kiképezve, és a felhasználási esetek széles kategóriájához illeszthetők, mint például a szövegösszegzés, a digitális művészet generálása és a nyelvi fordítás. Mivel ezeknek a modelleknek a betanítása költséges, az ügyfelek a meglévő, előre betanított alapozómodelleket szeretnék használni, és szükség szerint finomhangolni őket, ahelyett, hogy maguk képeznék ki ezeket a modelleket. A SageMaker a modellek válogatott listáját kínálja, amelyek közül választhat a SageMaker konzolon.

Mostantól a SageMaker JumpStartban különböző modellszolgáltatóktól származó alapozó modelleket találhat, így gyorsan elkezdheti az alapozó modelleket. A SageMaker JumpStart különböző feladatokon vagy modellszolgáltatókon alapuló alapmodelleket kínál, és könnyen áttekintheti a modell jellemzőit és használati feltételeit. Ezeket a modelleket egy teszt UI widget segítségével is kipróbálhatja. Ha nagyszabású alapmodellt szeretne használni, a SageMaker elhagyása nélkül megteheti a modellszolgáltatók előre elkészített notebookjainak használatával. Mivel a modelleket az AWS-ben tárolják és telepítik, Ön bízik abban, hogy adatait – akár a modell kiértékeléséhez, akár nagyszabású használatához használják – nem osztják meg harmadik felekkel.

OpenAI Whisper alapozó modellek

A Whisper egy előre betanított modell az ASR-hez és a beszédfordításhoz. Suttogás javasolt az újságban Robusztus beszédfelismerés nagy léptékű gyenge felügyeleten keresztül Alec Radford és mások az OpenAI-tól. Az eredeti kód megtalálható ebben a GitHub-tárolóban.

A Whisper egy transzformátor alapú kódoló-dekódoló modell, más néven a sorozatról-szekvenciára modell. 680 ezer órányi címkézett beszédadatra képezték ki, amelyet nagy léptékű gyenge felügyelettel annotáltak. A Whisper modellek erős általánosítási képességet mutatnak számos adatkészletre és tartományra anélkül, hogy finomhangolásra lenne szükség.

A modelleket csak angol vagy többnyelvű adatok alapján képezték ki. A csak angol nyelvű modelleket a beszédfelismerés feladatára képezték ki. A többnyelvű modelleket beszédfelismerésre és beszédfordításra képezték ki. A beszédfelismeréshez a modell előrejelzi a transzkripciókat a azonos nyelvet hangként. Beszédfordítás esetén a modell előrejelzi a transzkripciókat a különböző nyelvet a hanghoz.

A Whisper ellenőrzőpontok öt különböző méretű konfigurációban kaphatók. A legkisebb négyet csak angol vagy többnyelvű adatokra képezik. A legnagyobb ellenőrző pontok csak többnyelvűek. Mind a tíz előre kiképzett ellenőrzőpont elérhető a Átölelő Arc hub. Az ellenőrző pontokat az alábbi táblázat foglalja össze, a hub-on található modellekre mutató hivatkozásokkal:

Modell név A paraméterek száma Többnyelvű
suttogó-apró 39 M Igen
suttogó-alap 74 M Igen
suttogás-kicsi 244 M Igen
suttogó-közepes 769 M Igen
suttogás-nagy 1550 M Igen
suttogás-nagy-v2 1550 M Igen

Fedezze fel, hogyan használhatja a Whisper modelleket a SageMaker JumpStartban.

OpenAI Whisper alapozó modellek WER és késleltetés összehasonlítása

A szó hibaaránya (WER) a különböző OpenAI Whisper modelleknél a LibriSpeech teszt-tisztítás az alábbi táblázatban látható. A WER a beszédfelismerő vagy gépi fordítórendszer teljesítményének általános mérőszáma. Méri a referenciaszöveg (az alapigazság vagy a helyes átírás) és az ASR-rendszer kimenete közötti különbséget a hibák számában, beleértve a helyettesítéseket, beillesztéseket és törléseket, amelyek szükségesek az ASR-kimenet hivatkozássá alakításához. szöveg. Ezeket a számokat a Átölelő arc weboldal.

Modell WER (százalék)
suttogó-apró 7.54
suttogó-alap 5.08
suttogás-kicsi 3.43
suttogó-közepes 2.9
suttogás-nagy 3
suttogás-nagy-v2 3

Ehhez a bloghoz az alábbi hangfájlt használtuk, és összehasonlítottuk a beszédfelismerés késleltetését a különböző suttogásmodellekben. A késleltetés az az idő, amely attól a pillanattól számítva, amikor a felhasználó kérést küld, addig az időpontig, amíg az alkalmazás jelzi, hogy a kérés befejeződött. A következő táblázatban szereplő számok az ml.g100xlarge példányon tárolt modellhez tartozó, ugyanazt a hangfájlt használó összesen 5.2 kérés átlagos várakozási idejét jelentik.

Modell Átlagos várakozási idő Modell kimenet
suttogó-apró 0.43 Nagyon izgalmas időket élünk a gépi világítás terén. Az ML modellek fejlesztésének sebessége valóban növekedni fog. De a következő években nem fogod elérni azt a végső állapotot, amelyet megnyertünk. Hacsak nem tesszük ezeket a modelleket mindenki számára elérhetőbbé.
suttogó-alap 0.49 Nagyon izgalmas időket élünk a gépi tanulás terén. Az ML modellek fejlesztésének sebessége valóban növekedni fog. De a következő években nem fogod elérni azt a végső állapotot, amelyet megnyertünk. Hacsak nem tesszük ezeket a modelleket mindenki számára elérhetőbbé.
suttogás-kicsi 0.84 Nagyon izgalmas időket élünk a gépi tanulás terén. Az ML modellek fejlesztésének sebessége valóban növekedni fog. De a következő években nem fogod elérni azt a végállapotot, amelyet szeretnénk, hacsak nem tesszük mindenki számára elérhetőbbé ezeket a modelleket.
suttogó-közepes 1.5 Nagyon izgalmas időket élünk a gépi tanulás terén. Az ML modellek fejlesztésének sebessége valóban növekedni fog. De a következő években nem fogod elérni azt a végállapotot, amelyet szeretnénk, hacsak nem tesszük mindenki számára elérhetőbbé ezeket a modelleket.
suttogás-nagy 1.96 Nagyon izgalmas időket élünk a gépi tanulás terén. Az ML modellek fejlesztésének sebessége valóban növekedni fog. De a következő években nem fogod elérni azt a végállapotot, amelyet szeretnénk, hacsak nem tesszük mindenki számára elérhetőbbé ezeket a modelleket.
suttogás-nagy-v2 1.98 Nagyon izgalmas időket élünk a gépi tanulás terén. Az ML modellek fejlesztésének sebessége valóban növekedni fog. De a következő években nem fogod elérni azt a végállapotot, amelyet szeretnénk, hacsak nem tesszük mindenki számára elérhetőbbé ezeket a modelleket.

Megoldás áttekintése

A Whisper modelleket telepítheti az Amazon SageMaker konzol vagy egy Amazon SageMaker notebook használatával. Ebben a bejegyzésben bemutatjuk, hogyan telepítheti a Whisper API-t a SageMaker Studio konzol vagy egy SageMaker Notebook segítségével, majd hogyan használhatja a telepített modellt a beszédfelismeréshez és a nyelvi fordításhoz. A bejegyzésben használt kód megtalálható a ezt a GitHub notebookot.

Bővítsük ki az egyes lépéseket részletesen.

Telepítse a Whispert a konzolról

  1. A SageMaker JumpStart használatának megkezdéséhez nyissa meg az Amazon SageMaker Studio konzolt, lépjen a SageMaker JumpStart indítóoldalára, és válassza a Kezdje el a JumpStartot.
  2. A Whisper modell kiválasztásához használhatja a felül található füleket, vagy használja a jobb felső sarokban lévő keresőmezőt, ahogy az a következő képernyőképen látható. Ebben a példában használja a jobb felső sarokban található keresőmezőt, és írja be Whisper, majd válassza ki a megfelelő Whisper modellt a legördülő menüből.
    Whisper models for automatic speech recognition now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  3. Miután kiválasztotta a Whisper modellt, a konzol segítségével telepítheti a modellt. Kiválaszthat egy példányt a telepítéshez, vagy használhatja az alapértelmezettet.
    Whisper models for automatic speech recognition now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Telepítse az alapmodellt egy Sagemaker Notebookból

Az első lépések az első üzembe helyezéshez, majd a telepített modell használatához a különböző feladatok megoldásához:

  1. Beállítása
  2. Válasszon ki egy modellt
  3. Lekérheti a műtermékeket, és telepíthet egy végpontot
  4. Használjon telepített modellt az ASR-hez
  5. Használjon telepített modellt a nyelvi fordításhoz
  6. Tisztítsa meg a végpontot

Beállítása

Ezt a notebookot a SageMaker Studio ml.t3.medium példányán tesztelték a Python 3 (data science) kernellel és egy Amazon SageMaker Notebook példányon a conda_python3 kernel.

%pip install --upgrade sagemaker --quiet

Válasszon egy előre betanított modellt

Állítson be egy SageMaker munkamenetet a Boto3 használatával, majd válassza ki a telepíteni kívánt modellazonosítót.

model_id = "huggingface-asr-whisper-large-v2"

Lekérheti a műtermékeket, és telepíthet egy végpontot

A SageMaker használatával következtetéseket hajthat végre az előre betanított modellen, anélkül, hogy először finomhangolná egy új adatkészleten. Az előre betanított modell hosztolásához hozzon létre egy példányt sagemaker.model.Model és telepítse azt. A következő kód az alapértelmezett példányt használja ml.g5.2xlarge egy suttogó-nagy-v2 modell következtetési végpontjához. A modellt átadással telepítheti más példánytípusokra is instance_typeJumpStartModel osztály. A telepítés néhány percig tarthat.

#Deploying the model from sagemaker.jumpstart.model import JumpStartModel
from sagemaker.serializers import JSONSerializer my_model = JumpStartModel(model_id=dropdown.value)
predictor = my_model.deploy()

Automatikus beszédfelismerés

Ezután olvassa el a minta audiofájlt, a sample1.wav, egy SageMaker Jumpstart nyilvánosból Amazon Simple Storage Service (Amazon S3) helyét, és továbbítsa a előrejelzője beszédfelismeréshez. Ezt a mintafájlt lecserélheti bármely más minta hangfájlra, de ügyeljen arra, hogy a .wav fájl mintavételezése 16 kHz-en történik, mivel az automatikus beszédfelismerő modellek ezt megkövetelik. A bemeneti hangfájlnak 30 másodpercnél rövidebbnek kell lennie.

from scipy.io.wavfile import read
import json
import boto3
from sagemaker.jumpstart import utils # The wav files must be sampled at 16kHz (this is required by the automatic speech recognition models), so make sure to resample them if required. The input audio file must be less than 30 seconds.
s3_bucket = utils.get_jumpstart_content_bucket(boto3.Session().region_name)
key_prefix = "training-datasets/asr_notebook_data"
input_audio_file_name = "sample1.wav" s3_client = boto3.client("s3")
s3_client.download_file(s3_bucket, f"{key_prefix}/{input_audio_file_name }", input_audio_file_name ) with open(input_audio_file_name, "rb") as file: wav_file_read = file.read() # If you receive client error (413) please check the payload size to the endpoint. Payloads for SageMaker invoke endpoint requests are limited to about 5MB
response = predictor.predict(wav_file_read)
print(response["text"])

Ez a modell számos paramétert támogat a következtetés végrehajtása során. Tartalmazzák:

  • max_length: A modell szöveget generál a kimeneti hosszig. Ha meg van adva, akkor pozitív egész számnak kell lennie.
  • nyelv és feladat: Itt adja meg a kimeneti nyelvet és a feladatot. A modell támogatja az átírás vagy fordítás feladatát.
  • max_new_tokens: A generálandó tokenek maximális száma.
  • num_return_sequences: A visszaadott kimeneti sorozatok száma. Ha meg van adva, pozitív egész számnak kell lennie.
  • num_beams: A mohó keresésben használt gerendák száma. Ha meg van adva, akkor egész számnak nagyobbnak vagy egyenlőnek kell lennie, mint num_return_sequences.
  • no_repeat_ngram_size: A modell biztosítja, hogy a no_repeat_ngram_size nem ismétlődik a kimeneti sorrendben. Ha meg van adva, akkor 1-nél nagyobb pozitív egész számnak kell lennie.
  • hőmérséklet: Ez szabályozza a kimenet véletlenszerűségét. A magasabb hőmérséklet kis valószínűségű szavakat tartalmazó kimeneti sorozatot, az alacsonyabb hőmérséklet pedig egy nagy valószínűségű szavakat tartalmazó kimeneti sorozatot eredményez. Ha a hőmérséklet megközelíti a 0-t, az mohó dekódolást eredményez. Ha meg van adva, pozitív lebegésnek kell lennie.
  • early_stopping: Ha True, a szöveggenerálás akkor fejeződik be, amikor az összes sugárhipotézis eléri a mondat token végét. Ha meg van adva, akkor logikai értéknek kell lennie.
  • do_sample: Ha True, minta a következő szó a valószínűség. Ha meg van adva, akkor logikai értéknek kell lennie.
  • top_k: A szöveggenerálás minden lépésében csak a top_k legvalószínűbb szavak. Ha meg van adva, pozitív egész számnak kell lennie.
  • top_p: A szöveggenerálás minden lépésében vegyen mintát a lehető legkisebb szókészletből, halmozott valószínűséggel top_p. Ha meg van adva, akkor 0 és 1 közötti úszónak kell lennie.

Végpont meghívásakor az előző paraméterek bármely részhalmazát megadhatja. Ezután egy példát mutatunk be arra, hogyan lehet végpontot meghívni ezekkel az argumentumokkal.

Nyelvi fordítás

A nyelvi fordítás Whisper modellekkel történő bemutatásához használja a következő hangfájlt franciául, és fordítsa le angolra. A fájlból 16 kHz-en kell mintavételezni (az ASR-modellek által megköveteltnek megfelelően), ezért ügyeljen arra, hogy szükség esetén újramintavételezze a fájlokat, és ügyeljen arra, hogy a minták ne haladják meg a 30 másodpercet.

  1. Töltse le a sample_french1.wav a SageMaker JumpStart-ból a nyilvános S3 helyről, így a Whisper-modell hasznos teherként továbbadhatja a fordításhoz.
    input_audio_file_name = "sample_french1.wav" s3_client.download_file(s3_bucket, f"{key_prefix}/{input_audio_file_name }", input_audio_file_name )

  2. Állítsa be a feladat paraméterét a következőre: translate és a nyelv mint French hogy a Whisper modellt beszédfordításra kényszerítsék.
    with open(input_audio_file_name, "rb") as file: wav_file_read = file.read() payload = {"audio_input": wav_file_read.hex(), "language": "french", "task": "translate"} predictor.serializer = JSONSerializer()
    predictor.content_type = "application/json"

  3. Felhasználás előrejelzője megjósolni a nyelv fordítását. Ha ügyfélhiba (413-as hiba) jelenik meg, ellenőrizze a végpont hasznos adattartalmát. A SageMaker végpont-hívási kérelmek hasznos terhelése körülbelül 5 MB-ra korlátozódik.
    response = predictor.predict(payload)
    print(response["text"])

  4. A francia hangfájlból angolra lefordított szövegkimenet a következő:
    [' Welcome to JPBSystem. We have more than 150 employees and 90% of sales. We have developed about 15 patents.']

Tisztítsuk meg

A végpont tesztelése után törölje a SageMaker következtetési végpontot, és törölje a modellt, hogy elkerülje a költségeket.

Következtetés

Ebben a bejegyzésben megmutattuk, hogyan tesztelhet és használhat OpenAI Whisper modelleket érdekes alkalmazások létrehozásához az Amazon SageMaker segítségével. Próbálja ki a SageMaker alapozó modelljét még ma, és ossza meg velünk visszajelzését!

Ez az útmutató csak tájékoztató jellegű. Továbbra is el kell végeznie a saját független értékelését, és meg kell tennie az intézkedéseket annak biztosítására, hogy megfeleljen saját minőség-ellenőrzési gyakorlatának és szabványainak, valamint az Önre, a tartalomra és a az ebben az útmutatóban hivatkozott harmadik féltől származó modellre. Az AWS-nek nincs ellenőrzése vagy felhatalmazása az ebben az útmutatóban hivatkozott harmadik fél modellje felett, és nem vállal semmilyen kijelentést vagy garanciát arra vonatkozóan, hogy a harmadik féltől származó modell biztonságos, vírusmentes, működőképes vagy kompatibilis az Ön éles környezetével és szabványaival. Az AWS nem vállal semmilyen kijelentést, garanciát vagy garanciát arra vonatkozóan, hogy az ebben az útmutatóban szereplő bármely információ meghatározott eredményt vagy eredményt eredményez.


A szerzőkről

Whisper models for automatic speech recognition now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Hemant Singh Alkalmazott tudós, aki tapasztalattal rendelkezik az Amazon SageMaker JumpStart területén. Mesterképzését a Courant Institute of Mathematical Sciences-ben, a B.Tech-et pedig az IIT Delhiben szerezte. Tapasztalattal rendelkezik a természetes nyelvi feldolgozás, a számítógépes látás és az idősorelemzés területén a gépi tanulási problémák legkülönbözőbb skáláján.

Whisper models for automatic speech recognition now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Rachna Chadha az AWS stratégiai számláinak fő megoldástervezője, az AI/ML. Rachna optimista, aki hisz abban, hogy az AI etikus és felelős használata javíthatja a társadalmat a jövőben, és gazdasági és társadalmi jólétet hozhat. Szabadidejében Rachna szereti a családjával tölteni az idejét, túrázni és zenét hallgatni.

Whisper models for automatic speech recognition now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Dr. Ashish Khetan vezető alkalmazott tudós az Amazon SageMaker beépített algoritmusaival, és segít gépi tanulási algoritmusok fejlesztésében. PhD fokozatát az Illinois Urbana-Champaign Egyetemen szerezte. A gépi tanulás és a statisztikai következtetések aktív kutatója, és számos közleményt publikált NeurIPS, ICML, ICLR, JMLR, ACL és EMNLP konferenciákon.

Időbélyeg:

Még több AWS gépi tanulás