טרנספורמר (למידת מכונה)

מתוך ויקיפדיה, האנציקלופדיה החופשית

טרנספורמר הוא מודל למידה עמוקה המשמש בעיקר בתחומי עיבוד שפה טבעית (NLP) וראייה ממוחשבת (CV).[1] ייחודו של המודל בשימוש במנגנון הקשב-העצמי (self-attention). מנגנון זה לוקח בחשבון את היחסים בין מילים ואת ההקשר בו המילים נמצאות. יתרונו של המודל מתבטא בין היתר בכך שההקשר האמור לוקח בחשבון רצף שלם של טקסט, ולא רק את קטע הטקסט הקצר שקדם למילה.

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

ארכיטקטורת הטרנספורמר הוצגה לראשונה ב-2017 על ידי קבוצת חוקרים מגוגל,[2] כאשר כשנה לאחר מכן שחררה גוגל, בקוד פתוח, את מודל השפה הגדול הראשון הבנוי על בסיס הארכיטקטורה - BERT.[3] לאחר מכן, פופולריות הארכיטקטורה החלה לצבור תאוצה, והיא נעשתה למודל המועדף לעיבוד שפה טבעית ומודלי שפה גדולים.[4] זאת, בעיקר בשל תכונת המקביליות האמורה המאפשרת אימון על מערכי נתונים גדולים יותר. יצירת המודל שימשה בסיס לפיתוח מודלי שפה מאומנים מראש, כמו GPT (סדרת מודלים שפותחו על ידי OpenAI, ונעשו לפופולריים במיוחד מאז הושק הצ׳טבוט ChatGPT), PaLM, Claude ועוד. מודלים אלו אומנו על מערכי נתונים גדולים של שפות, הכוללים טריליוני מילים. כמו כן, המודלים ניתנים לכוונון (fine tune) באופן שבו יותאמו לביצוע משימות נקודתיות.[5][6]

עיבוד רציף[עריכת קוד מקור | עריכה]

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

קשב עצמי[עריכת קוד מקור | עריכה]

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

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

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

כוונון עדין (finetune)[עריכת קוד מקור | עריכה]

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

טרנספורמרים בראיה ממוחשבת[עריכת קוד מקור | עריכה]

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

שימושים[עריכת קוד מקור | עריכה]

הטרנספורמר זכה להצלחה רבה בעיבוד שפה טבעית (NLP), ובאופן ספציפי במשימות תרגום מכונה וחיזוי סדרות זמן. מודלים מאומנים מראש כמו GPT-2, GPT-3, GPT-4, BERT, XLNet, RobERTa ו-ChatGPT מדגימים את יכולתם של הטרנספורמרים לבצע מגוון רחב של משימות הקשורות ל-NLP, והשימוש בהם ביישומים בעולם האמיתי זולג לתחומים רבים, ונכון לתחילת שנת 2023, נעשה פופולרי במיוחד. תחומים בהם נעשה שימוש במודלים כוללים, בין היתר:

יישומים[עריכת קוד מקור | עריכה]

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

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ He, Cheng (31 בדצמבר 2021). "Transformer in CV". Transformer in CV. Towards Data Science. {{cite web}}: (עזרה)
  2. ^ Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, Illia Polosukhin, Attention is All you Need, Advances in Neural Information Processing Systems 30, Curran Associates, Inc., 2017
  3. ^ What is BERT (Language Model) and How Does It Work?, Enterprise AI (באנגלית)
  4. ^ Wolf, Thomas; Debut, Lysandre; Sanh, Victor; Chaumond, Julien; Delangue, Clement; Moi, Anthony; Cistac, Pierric; Rault, Tim; Louf, Remi (2020). "Transformers: State-of-the-Art Natural Language Processing". Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. pp. 38–45. doi:10.18653/v1/2020.emnlp-demos.6.
  5. ^ "Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing". Google AI Blog. נבדק ב-2019-08-25.
  6. ^ 1 2 "Better Language Models and Their Implications". OpenAI. 2019-02-14. נבדק ב-2019-08-25.
  7. ^ A Beginner's Guide to Large Language Models, NVIDIA (באנגלית)
  8. ^ Wang, Alex; Singh, Amanpreet; Michael, Julian; Hill, Felix; Levy, Omer; Bowman, Samuel (2018). "GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding". Proceedings of the 2018 EMNLP Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP. Stroudsburg, PA, USA: Association for Computational Linguistics: 353–355. arXiv:1804.07461. doi:10.18653/v1/w18-5446.
  9. ^ Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, Neil Houlsby, An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale, 2020-10-02
  10. ^ Umberto Lupo, Damiano Sgarbossa, Anne-Florence Bitbol, Protein language models trained on multiple sequence alignments learn phylogenetic relationships, Nature Communications 13, 2022-10-22, עמ' 6298 doi: 10.1038/s41467-022-34032-y