Veni AI
التعلم العميق

هندسة المحول وآلية الانتباه: تحليل تقني

تحليل شامل للتفاصيل التقنية لهندسة المحول، وآلية الانتباه الذاتي، والانتباه متعدد الرؤوس، والبنى التي تشكل أساس النماذج اللغوية الحديثة.

Veni AI Technical Team14 Ocak 20255 dk okuma
هندسة المحول وآلية الانتباه: تحليل تقني

بنية Transformer وآلية Attention: تحليل تقني

قُدمت بنية الـTransformer من قبل Google في الورقة البحثية لعام 2017 بعنوان "Attention Is All You Need"، وهي تشكّل العمود الفقري للذكاء الاصطناعي الحديث. جميع نماذج اللغة الكبرى مثل GPT وClaude وGemini مبنية على هذه البنية.

قبل الـTransformers: قيود RNN وLSTM

قبل عصر الـTransformer، اعتمدت مهام معالجة اللغة الطبيعية على شبكات Recurrent Neural Networks (RNN) وLong Short-Term Memory (LSTM):

مشكلات RNN/LSTM:

  • الاعتماد على المعالجة المتسلسلة → استحالة التنفيذ المتوازي.
  • تلاشي/انفجار التدرج عند التعامل مع تسلسلات طويلة.
  • صعوبة تعلم العلاقات البعيدة المدى.
  • أوقات تدريب طويلة جدًا.

آلية الـSelf-Attention

الـSelf-attention هي آلية تحسب العلاقة بين كل عنصر في التسلسل وجميع العناصر الأخرى.

الصياغة الرياضية

Attention(Q, K, V) = softmax(QK^T / √d_k) × V

المعلمات:

  • Q (Query): متجه الاستعلام.
  • K (Key): متجه المفتاح المراد مطابقته.
  • V (Value): متجه المعلومات الفعلية.
  • d_k: بُعد متجه الـKey.

الحساب خطوة بخطوة

  1. الإسقاط: الإدخال → مصفوفات Q وK وV
1Q = X × W_Q 2K = X × W_K 3V = X × W_V
  1. درجات الانتباه: الضرب النقطي بين Q وK
scores = Q × K^T
  1. التحجيم: القسمة على √d_k لاستقرار التدرجات
scaled_scores = scores / √d_k
  1. Softmax: التحويل إلى توزيع احتمالي
attention_weights = softmax(scaled_scores)
  1. المجموع الموزون: الضرب مع V
output = attention_weights × V

Multi-Head Attention

بدلًا من رأس انتباه واحد، يتم استخدام عدة رؤوس انتباه متوازية:

1MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O 2 3where head_i = Attention(QW_Q^i, KW_K^i, VW_V^i)

مزايا Multi-Head Attention

  • التعلم في فضاءات تمثيلية مختلفة.
  • التقاط أنواع متعددة من العلاقات السياقية.
  • استخراج ميزات أكثر ثراءً.

تكوينات نموذجية:

  • GPT-3: يحتوي على 96 رأس Attention، d_model = 12288.
  • GPT-4: يقدر بأكثر من 120 رأسًا.

Positional Encoding

نظرًا لأن الـTransformers تعالج البيانات بشكل متوازٍ، تتم إضافة معلومات الموقع للحفاظ على السياق التسلسلي:

Sinusoidal Positional Encoding

PE(pos, 2i) = sin(pos / 10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

Rotary Positional Embedding (RoPE)

طريقة أكثر تقدمًا تُستخدم في النماذج الحديثة:

f(x, pos) = x × e^(i × pos × θ)

مزايا RoPE:

  • ترميز طبيعي لمعلومات الموقع النسبي.
  • قدرة أفضل على التعميم للتسلسلات الأطول.
  • مستخدمة في نماذج GPT-NeoX وLLaMA وMistral.

Feed-Forward Network

طبقة MLP تأتي بعد كل طبقة Attention:

FFN(x) = GELU(xW_1 + b_1)W_2 + b_2

الأبعاد النموذجية:

  • d_model = 4096.
  • d_ff = 4 × d_model = 16384.

دوال التنشيط

  • ReLU: كلاسيكية وبسيطة.
  • GELU: مفضلة في نماذج نوع GPT.
  • SwiGLU: مستخدمة في نماذج LLaMA وPaLM.

Layer Normalization

مهم جدًا لاستقرار التدريب:

Pre-LN مقابل Post-LN

Post-LN (الأصلي):

x = x + Attention(LayerNorm(x))

Pre-LN (الحديث):

x = LayerNorm(x + Attention(x))

يوفّر Pre-LN تدريبًا أكثر استقرارًا وأصبح المعيار الصناعي الحالي.

Encoder vs Decoder Architectures

Encoder-Only (نمط BERT)

  • انتباه ثنائي الاتجاه.
  • مستخدم في التصنيف وNER والتشابه الدلالي.
  • Masked Language Modeling.

Decoder-Only (نمط GPT)

  • انتباه سببي/توليدي.
  • مستخدم في توليد النصوص والدردشة.
  • التنبؤ بالكلمة التالية.

Encoder-Decoder (مثل T5 وBART)

  • مهام تسلسل-إلى-تسلسل.
  • الترجمة والتلخيص.

Causal Masking

تمويه الرموز المستقبلية في نماذج الـDecoder:

mask = triu(ones(seq_len, seq_len), diagonal=1) masked_scores = scores + mask × (-inf)

هذا يضمن أن النموذج ينظر فقط إلى الرموز السابقة أثناء عملية التوليد.

تحسين KV-Cache

لمنع الحسابات المتكررة أثناء الاستدلال:

1Step 1: Calculate K_1, V_1 → save to cache 2Step 2: Calculate K_2, V_2 → K = [K_1, K_2], V = [V_1, V__2] 3Step n: Calculate only for the new token, retrieve old values from cache

توفير الذاكرة: من O(n²) إلى O(n) في خطوات المعالجة.

Flash Attention

تنفيذ Attention عالي الكفاءة من حيث الذاكرة:

مشكلات الـ Standard Attention:

  • استخدام ذاكرة O(n²).
  • اختناق في HBM (high bandwidth memory).

حل Flash Attention:

  • Tiling: تقسيم الـ Attention إلى كتل.
  • Online Softmax: حساب تزايدي.
  • I/O Aware: تحسين استخدام تسلسل الذاكرة داخل الـ GPU.

النتيجة: تسريع 2-4x، وتوفير 20%-5 من الذاكرة.

متغيرات Sparse Attention

تقليل تعقيد الـ Attention للسياقات الطويلة:

Local Attention

التركيز على التوكنات القريبة فقط.

Dilated Attention

تطبيق Attention على فواصل محددة.

Longformer Pattern

دمج Attention محلي + عالمي.

نماذج Transformer الحديثة

النموذجالميزةطول السياق
GPT-4MoE، سياق طويل128K
Claude 3Constitutional AI200K
Gemini 1.5Sparse MoE1M
MistralSliding window32K

الخلاصة

تُعد بنية Transformer حجر الأساس للذكاء الاصطناعي الحديث. آلية الـ self-attention، وقدرتها على المعالجة المتوازية، وقابليتها لتعلم الاعتماديات البعيدة جعلتها بنية ثورية.

في Veni AI، نستخدم نماذج Transformer بفعالية في حلولنا الموجهة للمؤسسات. تواصل معنا للحصول على استشارات تقنية.

İlgili Makaleler