Transformer architecture — ארכיטקטורת Transformer
ארכיטקטורת Transformer היא ארכיטקטורת רשת נוירונים שהוצגה בשנת 2017 על ידי חוקרי Google במאמר «Attention Is All You Need»[1]. היא חוללה מהפכה בתחום עיבוד שפה טבעית (NLP) והפכה לבסיס עבור רוב מודלי השפה הגדולים (LLM) המודרניים, כגון BERT, GPT ו-Gemini. החידוש המרכזי של Transformer הוא מנגנון תשומת הלב העצמית (self‑attention), המאפשר למודל לשקלל את חשיבות חלקים שונים של נתוני הקלט ולעבד רצפים באופן מקבילי, תוך ויתור על הרקורסיביות האופיינית ל-RNN ו-LSTM.
ההקשר ההיסטורי והרקע
לפני שנת 2017, הארכיטקטורות הדומיננטיות לעיבוד נתונים רציפים, כגון טקסט, היו רשתות נוירונים רקורנטיות (RNN) וגרסתן המשופרת — רשתות זיכרון לטווח ארוך-קצר (LSTM).
בעיות RNN/LSTM שהטרנספורמר מתמודד עמן
- מגבלות עיבוד סדרתי: RNN ו-LSTM מעבדות נתונים token אחר token, מה שמונע מקביליות בתוך הרצף ומאט את האימון על נפחי נתונים גדולים.
- בעיית היעלמות והתפוצצות הגרדיאנט: ברצפים ארוכים, גרדיאנטים המופצים אחורה דרך שלבים רבים עלולים לדעוך או לגדול, מה שמקשה על למידת תלויות לטווח ארוך.
- תלויות לטווח ארוך: מידע מתחילת הרצף עלול ללכת לאיבוד בסופו.
גישת Transformer היא ויתור מוחלט על הרקורסיביות לטובת מנגנון תשומת הלב. היא מבטיחה אורך מסלול תלות קבוע בין כל עמדה (), מה שמקל על מידול תלויות מרוחקות, אם כי המימוש הבסיסי של self-attention הוא בעל מורכבות חישובית ריבועית לפי אורך הרצף ()[1][2]. בעיית דעיכה/התפוצצות הגרדיאנט אינה "נעלמת", אלא מוקלת באמצעות חיבורים שיוריים, LayerNorm ומשטר האימון; במימושים מודרניים נעשה שימוש תכוף בגרסת Pre‑LayerNorm (Pre‑LN) כיציבה יותר באימון[3].
הארכיטקטורה ורכיביה המרכזיים
ארכיטקטורת Transformer המקורית מורכבת משני חלקים עיקריים: encoder ו-decoder. שני הרכיבים הם ערימות של שכבות זהות ( במאמר המקורי)[1].
- מבנה שכבת ה-encoder: (1) Multi-Head Attention עצמי (MHA), (2) FFN פוזיציונלי-פר-אלמנטי; כל תת-שכבה מוקפת בחיבור שיורי ו-LayerNorm[1].
- מבנה שכבת ה-decoder: (1) self-attention מסוכך (מסיכה קאוזלית אוסרת גישה לעמדות עתידיות), (2) cross‑attention לפלטי ה-encoder, (3) FFN — גם עם חיבורים שיוריים ו-LayerNorm[1].
מנגנון תשומת הלב ו-Self‑Attention
מנגנון תשומת הלב מחשב סכימה משוקללת של וקטורי ערך (Value), כאשר המשקלים נקבעים על פי מידת ההתאמה בין מפתחות (Key) לשאילתות (Query). ב-Transformer נעשה שימוש ב-Scaled Dot‑Product Attention:
כאשר הוא מימד המפתחות/שאילתות; החלוקה ב- מונעת רוויה של softmax[1]. כאשר , ו- נוצרים מאותו הרצף, המנגנון נקרא self‑attention.
Multi‑Head Attention (תשומת לב רב-ראשית)
במקום מערכת מטריצות אחת , נעשה שימוש ב- "ראשים" מקבילים, שכל אחד מהם מקרין את לתת-מרחבים בעלי מימד קטן יותר, מחשב תשומת לב באופן עצמאי, ולאחר מכן התוצאות מאוחדות ומוקרנות[1]:
גרסאות להאצת inference:
- MQA (Multi‑Query Attention): כל הראשים חולקים מפתח/ערך אחד → מפחית משמעותית את נפח ותעבורת ה-KV cache בזמן פענוח[4].
- GQA (Grouped‑Query Attention): פשרה בין MHA ל-MQA — מספר קבוצות של ראשים חולקות K/V; האיכות קרובה ל-MHA במהירות של MQA[5].
קידוד פוזיציונלי (Positional Encoding)
מכיוון ש-self-attention אינווריאנטי לסדר ה-token, מוסיפים ל-embedding הקלט קידודים פוזיציונליים.
- קידודי סינוס מקוריים (PE) מתוך[1]:
- גרסאות יחסיות/רוטוריות מודרניות:
FFN פר-אלמנטי, חיבורים שיוריים ונרמול
כל שכבה של encoder ו-decoder, בנוסף לתשומת הלב, מכילה FFN פוזיציונלי-פר-אלמנטי:
סביב כל תת-שכבה נעשה שימוש ב-חיבורים שיוריים (residual connections) ו-Layer Normalization: . במקור יושם Post‑LN[1]; ב-LLM מודרניים נעשה שימוש תכוף ב-Pre‑LN לשיפור יציבות האימון ותלות פחותה ב-warm‑up ממושך[3].
אבולוציה וגרסאות עכשוויות
שיטות מוקדמות המבוססות על רשתות נוירונים רקורנטיות (RNN) וגרסאותיהן המתקדמות, כגון LSTM, עיבדו טקסט באופן סדרתי, token אחד בכל פעם. אף שגישה זו תאמה באופן אינטואיטיבי את מבנה השפה, היא יצרה מגבלה משמעותית: הכבידה על חישובים מקבילים וסיבכה את זיהוי התלויות בין אלמנטים שנמצאו רחוקים זה מזה בטקסט. בשנת 2017 הציגה קבוצת חוקרים מ-Google מאמר בשם «Attention Is All You Need». בו תיארו ארכיטקטורה חדשה — ה-Transformer. מודל זה ויתר לראשונה לחלוטין על שימוש ברשתות נוירונים רקורנטיות, והחליף אותן במנגנון תשומת הלב (attention). החידוש העיקרי היה שמנגנון תשומת הלב אפשר ל-Transformer להעריך את חשיבות כל מילה ברצף הקלט לצורך יצירת המילה המתאימה בפלט, תוך יכולת לעבד את כל המילים בו-זמנית. יכולת העיבוד המקבילי הזו אפשרה אימון של מודלים גדולים הרבה יותר על נפחי נתונים עצומים. כתוצאה מכך הופיעו מודלי השפה הגדולים (LLM) המודרניים.
ארכיטקטורת Transformer שימשה בסיס למגוון רחב של מודלים, המחולקים בדרך כלל לשלושה מחלקות.
1. מודלים של encoder בלבד (Encoder‑only)
- דוגמה: BERT (וגם RoBERTa, ALBERT)[8].
- עיקרון: פרה-אימון לפי מטלת מידול שפה מסוכך (MLM) עם הקשר דו-כיווני.
- שימוש: מטלות הבנה (סיווג, NER וכד').
2. מודלים של decoder בלבד (Decoder‑only)
- דוגמה: סדרת GPT (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
- עיקרון: מידול שפה קאוזלי (CLM) — ניבוי ה-token הבא; מוחלת מסיכה קאוזלית על תשומת הלב[1].
- שימוש: יצירת טקסט, דיאלוגים, קוד.
3. מודלים encoder‑decoder
- דוגמה: ה-Transformer המקורי, T5, BART[1][12].
- עיקרון: ה-encoder בונה ייצוג של הקלט, ה-decoder מייצר פלט ומשתמש ב-cross‑attention לתכונות ה-encoder[1].
- שימוש: מטלות seq2seq (תרגום, סיכום ועוד).
4. ארכיטקטורות מולטי-מודליות וחלופיות
- Vision Transformer (ViT) — התאמה לתמונות (פיצול לטלאים)[13]; Swin Transformer — מודל היררכי עם shifted windows[14].
- חלופות לרצפים ארוכים:
טכניקות אימון ואופטימיזציה
היעילות של Transformer קשורה קשר הדוק לטכניקת האימון ולתשתית.
- אסטרטגיות פרה-אימון: CLM ו-MLM; וגם מטרות קונטרסטיביות ו-denoising (ELECTRA, T5)[12].
- טכניקות fine‑tuning:
- fine‑tuning מלא של כל הפרמטרים.
- fine‑tuning יעיל-פרמטרים (PEFT): LoRA מציגה מתאמים ממעלה נמוכה עם משקלי בסיס קפואים[18].
- יישור התנהגות: RLHF — Reinforcement Learning from Human Feedback[19].
- אופטימיזציות מערכת ל-inference: PagedAttention/vLLM משפרות את רוחב הפס של ה-serving באמצעות ניהול עמודים של KV cache; שימושי במיוחד ברצפים ארוכים ו-batch גדולים[20].
קישורים
- The Illustrated Transformer — הסבר ויזואלי של ארכיטקטורת Transformer
ספרות
- Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI Technical Report.
- Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. arXiv:1910.10683.
- Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
- Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030.
- Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (MQA). arXiv:1911.02150.
- Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). arXiv:2309.06180.
- Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
הערות
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- ↑ Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- ↑ 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
- ↑ Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- ↑ Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- ↑ Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- ↑ Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- ↑ Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
- ↑ Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- ↑ Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- ↑ 12.0 12.1 Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. arXiv:1910.10683.
- ↑ Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR. arXiv:2010.11929.
- ↑ Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
- ↑ Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- ↑ Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- ↑ Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- ↑ Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- ↑ Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
- ↑ Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.