GPT
D

distil-large-v2

קוד פתוח

distil-whispermit2023-10-24

  • transformers
  • pytorch
  • jax
  • tensorboard
  • onnx

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

  • 756Mפרמטרים
  • 24.3 GBמשקל הקבצים
  • 9,207הורדות בחודש
  • 516לייקים

מה זה

מדובר בדחיסה חכמה של whisper-large-v2 שבה לקחו את כל שכבות הקידוד של המקור והשאירו רק שתי שכבות בפענוח, כי שם צוואר הבקבוק בזמן הריצה. המודל מכיל 756 מיליון פרמטרים לעומת 1,550 מיליון במקור, מה שמוריד את זמן ההמתנה משמעותית.

בבדיקות דיוק המודל מציג שיעור שגיאות מילים של 10.1 בקטעים קצרים ו־11.6 בקטעים ארוכים, לעומת 9.1 ו־11.7 במקור. המשמעות בפועל היא שבהקלטות ארוכות הוא מגיע לדיוק זהה כמעט לחלוטין למודל המקורי, בין היתר בזכות סינון הזיות שבוצע בזמן האימון על 22,000 שעות של קובצי שמע.

היוצרים עצמם מציינים שמאז יצאה גרסת distil-large-v3, שמבוססת על הארכיטקטורה העדכנית יותר של OpenAI ומציגה ביצועים עדיפים של 9.7 שגיאות בקטעים קצרים ו־10.8 בארוכים. לכן, אם אתם מתחילים פרויקט חדש לגמרי, אין סיבה אמיתית להעדיף את v2 על פני v3.

מתאים ל

  • תמלול הקלטות ארוכות באנגלית

    אלגוריתם החלוקה למקטעים של 15 שניות רץ פי 9 מהר יותר ומספק דיוק זהה למודל המקורי.

  • מפענח עזר ל־Whisper מלא

    שימוש בטכניקת Speculative Decoding מכפיל את מהירות התמלול ומבטיח פלט זהה לחלוטין למקור.

  • שירות תמלול מקומי לשרתים

    התאמה מלאה ל־Whisper.cpp ו־Node.js מאפשרת הרצה על שרתים פנימיים ללא תלות ברשת.

איפה זה נופל

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

אותה משפחה

distil-large יצא ב־3 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם המודל תומך בתמלול קבצים בעברית?

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

למה לבחור בגרסה הזו ולא ב־distil-large-v3?

למעשה אין סיבה טכנית לעשות זאת, יוצרי המודל ממליצים בעצמם להשתמש ב־distil-large-v3 שמציג תוצאות מדויקות יותר באותה חומרה בדיוק.

איך מריצים אותו מהר בלי להקריב דיוק?

אפשר לחבר אותו בתור assistant model ל־Whisper large המקורי, וכך לחתוך את זמן העבודה בחצי עם תוצאה זהה לחלוטין.

איך מריצים

אתם יכולים להריץ את המודל דרך transformers החל מגרסה 4.35, להשתמש בהאצת Flash Attention 2 או BetterTransformer על כרטיסי מסך, או לקרוא לו מתוך Whisper.cpp ו־Candle ב־Rust. למרות שהוא קטן פי שניים מהמקור, קובצי המשקל שוקלים 24.3 גיגהבייט בגלל ייצוג float32, כך שעדיין תצטרכו כרטיס מסך עם זיכרון ייעודי סביר כדי לעבוד איתו בצורה מקומית, או להמיר אותו למשקלים מכווצים ב־ggml.

אם אתם צריכים תמלול שוטף בכמויות גדולות ואין לכם שרת ייעודי שמחזיק מעבד גרפי דלוק 24/7, עדיף להשתמש ב־API חיצוני. הרצה עצמית שווה את המאמץ רק כשיש דרישות פרטיות נוקשות לקובצי הקול, או כשיש לכם כבר חומרה זמינה.

from transformers import pipeline

pipe = pipeline("automatic-speech-recognition", model="distil-whisper/distil-large-v2")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש

הרישיון המלא בעמוד המודל ↗