Transformer architecture — بنية ترانسفورمر

From Systems analysis Wiki
Jump to navigation Jump to search

بنية ترانسفورمر (Transformer Architecture) — هي بنية شبكة عصبية قدمها باحثون من Google في عام 2017 في ورقة بحثية بعنوان «Attention Is All You Need»[1]. أحدثت هذه البنية ثورة في مجال معالجة اللغة الطبيعية (NLP) وأصبحت أساسًا لمعظم نماذج اللغة الكبيرة (LLM) الحديثة، مثل BERT وGPT وGemini. الابتكار الرئيسي في بنية ترانسفورمر هو آلية الانتباه الذاتي (self‑attention)، التي تسمح للنموذج بتقييم أهمية الأجزاء المختلفة من بيانات الإدخال ومعالجة التسلسلات بشكل متوازٍ، متخليةً عن التكرارية التي كانت سمة مميزة لشبكات RNN وLSTM.

السياق التاريخي والمتطلبات الأساسية

قبل عام 2017، كانت البنى المهيمنة لمعالجة البيانات المتسلسلة، مثل النصوص، هي الشبكات العصبية المتكررة (RNN) ونسختها المحسنة، شبكات الذاكرة طويلة قصيرة المدى (LSTM).

مشكلات RNN/LSTM التي عالجتها بنية ترانسفورمر

  • قيود المعالجة التسلسلية: تعالج شبكات RNN وLSTM البيانات رمزًا تلو الآخر، مما يمنع التوازي داخل التسلسل ويبطئ التدريب على كميات كبيرة من البيانات.
  • مشكلة تلاشي وانفجار التدرجات: في التسلسلات الطويلة، يمكن للتدرجات التي تنتشر للخلف عبر خطوات متعددة أن تتلاشى أو تتضخم، مما يعقد تدريب الاعتماديات طويلة المدى.
  • الاعتماديات طويلة المدى: يمكن أن تُفقد المعلومات من بداية التسلسل بحلول نهايته.

نهج ترانسفورمر هو التخلي الكامل عن التكرارية لصالح آلية الانتباه. يوفر هذا النهج طول مسار ثابت للاعتماديات بين أي موضعين (O(1))، مما يسهل نمذجة الاعتماديات بعيدة المدى، على الرغم من أن التنفيذ الأساسي للانتباه الذاتي له تعقيد حسابي تربيعي بالنسبة لطول التسلسل (O(n2))[1][2]. مشكلة تلاشي/انفجار التدرجات لا "تختفي"، بل يتم تخفيفها بفضل الاتصالات المتبقية (residual connections)، وتسوية الطبقة (LayerNorm)، ونمط التدريب؛ وفي التطبيقات الحديثة، غالبًا ما يُستخدم متغير Pre‑LayerNorm (Pre‑LN) لكونه أكثر استقرارًا أثناء التدريب[3].

البنية والمكونات الرئيسية

تتكون بنية ترانسفورمر الأصلية من جزأين رئيسيين: المُشفِّر ومُفكِّك التشفير. كلا المكونين عبارة عن مكدس من الطبقات المتطابقة (N=6 في الورقة الأصلية)[1].

  • بنية طبقة المُشفِّر: (1) انتباه ذاتي متعدد الرؤوس (MHA)، (2) شبكة تلقيم أمامي موضعية (FFN)؛ كل طبقة فرعية محاطة باتصال متبقٍ وتسوية طبقة (LayerNorm)[1].
  • بنية طبقة مُفكِّك التشفير: (1) انتباه ذاتي مقنَّع (قناع سببي يمنع الوصول إلى المواضع المستقبلية)، (2) انتباه متقاطع (cross‑attention) لمخرجات المُشفِّر، (3) شبكة FFN — أيضًا مع اتصالات متبقية وتسوية طبقة[1].

آلية الانتباه والانتباه الذاتي (Self‑Attention)

تحسب آلية الانتباه مجموعًا موزونًا لمتجهات القيمة (Value)، حيث يتم تحديد الأوزان بدرجة توافق المفاتيح (Key) مع الاستعلامات (Query). يستخدم ترانسفورمر آلية انتباه الضرب النقطي المُقاس (Scaled Dot‑Product Attention):

Attention(Q,K,V)=softmax(QKdk)V

حيث dk هو بُعد المفاتيح/الاستعلامات؛ القسمة على dk تمنع تشبع دالة softmax[1]. عندما يتم توليد Q وK وV من نفس التسلسل، تسمى الآلية الانتباه الذاتي (self‑attention).

Multi‑Head Attention (الانتباه متعدد الرؤوس)

بدلاً من استخدام مجموعة واحدة من المصفوفات (WQ,WK,WV)، يتم استخدام h من "الرؤوس" المتوازية، حيث يقوم كل رأس بإسقاط Q,K,V إلى فضاءات فرعية ذات أبعاد أصغر، ويحسب الانتباه بشكل مستقل، ثم يتم ربط النتائج وإسقاطها[1]:

MultiHead(Q,K,V)=Concat(head1,,headh)WO,где headi=Attention(QWiQ,KWiK,VWiV).

خيارات لتسريع الاستدلال:

  • MQA (Multi‑Query Attention): تشترك جميع الرؤوس في مفتاح/قيمة واحدة ← يقلل بشكل كبير من حجم وحركة مرور ذاكرة التخزين المؤقت للمفتاح والقيمة (KV-cache) أثناء فك التشفير[4].
  • GQA (Grouped‑Query Attention): حل وسط بين MHA وMQA — حيث تتشارك عدة مجموعات من الرؤوس في K/V؛ الجودة قريبة من MHA مع سرعة MQA[5].

Positional Encoding (الترميز الموضعي)

نظرًا لأن الانتباه الذاتي لا يتأثر بترتيب الرموز، يتم إضافة ترميزات موضعية إلى تضمينات الإدخال.

  • الترميزات الجيبية الأصلية (PE) من[1]:
PE(pos,2i)=sin(pos/100002i/dmodel),PE(pos,2i+1)=cos(pos/100002i/dmodel).
  • الخيارات النسبية/الدورانية الحديثة:
    • RoPE (Rotary Position Embeddings) تقوم بترميز التحولات النسبية عبر تدوير متجهات Q/K؛ وتُستخدم في عدد من نماذج LLM الحديثة[6].
    • ALiBi تضيف عقوبة خطية إلى درجات الانتباه، مما يحسن من قدرة النموذج على الاستقراء إلى أطوال أكبر من تلك التي تدرب عليها[7].

شبكات FFN الموضعية، الاتصالات المتبقية، والتسوية

تحتوي كل طبقة في المُشفِّر ومُفكِّك التشفير، بالإضافة إلى الانتباه، على شبكة FFN موضعية:

FFN(x)=max(0,xW1+b1)W2+b2.

حول كل طبقة فرعية، تُستخدم الاتصالات المتبقية (residual connections) وتسوية الطبقة (Layer Normalization): LayerNorm(x+Sublayer(x)). في النسخة الأصلية، استُخدم متغير Post‑LN[1]؛ أما في نماذج LLM الحديثة، فغالبًا ما يُستخدم Pre‑LN لتحقيق استقرار أفضل في التدريب وتقليل الاعتماد على فترة إحماء (warm-up) طويلة[3].

التطور والبدائل الحديثة

كانت الطرق المبكرة، التي اعتمدت على الشبكات العصبية المتكررة (RNN) ومتغيراتها المتقدمة مثل LSTM، تعالج النصوص بشكل تسلسلي، رمزًا واحدًا في كل مرة. ورغم أن هذا النهج كان يتوافق بشكل حدسي مع بنية اللغة، إلا أنه خلق قيودًا كبيرة: فقد صعّب الحسابات المتوازية وعقّد اكتشاف الاعتماديات بين العناصر المتباعدة في النص. في عام 2017، قدمت مجموعة من الباحثين من Google ورقة بحثية بعنوان «Attention Is All You Need». وصفوا فيها بنية جديدة — «ترانسفورمر» (Transformer). كان هذا النموذج هو الأول الذي تخلى تمامًا عن استخدام الشبكات العصبية المتكررة، واستبدلها بآلية «الانتباه» (attention). كان الابتكار الرئيسي هو أن آلية الانتباه سمحت لنموذج ترانسفورمر بتقييم أهمية كل كلمة في تسلسل الإدخال لتوليد الكلمة المقابلة في المخرج. وفي الوقت نفسه، كان بإمكان النموذج معالجة جميع الكلمات في آن واحد. هذه القدرة على المعالجة المتوازية جعلت من الممكن تدريب نماذج أكبر بكثير على كميات هائلة من البيانات. ونتيجة لذلك، ظهرت نماذج اللغة الكبيرة الحديثة (LLM).

شكلت بنية ترانسفورمر أساسًا للعديد من النماذج التي يمكن تقسيمها بشكل عام إلى ثلاث فئات.

1. Encoder-only models (نماذج المُشفِّر فقط)

  • مثال: BERT (وRoBERTa، ALBERT)[8].
  • المبدأ: التدريب المسبق على مهمة نمذجة اللغة المقنَّعة (MLM) بسياق ثنائي الاتجاه.
  • الاستخدام: مهام الفهم (التصنيف، التعرف على الكيانات المسماة NER، إلخ).

2. Decoder-only models (نماذج مُفكِّك التشفير فقط)

  • مثال: سلسلة GPT (GPT‑1/2/3)[9][10]، LLaMA[11]، Claude.
  • المبدأ: نمذجة اللغة السببية (CLM) — التنبؤ بالرمز التالي؛ يُطبق قناع سببي على آلية الانتباه[1].
  • الاستخدام: توليد النصوص، الحوارات، الأكواد البرمجية.

3. Encoder-decoder models (نماذج المُشفِّر ومُفكِّك التشفير)

  • مثال: بنية ترانسفورمر الأصلية، T5، BART[1][12].
  • المبدأ: يقوم المُشفِّر ببناء تمثيل للمدخلات، بينما يقوم مُفكِّك التشفير بتوليد المخرجات ويستخدم الانتباه المتقاطع (cross‑attention) لميزات المُشفِّر[1].
  • الاستخدام: مهام seq2seq (الترجمة، التلخيص، وغيرها).

4. البنى متعددة الوسائط والبديلة

  • Vision Transformer (ViT) — تكييف البنية للصور (تقسيم الصورة إلى رقع)[13]؛ Swin Transformer — نموذج هرمي يستخدم النوافذ المُزاحة (shifted windows)[14].
  • بدائل للتسلسلات الطويلة:
    • Mamba — نماذج فضاء الحالة الانتقائية (SSM) ذات تعقيد خطي[15].
    • RWKV — بنية شبيهة بـRNN مع تدريب متوازٍ وتعقيد خطي للاستدلال[16].
    • الهجينة (مثل Jamba): تتناوب بين كتل ترانسفورمر وMamba؛ وأحيانًا تُستكمل بـMoE[17].

تقنيات التدريب والتحسين

ترتبط كفاءة بنية ترانسفورمر ارتباطًا وثيقًا بتقنيات التدريب والبنية التحتية.

  • استراتيجيات التدريب المسبق: CLM وMLM؛ بالإضافة إلى أهداف التباين وإزالة التشويش (ELECTRA, T5)[12].
  • تقنيات الضبط الدقيق (Fine‑tuning):
    • الضبط الدقيق الكامل لجميع البارامترات.
    • الضبط الدقيق بكفاءة البارامترات (PEFT): تُدخل تقنية LoRA محولات منخفضة الرتبة مع تجميد الأوزان الأساسية[18].
  • مواءمة السلوك: RLHF — التعلم المعزز من ردود الفعل البشرية[19].
  • تحسينات النظام للاستدلال: تزيد تقنيات مثل PagedAttention/vLLM من إنتاجية خدمة النماذج من خلال إدارة ذاكرة التخزين المؤقت للمفتاح والقيمة (KV-cache) بشكل مُجزأ؛ وهي مفيدة بشكل خاص مع التسلسلات الطويلة والدفعات الكبيرة[20].

روابط خارجية

المراجع

  • 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. 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.
  2. Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
  3. 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
  4. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
  5. 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.
  6. Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
  7. Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
  8. Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  9. Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
  10. Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
  11. Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
  12. 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.
  13. 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.
  14. Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
  15. Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
  16. Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
  17. Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
  18. Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
  19. Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
  20. Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.