דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | שירותי האינטרנט של אמזון

דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | שירותי האינטרנט של אמזון

היום, אנו נרגשים להכריז כי מודל הבסיס של OpenAI Whisper זמין עבור לקוחות המשתמשים אמזון SageMaker JumpStart. Whisper הוא מודל מאומן מראש לזיהוי דיבור אוטומטי (ASR) ותרגום דיבור. מודלים של Whisper, מאומנים על 680 אלף שעות של נתונים מתויגים, מדגימים יכולת חזקה להכליל למערכי נתונים ודומיינים רבים ללא צורך בכוונון עדין. Sagemaker JumpStart הוא מרכז למידת המכונה (ML) של SageMaker המספק גישה למודלים בסיסיים בנוסף לאלגוריתמים מובנים ותבניות פתרונות מקצה לקצה כדי לעזור לך להתחיל במהירות עם ML.

אתה יכול גם לעשות ASR באמצעות אמזון תעתיק שירות זיהוי דיבור אוטומטי מנוהל במלואו ומאומן באופן רציף.

בפוסט זה, אנו מראים לך כיצד לפרוס את OpenAI Whisper לדגמן ולהפעיל את המודל כדי לתמלל ולתרגם אודיו.

דגם OpenAI Whisper משתמש ב- huggingface-pytorch-inference מְכוֹלָה. כלקוח מרכז המודל של SageMaker JumpStart, אתה יכול להשתמש ב-ASR מבלי שתצטרך לשמור על סקריפט המודל מחוץ ל-SageMaker SDK. דגמי SageMaker JumpStart גם משפרים את יציבת האבטחה עם נקודות קצה המאפשרות בידוד רשת.

דגמי יסוד ב- SageMaker

SageMaker JumpStart מספקת גישה למגוון דגמים ממרכזי דגמים פופולריים, כולל Hugging Face, PyTorch Hub ו- TensorFlow Hub, שבהם תוכל להשתמש בזרימת העבודה שלך לפיתוח ML ב- SageMaker. ההתקדמות האחרונה ב-ML הובילה לסוג חדש של דגמים המכונה דגמי יסוד, אשר בדרך כלל מאומנים על מיליארדי פרמטרים וניתן להתאים אותם לקטגוריה רחבה של מקרי שימוש, כגון סיכום טקסט, יצירת אמנות דיגיטלית ותרגום שפה. מכיוון שדגמים אלו יקרים לאימון, לקוחות רוצים להשתמש במודלים קיימים של יסודות שהוכשרו מראש ולכוונן אותם לפי הצורך, במקום לאמן את הדגמים הללו בעצמם. SageMaker מספק רשימה אוצרת של דגמים שתוכלו לבחור מהם בקונסולת SageMaker.

כעת תוכל למצוא דגמי יסוד מספקי דגמים שונים בתוך SageMaker JumpStart, מה שמאפשר לך להתחיל עם דגמי יסוד במהירות. SageMaker JumpStart מציעה מודלים בסיסיים המבוססים על משימות או ספקי מודלים שונים, ותוכלו לסקור בקלות את מאפייני המודל ומונחי השימוש. אתה יכול גם לנסות את הדגמים האלה באמצעות ווידג'ט למבחן ממשק משתמש. כאשר אתה רוצה להשתמש במודל יסוד בקנה מידה, אתה יכול לעשות זאת מבלי לעזוב את SageMaker על ידי שימוש במחברות מובנות מראש מספקי דגמים. מכיוון שהמודלים מתארחים ונפרסים ב-AWS, אתה סומך על כך שהנתונים שלך, בין אם הם משמשים להערכה או לשימוש במודל בקנה מידה, לא ישותפו עם צדדים שלישיים.

דגמי בסיס OpenAI Whisper

Whisper הוא מודל מאומן מראש עבור ASR ותרגום דיבור. הלחישה הוצעה בעיתון זיהוי דיבור חזק באמצעות פיקוח חלש בקנה מידה גדול מאת אלק רדפורד ואחרים מ-OpenAI. ניתן למצוא את הקוד המקורי במאגר GitHub זה.

Whisper הוא דגם מקודד-מפענח מבוסס שנאי, המכונה גם א רצף לרצף דֶגֶם. הוא הוכשר על 680 אלף שעות של נתוני דיבור מתויגים עם הערות תוך שימוש בפיקוח חלש בקנה מידה גדול. מודלים של Whisper מדגימים יכולת חזקה להכליל על מערכי נתונים ותחומים רבים ללא צורך בכוונון עדין.

המודלים הוכשרו על נתונים באנגלית בלבד או על נתונים רב לשוניים. הדוגמניות באנגלית בלבד אומנו במשימה של זיהוי דיבור. המודלים הרב-לשוניים הוכשרו על זיהוי דיבור ותרגום דיבור. לצורך זיהוי דיבור, המודל חוזה תעתיקים ב- אותו השפה בתור האודיו. עבור תרגום דיבור, המודל חוזה תעתיקים ל-a אחר שפה לשמע.

מחסומי Whisper מגיעים בחמש תצורות בגדלים שונים של דגמים. ארבעת הקטנים ביותר מאומנים על נתונים באנגלית בלבד או על נתונים רב לשוניים. המחסומים הגדולים ביותר הם רב לשוניים בלבד. כל עשרת המחסומים שהוכשרו מראש זמינים ב- רכזת פנים מחבקת. נקודות הבידוק מסוכמות בטבלה הבאה עם קישורים לדגמים ברכזת:

שם דגם מספר הפרמטרים רב לשוני
לוחשת-זעירה 39 מ' דולר יש
בסיס לחישה 74 מ' דולר יש
לחש-קטן 244 מ' דולר יש
לחישה-בינוני 769 מ' דולר יש
לחש-גדול 1550 מ' דולר יש
לחש-גדול-v2 1550 מ' דולר יש

בואו לחקור כיצד ניתן להשתמש בדגמי Whisper ב- SageMaker JumpStart.

OpenAI Whisper מודלים של WER והשוואת חביון

שיעור שגיאות המילה (WER) עבור דגמי OpenAI Whisper שונים המבוססים על מבחן LibriSpeech נקי מוצג בטבלה הבאה. WER הוא מדד נפוץ לביצועים של מערכת זיהוי דיבור או תרגום מכונה. הוא מודד את ההבדל בין טקסט ההפניה (האמת הבסיסית או התעתיק הנכון) לבין הפלט של מערכת ASR במונחים של מספר השגיאות, כולל החלפות, הוספות ומחיקות שדרושות כדי להפוך את פלט ה-ASR להפניה טֶקסט. המספרים הללו נלקחו מה- פנים מחבקות אתר אינטרנט.

מספר סימוכין WER (אחוז)
לוחשת-זעירה 7.54
בסיס לחישה 5.08
לחש-קטן 3.43
לחישה-בינוני 2.9
לחש-גדול 3
לחש-גדול-v2 3

עבור הבלוג הזה, לקחנו את קובץ האודיו שלהלן והשווינו את זמן האחזור של זיהוי דיבור בין דגמי לחישה שונים. חביון הוא משך הזמן מרגע שמשתמש שולח בקשה ועד לזמן שבו האפליקציה שלך מציינת שהבקשה הושלמה. המספרים בטבלה הבאה מייצגים את זמן האחזור הממוצע עבור סך של 100 בקשות המשתמשות באותו קובץ שמע עם הדגם שמתארח במופע ml.g5.2xlarge.

מספר סימוכין זמן אחזור ממוצע פלט דגם
לוחשת-זעירה 0.43 אנו חיים בתקופות מרגשות מאוד עם תאורת מכונות. המהירות של פיתוח מודל ML באמת תגדל. אבל לא תגיעו למצב הסיום הזה שניצחנו בשנים הקרובות. אלא אם כן נהפוך את הדגמים הללו לנגישים יותר לכולם.
בסיס לחישה 0.49 אנו חיים בזמנים מאוד מעניינים עם למידת מכונה. המהירות של פיתוח מודל ML באמת תגדל. אבל לא תגיעו למצב הסיום הזה שניצחנו בשנים הקרובות. אלא אם כן נהפוך את הדגמים הללו לנגישים יותר לכולם.
לחש-קטן 0.84 אנו חיים בזמנים מאוד מעניינים עם למידת מכונה. המהירות של פיתוח מודל ML באמת תגדל. אבל לא תגיעו למצב הקצה שאנו רוצים בשנים הקרובות אלא אם כן נהפוך את הדגמים הללו לנגישים יותר לכולם.
לחישה-בינוני 1.5 אנו חיים בזמנים מאוד מעניינים עם למידת מכונה. המהירות של פיתוח מודל ML באמת תגדל. אבל לא תגיעו למצב הקצה שאנו רוצים בשנים הקרובות אלא אם כן נהפוך את הדגמים הללו לנגישים יותר לכולם.
לחש-גדול 1.96 אנו חיים בזמנים מאוד מעניינים עם למידת מכונה. המהירות של פיתוח מודל ML באמת תגדל. אבל לא תגיעו למצב הקצה שאנו רוצים בשנים הקרובות אלא אם כן נהפוך את הדגמים הללו לנגישים יותר לכולם.
לחש-גדול-v2 1.98 אנו חיים בזמנים מאוד מעניינים עם למידת מכונה. המהירות של פיתוח מודל ML באמת תגדל. אבל לא תגיעו למצב הקצה שאנו רוצים בשנים הקרובות אלא אם כן נהפוך את הדגמים הללו לנגישים יותר לכולם.

דרך פיתרון

אתה יכול לפרוס דגמי Whisper באמצעות קונסולת Amazon SageMaker או באמצעות אמזון SageMaker Notebook. בפוסט זה, אנו מדגימים כיצד לפרוס את Whisper API באמצעות מסוף SageMaker Studio או SageMaker Notebook ולאחר מכן להשתמש במודל הפרוס לזיהוי דיבור ותרגום שפה. ניתן למצוא את הקוד המשמש בפוסט זה ב מחברת GitHub זו.

בואו נרחיב כל שלב בפירוט.

פרוס את Whisper מהקונסולה

  1. כדי להתחיל עם SageMaker JumpStart, פתח את קונסולת Amazon SageMaker Studio ועבור לדף ההשקה של SageMaker JumpStart ובחר התחל עם JumpStart.
  2. כדי לבחור דגם Whisper, אתה יכול להשתמש בכרטיסיות בחלק העליון או להשתמש בתיבת החיפוש בפינה השמאלית העליונה כפי שמוצג בצילום המסך הבא. עבור דוגמה זו, השתמש בתיבת החיפוש בצד ימין למעלה והזן Whisper, ולאחר מכן בחר את הדגם המתאים Whisper מהתפריט הנפתח.
    דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  3. לאחר שתבחר בדגם Whisper, תוכל להשתמש בקונסולה כדי לפרוס את הדגם. אתה יכול לבחור מופע לפריסה או להשתמש בברירת המחדל.
    דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

פרוס את מודל הבסיס ממחברת Sagemaker

השלבים לפריסה תחילה ולאחר מכן להשתמש במודל הפרוס כדי לפתור משימות שונות הם:

  1. להקים
  2. בחר דגם
  3. אחזר חפצים ופרוס נקודת קצה
  4. השתמש במודל פרוס עבור ASR
  5. השתמש במודל פרוס לתרגום שפה
  6. נקה את נקודת הקצה

להקים

מחברת זו נבדקה על מופע ml.t3.medium ב-SageMaker Studio עם ליבת Python 3 (מדע נתונים) ובמופע של Amazon SageMaker Notebook עם conda_python3 גַרעִין.

%pip install --upgrade sagemaker --quiet

בחר דגם מאומן מראש

הגדר סשן של SageMaker באמצעות Boto3, ולאחר מכן בחר את מזהה הדגם שברצונך לפרוס.

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

אחזר חפצים ופרוס נקודת קצה

באמצעות SageMaker, אתה יכול לבצע הסקה על המודל שהוכשר מראש, אפילו מבלי לכוונן אותו תחילה על מערך נתונים חדש. כדי לארח את המודל שהוכשר מראש, צור מופע של Sagemaker.model.Model ולפרוס אותו. הקוד הבא משתמש במופע ברירת המחדל ml.g5.2xlarge עבור נקודת הסיום של מודל לחישה-גדול-v2. אתה יכול לפרוס את המודל על סוגי מופעים אחרים על ידי מעבר instance_type ב JumpStartModel מעמד. הפריסה עשויה להימשך מספר דקות.

#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()

זיהוי דיבור אוטומטי

לאחר מכן, אתה קורא את קובץ האודיו לדוגמה, sample1.wav, מציבור של SageMaker Jumpstart שירות אחסון פשוט של אמזון (Amazon S3) מיקום ולהעביר אותו ל מְנַבֵּא לזיהוי דיבור. אתה יכול להחליף קובץ דוגמה זה בכל קובץ שמע לדוגמה אחר, אך וודא שקובץ ה-wav נדגם ב-16 קילו-הרץ מכיוון שהוא נדרש על ידי מודלים של זיהוי דיבור אוטומטי. קובץ האודיו הקלט חייב להיות פחות מ-30 שניות.

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"])

מודל זה תומך בפרמטרים רבים בעת ביצוע הסקה. הם כוללים:

  • max_length: המודל יוצר טקסט עד אורך הפלט. אם צוין, זה חייב להיות מספר שלם חיובי.
  • שפה ומשימה: ציין את שפת הפלט והמשימה כאן. המודל תומך במשימה של תמלול או תרגום.
  • max_new_tokens: המספר המרבי של אסימונים להפקה.
  • num_return_sequences: מספר רצפי הפלט שהוחזרו. אם צוין, זה חייב להיות מספר שלם חיובי.
  • num_beams: מספר הקורות המשמשות בחיפוש החמדני. אם צוין, עליו להיות מספר שלם גדול או שווה ל num_return_sequences.
  • no_repeat_ngram_size: המודל מבטיח שרצף מילים של no_repeat_ngram_size אינו חוזר על עצמו ברצף הפלט. אם צוין, זה חייב להיות מספר שלם חיובי הגדול מ-1.
  • טמפרטורה: זה שולט באקראיות בפלט. טמפרטורה גבוהה יותר מביאה לרצף פלט עם מילים בסבירות נמוכה וטמפרטורה נמוכה יותר מביאה לרצף פלט עם מילים בסבירות גבוהה. אם הטמפרטורה מתקרבת ל-0, זה גורם לפענוח חמדני. אם צוין, זה חייב להיות ציפה חיובית.
  • early_stopping: אם True, יצירת טקסט מסתיימת כאשר כל השערות האלומה מגיעות לסוף המשפט. אם צוין, זה חייב להיות בוליאני.
  • do_sample: אם True, דגום את המילה הבאה עבור הסבירות. אם צוין, זה חייב להיות בוליאני.
  • top_k: בכל שלב של יצירת טקסט, דגימה רק מתוך top_k סביר להניח מילים. אם צוין, זה חייב להיות מספר שלם חיובי.
  • top_p: בכל שלב של יצירת טקסט, דגום מקבוצת המילים הקטנה ביותר האפשרית עם הסתברות מצטברת top_p. אם צוין, זה חייב להיות צף בין 0 ל-1.

אתה יכול לציין כל תת-קבוצה של הפרמטרים הקודמים בעת הפעלת נקודת קצה. לאחר מכן, אנו מראים לך דוגמה כיצד להפעיל נקודת קצה עם הטיעונים הללו.

תרגום שפה

כדי להציג תרגום שפה באמצעות דגמי Whisper, השתמש בקובץ האודיו הבא בצרפתית ותרגם אותו לאנגלית. יש לדגום את הקובץ ב-16 קילו-הרץ (כפי שנדרש על-ידי דגמי ה-ASR), אז הקפידו לדגום מחדש קבצים במידת הצורך ולוודא שהדגימות שלכם לא חורגות מ-30 שניות.

  1. הורד sample_french1.wav מ- SageMaker JumpStart ממיקום S3 הציבורי כך שניתן להעביר אותו במטען לתרגום על ידי דגם Whisper.
    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. הגדר את פרמטר המשימה כ translate ושפה כמו French כדי לאלץ את מודל הלחישה לבצע תרגום דיבור.
    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. השתמש מְנַבֵּא לחזות את תרגום השפה. אם אתה מקבל שגיאת לקוח (שגיאה 413), בדוק את גודל המטען לנקודת הקצה. המטענים עבור בקשות נקודת הקצה של SageMaker מוגבלות לכ-5 MB.
    response = predictor.predict(payload)
    print(response["text"])

  4. פלט הטקסט שתורגם לאנגלית מקובץ האודיו הצרפתי כדלקמן:
    [' Welcome to JPBSystem. We have more than 150 employees and 90% of sales. We have developed about 15 patents.']

לנקות את

לאחר שבדקת את נקודת הקצה, מחק את נקודת הקצה של SageMaker ומחק את המודל כדי להימנע מחיובים.

סיכום

בפוסט זה, הראינו לכם כיצד לבדוק ולהשתמש במודלים של OpenAI Whisper כדי לבנות אפליקציות מעניינות באמצעות Amazon SageMaker. נסה את מודל הבסיס ב- SageMaker עוד היום וספר לנו את המשוב שלך!

הדרכה זו מיועדת למטרות מידע בלבד. אתה עדיין צריך לבצע הערכה עצמאית משלך ולנקוט באמצעים כדי להבטיח שאתה מציית לפרקטיקות ולסטנדרטים הספציפיים של בקרת איכות משלך, ולכללים המקומיים, החוקים, התקנות, הרישיונות ותנאי השימוש החלים עליך, על התוכן שלך ועל התוכן שלך. מודל של צד שלישי המוזכר בהנחיה זו. ל-AWS אין שליטה או סמכות על מודל הצד השלישי הנזכר בהנחיה זו ואינה מציגה כל מצג או התחייבות לכך שדגם הצד השלישי מאובטח, נטול וירוסים, תפעולי או תואם לסביבת הייצור והסטנדרטים שלך. AWS אינה מציגה כל מצג, אחריות או ערבות לכך שמידע כלשהו בהנחיה זו יביא לתוצאה או תוצאה מסוימת.


על המחברים

דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.המנט סינג הוא מדען יישומי עם ניסיון באמזון SageMaker JumpStart. הוא קיבל את התואר השני שלו מ-Courant Institute of Mathematical Sciences ו-B.Tech מ- IIT Delhi. יש לו ניסיון בעבודה על מגוון רחב של בעיות למידת מכונה בתחום של עיבוד שפה טבעית, ראייה ממוחשבת וניתוח סדרות זמן.

דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.רחנה צ'דהא הוא ארכיטקט פתרונות ראשי AI/ML בחשבונות אסטרטגיים ב-AWS. רחנה היא אופטימית המאמינה ששימוש אתי ואחראי בבינה מלאכותית יכול לשפר את החברה בעתיד ולהביא לשגשוג כלכלי וחברתי. בזמנה הפנוי רחנה אוהבת לבלות עם משפחתה, לטייל ולהאזין למוזיקה.

דגמי Whisper לזיהוי דיבור אוטומטי זמינים כעת באמזון SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ד"ר אשיש חתן הוא מדען יישומי בכיר עם אלגוריתמים מובנים של Amazon SageMaker ועוזר בפיתוח אלגוריתמים של למידת מכונה. הוא קיבל את הדוקטורט שלו מאוניברסיטת אילינוי אורבנה-שמפיין. הוא חוקר פעיל בלמידת מכונה והסקה סטטיסטית, ופרסם מאמרים רבים בכנסים NeurIPS, ICML, ICLR, JMLR, ACL ו-EMNLP.

בול זמן:

עוד מ למידת מכונות AWS