GPT
M

mbart-large-50-many-to-many-mmt

קוד פתוח

facebookרישיון לא דווח2022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • rust

מדובר במודל שמתרגם ישירות בין 50 שפות בלי לעבור דרך אנגלית באמצע. הוא שוקל 611 מיליון פרמטרים ומתאים למי שצריך תרגום מקומי שלא תלוי בענן של אף חברה.

  • 611Mפרמטרים
  • 1,024טוקנים בהקשר
  • 11.4 GBמשקל הקבצים
  • 69,781הורדות בחודש

מה זה

המודל הזה נבנה כגרסה מכווננת של mBART-large-50 והוא מיועד למשימה אחת בלבד, תרגום ישיר מכל אחת מחמישים השפות הנתמכות לכל אחת אחרת. רוב כלי התרגום הישנים מתרגמים קודם לאנגלית ורק אז לשפת היעד, מה שיוצר שיבושים כפולים. פה התרגום נעשה ישירות בין השפות, כולל עברית שמסומנת כ־he_IL, ערבית, רוסית, גרמנית ועוד רבות אחרות.

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

מתאים ל

  • תרגום עברית לערבית

    תרגום ישיר בין שפות מקומיות בלי לעבור דרך אנגלית ובלי לאבד את המשמעות בדרך.

  • לוקליזציה של ממשקים

    תרגום מחרוזות קצרות במערכות מרובות שפות בלי לשלוח מידע פנימי לשרתים חיצוניים.

  • עיבוד טקסטים אופליין

    הרצה מקומית על שרת מבודד לצורך תרגום נתונים רגישים שלא יכולים לצאת לרשת.

איפה זה נופל

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

שאלות
נפוצות

איך קובעים לאיזו שפה המודל יתרגם?

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

האם הוא מתאים לתרגום של קבצי PDF שלמים?

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

איך מריצים

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

בריצה עצמה משתמשים בספריית transformers הרגילה, ומחייבים את המודל להוציא את הטוקן של שפת היעד באמצעות הפרמטר forced_bos_token_id. אם אתם צריכים לתרגם מדי פעם כמה מילים, קריאה ל־API חיצוני תהיה זולה ופשוטה יותר מלהחזיק שרת דלוק בשבילו.

from transformers import pipeline

pipe = pipeline("translation", model="facebook/mbart-large-50-many-to-many-mmt")
print(pipe("שלום"))

הרישיון

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

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