התאמה אישית של מודל NMT

‫Cloud Translation – Advanced API מאפשר לכם להתאים אישית את מודל התרגום מכונה עצבי (NMT) של Google בלי לכתוב קוד. המשמעות היא שאתם יכולים להתאים מודל מותאם אישית לתוכן הספציפי לדומיין שלכם, ולקבל תרגומים מדויקים יותר מאלה שמתקבלים ממודל ברירת המחדל של Google NMT.

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

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

הכנת נתונים

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

כשמרכיבים את מערך הנתונים של זוגות פלחים תואמים, מתחילים בתרחיש לדוגמה:

  • מה התוצאה שאתם מנסים להשיג?

  • אילו סוגים של פלחים חשוב לתרגם בצורה נכונה כדי להשיג את התוצאה הזו? האם מודל ה-NMT יכול להשיג את זה ללא שינויים?

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

  • אילו סוגי דוגמאות משקפים בצורה הטובה ביותר את הסוג והטווח של זוגות הפלחים שהמערכת שלך תצטרך לתרגם?

התאמת נתונים לדומיין הבעייתי

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

מציגים את המגוון של המרחב הלשוני

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

מקור הנתונים

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

השארת בני אדם בתהליך

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

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

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

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

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

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

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

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

  • הנחיות נוספות לשימוש הוגן בנתונים

ניקוי נתונים מבולגנים

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

  • הסרת פלחים כפולים של מקור, במיוחד אם יש להם תרגומים שונים ליעד. ‫Cloud Translation – Advanced API משתמש רק בדוגמה הראשונה שמופיעה ומוחק את כל הזוגות האחרים בזמן הייבוא. הסרת כפילויות מבטיחה ש-Cloud Translation - Advanced API ישתמש בתרגום המועדף שלכם.
  • התאמה של פלחי מקור לפלחי יעד נכונים.
  • התאמה של פלחים לשפה שצוינה. לדוגמה, לכלול רק פלחים בסינית במערך נתונים בסינית.
  • אם פלחים לטירגוט כוללים שילוב של שפות, צריך לוודא שהמילים שלא תורגמו לא תורגמו בכוונה, למשל שמות של מוצרים או ארגונים. טירגוט פלחים שכוללים בטעות מילים לא מתורגמות מוסיף רעשי רקע לנתוני האימון, מה שעלול להוביל למודל באיכות נמוכה יותר.
  • חשוב לתקן פלחים עם שגיאות הקלדה או שגיאות דקדוק, כדי שהמודל לא ילמד את השגיאות האלה.
  • מסירים תוכן שלא ניתן לתרגם, כמו תגי placeholder ותגי HTML. תוכן שלא ניתן לתרגם עלול לגרום לשגיאות בפיסוק.
  • אל תכללו זוגות פלחים שמחליפים ישויות כלליות בשמות עצם ספציפיים. לדוגמה, לא כדאי להשתמש בדוגמה שמתרגמת מונח כללי כמו נשיא לשם של נשיא ספציפי כמו JFK. ההנחיה הזו יכולה ללמד את המודל לשנות את כל המופעים של president ל-JFK. במקום זאת, צריך להסיר את צמדי הפלחים האלה או לשנות את שמות העצם הספציפיים לשמות כלליים.
  • מסירים פלחים כפולים מקבוצות האימון והבדיקה (במאמר חלוקת מערך הנתונים מוסבר איך לפצל את מערך הנתונים לשלוש קבוצות משנה).
  • פיצול של כמה פלחים לכמה זוגות שונים של פלחים. אימון על מערך נתונים שבו לפריטים רבים יש יותר מ-50 טוקנים (מילים) מוביל למודלים באיכות נמוכה יותר. אם אפשר, פצלו את הפריטים למשפטים נפרדים.
  • להשתמש באותיות רישיות ועקביות. השימוש באותיות רישיות משפיע על האופן שבו המודל לומד, למשל, להבחין בין כותרת לבין גוף הטקסט.
  • כשמייבאים נתונים מקובץ TSV, צריך להסיר את תגי ה-TMX. במקרים מסוימים, יכול להיות שתייצאו את זיכרון התרגום הקיים לקובץ TSV, שעשוי לכלול תגי TMX. עם זאת, Cloud Translation - Advanced API מנקה תגי יחידות תרגום רק כשמייבאים מקובץ TMX (לא מקובצי TSV).

עיבוד הנתונים

‫Cloud Translation – Advanced API מפסיק לנתח את קובץ הקלט של הנתונים במקרים הבאים:

  • הפורמט לא תקין.
  • יש זוג פלחים ארוך מדי (10MB).
  • הקובץ מקודד בקידוד שאינו UTF-8.

‫Cloud Translation – Advanced API מתעלם משגיאות בבעיות שהוא לא יכול לזהות, כמו:

  • רכיב <tu> בקובץ TMX שלא מצוינת בו שפת המקור או שפת היעד.
  • אחד מצמדי פלחי הקלט ריק.

כדי לפצל נתונים באופן אוטומטי, Cloud Translation - Advanced API מבצע עיבוד נוסף (ראו חלוקה של מערך נתונים):

  • אחרי העלאת מערך הנתונים, המערכת מסירה זוגות של פלחים עם פלחי מקור זהים.

  • הוא מפצל את הנתונים באופן אקראי לשלושה מערכים ביחס של 8:1:1 (אימון:אימות:בדיקה) לפני האימון.

חלוקה של מערך נתונים

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

  • קבוצת נתונים לאימון
    רוב הנתונים צריכים להיות בקבוצת הנתונים לאימון. אלה הנתונים שהמודל "רואה" במהלך האימון: הם משמשים ללימוד הפרמטרים של המודל ולחישוב המשקלים של הקשרים בין הצמתים של הרשת הנוירונית.

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

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

אם לא מציינים באופן ידני איך מערך הנתונים מחולק בין הפונקציות האלה, כמו שמתואר במאמר הכנת נתוני האימון,ואם מערך הנתונים מכיל פחות מ-100, 000 זוגות של פלחים, אז Cloud Translation – Advanced API משתמש באופן אוטומטי ב-80% ממסמכי התוכן לאימון, ב-10% לאימות וב-10% לבדיקה. אם הנתונים גדולים יותר, צריך לציין במפורש איך הם מחולקים. פיצול ידני נותן לכם יותר שליטה בתהליך. אתם יכולים לקבוע את אחוזי הפיצול, וגם לציין קבוצות מסוימות שבהן ייכללו זוגות מסוימים של פלחים.

ייבוא נתונים

אחרי שתחליטו אם פיצול ידני או אוטומטי של הנתונים מתאים לכם, יש שתי דרכים להוסיף נתונים:

  • אפשר לייבא נתונים כקובץ TSV (ערכים מופרדים בטאבים) שמכיל פלחים של מקור ויעד, כאשר כל זוג פלחים מופיע בשורה נפרדת.

  • אפשר לייבא נתונים כקובץ TMX, שהוא פורמט סטנדרטי לאספקת זוגות של פלחים לכלים של מודלים לתרגום אוטומטי (מידע נוסף על פורמט TMX זמין במאמר הכנת נתוני אימון). אם קובץ TMX מכיל תגי XML לא תקינים, Cloud Translation - Advanced API מתעלם מהם. אם קובץ ה-TMX מכיל שגיאות ב-XML או ב-TMX, למשל אם חסר תג סיום או אלמנט <tmx>,‏ Cloud Translation – Advanced API מפסיק את העיבוד ומחזיר שגיאה אם הוא מדלג על יותר מ-1,024 אלמנטים לא תקינים של '.

הערכה מקדימה של המודל המותאם אישית

אחרי שהמודל מאומן, תקבלו סיכום של ביצועי המודל. לוחצים על הכרטיסייה Train (אימון) כדי לראות ניתוח מפורט. ציון ה-BLEU של המודל המותאם אישית ושל מודל ה-NMT הרגיל של Google מוצג בכרטיסייה Train (אימון), לצד שיפור הביצועים בציון ה-BLEU כתוצאה מהשימוש במודל המותאם אישית.

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

יש מדדי הערכה אחרים שלרוב מהימנים יותר מציון ה-BLEU. מידע על אפשרויות ההערכה האלה זמין במאמר הערכת מודלים של תרגום.

ניפוי באגים

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

בדיקה

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

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

המאמרים הבאים