المقدمة
يقوم الذكاء الاصطناعي الحديث — وتحديدًا النماذج اللغوية الكبيرة ومولّدات الصور وأنظمة التصنيف — على أساس رياضي مدمج بشكل مدهش. فكل شيء، من توليد ChatGPT لجملة إلى رسم Stable Diffusion لصورة، يُختزل في أدنى مستوياته إلى العمليات نفسها: ضرب المصفوفات، والدوال غير الخطية، والانحدار التدرجي. أما التعقيد فيكمن في كيفية تركيب هذه العناصر الأولية وتوسيعها.
يبني هذا المقال الرياضيات انطلاقًا من المبادئ الأولى. نبدأ بالجبر الخطي ونظرية الاحتمالات، ثم ننتقل إلى التحسين القائم على التفاضل والتكامل، ونبني الصياغة الرسمية للشبكات العصبية، ونشتق الانتشار العكسي، لنصل في النهاية إلى آلية الانتباه وبنية المحوّل التي يقوم عليها كل نموذج لغوي رئيسي في 2026. لا اختصارات هنا؛ فكل معادلة مشتقة أو مشروحة انطلاقًا من مكوّناتها.
المتطلبات المسبقة: إلمام بجبر المرحلة الثانوية، وبالترميز الأساسي للتفاضل والتكامل (المشتقات وقاعدة السلسلة). أما كل ما عدا ذلك فنبنيه هنا.
الجبر الخطي
لغة الذكاء الاصطناعي
1.1 المتجهات وفضاءات المتجهات
المتجه قائمة مرتبة من الأعداد. في الذكاء الاصطناعي، تمثّل المتجهات كل شيء: كلمة، أو جزءًا من صورة، أو تفضيلًا لمستخدم، أو حالة مخفية. يُكتب المتجه x في الفضاء الحقيقي ذي n بُعدًا على النحو التالي:
x = [x₁, x₂,..., xₙ]ᵀ ∈ ℝⁿ
المجموعة ℝⁿ فضاء متجهات: فهي مغلقة تحت الجمع والضرب في عدد قياسي، وتحتوي على متجه صفري، وتحقق مسلّمات فضاء المتجهات الثماني. هذه البنية الجبرية هي ما يجعل الجبر الخطي قابلًا للتطبيق في تعلم الآلة — فطبقات الشبكات العصبية تطبيقات خطية بين فضاءات متجهات.
1.1.1 الضرب النقطي وتشابه جيب التمام
الضرب النقطي لمتجهين x, y ∈ ℝⁿ هو:
x · y = xᵀy = Σᵢ xᵢyᵢ = ‖x‖‖y‖cos(θ)
حيث θ هي الزاوية بين المتجهين. يقيس الضرب النقطي مدى التوافق: فهو أقصى ما يكون عندما يشير x وy في الاتجاه نفسه (cos θ = 1)، ويساوي صفرًا عندما يكونان متعامدين (cos θ = 0)، وأدنى ما يكون عندما يكونان متعاكسين (cos θ = -1). هذا التفسير الهندسي هو أساس آليات الانتباه — فالضرب النقطي بين استعلام ومفتاح يقيس مدى «انتباه» كل منهما للآخر.
يقوم تشابه جيب التمام بتسوية الضرب النقطي بقسمته على حاصل ضرب طولَي المتجهين:
cos_sim(x, y) = (x · y) / (‖x‖ · ‖y‖) ∈ [-1, 1]
يُستخدم تشابه جيب التمام على نطاق واسع في معالجة اللغات الطبيعية لقياس التشابه الدلالي بين تضمينات الكلمات: إذ تتجمع المتجهات التي تمثل كلمات متقاربة المعنى معًا في فضاء التضمين ويكون تشابه جيب التمام بينها قريبًا من 1.
1.2 المصفوفات والتحويلات الخطية
تمثّل المصفوفة W ∈ ℝᵐˣⁿ تحويلًا خطيًا من ℝⁿ إلى ℝᵐ. ضرب المصفوفة في متجه:
y = Wx, where yᵢ = Σⱼ Wᵢⱼ xⱼ
هذه هي العملية الجوهرية في طبقة الشبكة العصبية. كل صف Wi· متجه أوزان؛ والمخرج yi هو الضرب النقطي للصف رقم i في المدخل x. وتُرمّز المصفوفة W ما تعلمته الطبقة: أي التركيبات الخطية لخصائص المدخلات ينبغي حسابها.
1.2.1 ضرب المصفوفات
بالنسبة إلى المصفوفتين A ∈ ℝᵐˣⁿ وB ∈ ℝⁿˣᵖ، فإن حاصل ضربهما C = AB ∈ ℝᵐˣᵖ تكون عناصره:
Cᵢⱼ = Σₖ Aᵢₖ Bₖⱼ = Aᵢ· · B·ⱼ
ضرب المصفوفات ليس تبديليًا (AB ≠ BA عمومًا) لكنه تجميعي: A(BC) = (AB)C. والتكلفة الحسابية لضرب مصفوفة m×n في مصفوفة n×p هي O(mnp) — وهي التكلفة المهيمنة في الشبكات العصبية الكبيرة. ففي محوّل ببُعد مخفي d = 4096 يعالج تسلسلًا من 2048 رمزًا (token)، تبلغ تكلفة عملية ضرب مصفوفات واحدة O(2048 × 4096 × 4096) ≈ 34 مليار عملية.
1.2.2 المنقول والمصفوفات المتماثلة
يبدّل منقول المصفوفة Wᵀ بين صفوف W وأعمدتها: (Wᵀ)ij = Wji. أهم الخصائص: (AB)ᵀ = BᵀAᵀ، و(Wᵀ)ᵀ = W. وتحقق المصفوفة المتماثلة العلاقة W = Wᵀ.
تُحسب مصفوفة أوزان الانتباه QKᵀ/√dk في المحوّلات بوصفها حاصل ضرب مصفوفات يتضمن منقولًا — إذ تُضرب مصفوفة الاستعلام Q ∈ ℝˢˣᵈ في منقول مصفوفة المفاتيح Kᵀ ∈ ℝᵈˣˢ، فتنتج مصفوفة أوزان انتباه s×s حيث s طول التسلسل.
1.3 القيم الذاتية والمتجهات الذاتية وSVD
يكون المتجه v متجهًا ذاتيًا للمصفوفة A إذا كان:
Av = λv
حيث λ هي القيمة الذاتية المقابلة. المتجهات الذاتية اتجاهات تغيّر المصفوفة A مقياسها دون تدويرها. ومجموعة القيم الذاتية كلها هي طيف A، وهو يصف سلوك المصفوفة: القيم الذاتية الكبيرة تضخّم الاتجاهات المقابلة لها، والصغيرة تخمدها.
يعمّم تحليل القيمة المفردة (SVD) التحليل الذاتي ليشمل المصفوفات غير المربعة:
W = U Σ Vᵀ
حيث U ∈ ℝᵐˣᵐ وV ∈ ℝⁿˣⁿ مصفوفتان متعامدتان (دوران/انعكاس)، وΣ ∈ ℝᵐˣⁿ مصفوفة قطرية بعناصر غير سالبة σ₁ ≥ σ₂ ≥... ≥ σᵣ (القيم المفردة). يُستخدم SVD في ضغط الأوزان: فالتقريب منخفض الرتبة Wk = Uk Σk Vkᵀ باستخدام أكبر k قيمة مفردة فقط يعطي أفضل تقريب من الرتبة k للمصفوفة W وفق معيار Frobenius — وهذا أساس الضبط الدقيق LoRA (Low-Rank Adaptation، التكيّف منخفض الرتبة).
1.4 المعايير والتنظيم
معيار L2 (المعيار الإقليدي) للمتجه x ∈ ℝⁿ:
‖x‖₂ = √(Σᵢ xᵢ²) = √(xᵀx)
معيار Frobenius للمصفوفة W ∈ ℝᵐˣⁿ:
‖W‖_F = √(Σᵢ Σⱼ Wᵢⱼ²) = √(tr(WᵀW))
تقيس المعايير «حجم» المتجهات والمصفوفات. وفي التحسين، تؤدي إضافة عقوبة معيارية إلى دالة الخسارة — أي التنظيم — إلى معاقبة الأوزان الكبيرة ومنع الإفراط في التخصيص. ويضيف تنظيم L2 (اضمحلال الأوزان) المقدار λ‖W‖²F إلى دالة الخسارة، ما يجعل الأوزان تضمحل نحو الصفر أثناء التدريب.
نظرية الاحتمالات ونظرية المعلومات
2.1 التوزيعات الاحتمالية
يُسند التوزيع الاحتمالي P على فضاء عيّنة منفصل X القيمة P(x) ≥ 0 لكل نتيجة x ∈ X بحيث Σx P(x) = 1. والنمذجة اللغوية هي هذا تمامًا: تقدير توزيع على تسلسلات الرموز.
بالنسبة إلى المتغيرات المتصلة، تحقق دالة الكثافة الاحتمالية (PDF) f(x) الشرطين f(x) ≥ 0 و∫f(x)dx = 1. واحتمال نطاق ما هو P(a ≤ X ≤ b) = ∫ab f(x)dx.
2.1.1 توزيع Softmax
تحوّل دالة softmax متجهًا من اللوجيتات ذات القيم الحقيقية z ∈ ℝⁿ إلى توزيع احتمالي:
softmax(z)ᵢ = exp(zᵢ) / Σⱼ exp(zⱼ)
الخصائص: جميع المخرجات موجبة، ومجموعها 1 (توزيع احتمالي صالح)، واللوجيتات الكبيرة تقابل احتمالات قريبة من 1 بينما تقابل اللوجيتات الصغيرة قيمًا قريبة من 0. ويعدّل التحجيم بدرجة الحرارة ذلك: softmax(z/T) — فعندما T → 0 تقترب من argmax (ترميز أحادي)، وعندما T → ∞ تقترب من التوزيع المنتظم. وتأخذ النماذج اللغوية عيّنات من هذا التوزيع في كل خطوة توليد.
مشكلة الاستقرار العددي: تتجاوز exp(z) السعة عند قيم z الكبيرة. والحل المعتاد — طرح القيمة العظمى قبل الرفع إلى الأس:
softmax(z)ᵢ = exp(zᵢ - max(z)) / Σⱼ exp(zⱼ - max(z))
2.2 نظرية المعلومات
2.2.1 إنتروبيا شانون
تقيس الإنتروبيا H(P) للتوزيع P مقدار عدم اليقين فيه — أي متوسط المحتوى المعلوماتي للنتيجة:
H(P) = -Σₓ P(x) log₂ P(x) [bits]
تبلغ الإنتروبيا أقصاها عندما يكون P منتظمًا (أقصى عدم يقين) وأدناها (= 0) عندما يكون P حتميًا. للعملة العادلة H = 1 بت، ولحجر النرد ذي الأوجه الستة H = log₂(6) ≈ 2.58 بت. وتقيس إنتروبيا اللغة عدد البتات اللازمة لكل رمز لترميز اللغة.
2.2.2 الإنتروبيا المتقاطعة وتباعد KL
تقيس الإنتروبيا المتقاطعة H(P, Q) طول الترميز المتوقع عند استخدام التوزيع Q لترميز عيّنات من التوزيع الحقيقي P:
H(P, Q) = -Σₓ P(x) log Q(x)
هذه هي دالة الخسارة القياسية في تدريب نماذج التصنيف والنمذجة اللغوية: P هو توزيع التصنيفات الحقيقي (ترميز أحادي)، وQ هو التوزيع الذي يتنبأ به النموذج. وتصغير الإنتروبيا المتقاطعة يكافئ تعظيم الأرجحية اللوغاريتمية للبيانات وفق النموذج.
يقيس تباعد KL DKL(P‖Q) مقدار اختلاف Q عن P:
D_KL(P‖Q) = Σₓ P(x) log(P(x)/Q(x)) = H(P,Q) - H(P) ≥ 0
يساوي تباعد KL صفرًا إذا وفقط إذا كان P = Q في كل مكان تقريبًا، ويكون موجبًا في غير ذلك (متباينة Gibbs). وهو غير متماثل: DKL(P‖Q) ≠ DKL(Q‖P). ويظهر في تدريب RLHF: فحدّ عقوبة KL الذي يمنع النموذج المضبوط من الابتعاد كثيرًا عن النموذج الأساسي هو DKL(πθ ‖ πref).
2.2.3 Perplexity
الحيرة (Perplexity) هي الدالة الأسية لخسارة الإنتروبيا المتقاطعة — وهي المقياس القياسي لتقييم النماذج اللغوية:
PPL(P, Q) = exp(H(P, Q)) = exp(-1/N Σₙ log Q(tₙ | t₁,...,tₙ₋₁))
بديهيًا، الحيرة هي الحجم الفعلي للمفردات التي يختار منها النموذج في كل خطوة. فحيرة قيمتها 20 تعني أن النموذج، في المتوسط، غير متيقن كما لو كان يختار بشكل منتظم من بين 20 خيارًا متساوية الاحتمال. وتحقق أحدث النماذج اللغوية حيرة بين 3 و8 في معايير القياس المعتادة.
2.3 نظرية بايز
نظرية بايز هي أساس تعلم الآلة الاحتمالي:
P(θ|D) = P(D|θ) · P(θ) / P(D)
حيث θ معاملات النموذج، وD البيانات المرصودة، وP(θ|D) الاحتمال اللاحق، وP(D|θ) الأرجحية، وP(θ) الاحتمال المسبق، وP(D) = ∫P(D|θ)P(θ)dθ الأرجحية الهامشية (الدليل). يعظّم تقدير الأرجحية العظمى (MLE) المقدار P(D|θ) متجاهلًا الاحتمال المسبق. أما تقدير القيمة اللاحقة العظمى (MAP) فيعظّم P(θ|D)، وهو ما يكافئ MLE مع تنظيم يتناسب مع -log P(θ).
يستخدم التعلم العميق الحديث عادةً MLE/MAP بدلًا من الاستدلال البايزي الكامل، لأن حساب الاحتمال اللاحق على مليارات المعاملات غير ممكن حسابيًا. ولا يزال تقدير عدم اليقين في النماذج اللغوية الكبيرة مشكلة بحثية مفتوحة.
التفاضل والتكامل والتحسين
3.1 المشتقات والتدرج
تقيس مشتقة الدالة القياسية f: ℝ → ℝ عند النقطة x معدل التغيّر اللحظي:
f'(x) = df/dx = lim_{h→0} [f(x+h) - f(x)] / h
بالنسبة إلى دالة f: ℝⁿ → ℝ (كما في دالة الخسارة)، يكون التدرج ∇f ∈ ℝⁿ متجه المشتقات الجزئية:
∇f(x) = [∂f/∂x₁, ∂f/∂x₂,..., ∂f/∂xₙ]ᵀ
يشير التدرج إلى اتجاه الصعود الأشد انحدارًا. لذا فإن التحرك في اتجاه سالب التدرج يُنزل دالة الخسارة — وهذا أساس الانحدار التدرجي.
3.1.1 مصفوفة جاكوبي ومصفوفة هيسه
بالنسبة إلى دالة ذات قيم متجهة f: ℝⁿ → ℝᵐ، تحتوي مصفوفة جاكوبي J ∈ ℝᵐˣⁿ على جميع المشتقات الجزئية من الرتبة الأولى: Jij = ∂fi/∂xj. ومصفوفة جاكوبي لمخرج طبقة ما بالنسبة إلى مدخلها محورية في الانتشار العكسي.
تحتوي مصفوفة هيسه H ∈ ℝⁿˣⁿ لدالة قياسية على جميع المشتقات الجزئية من الرتبة الثانية: Hij = ∂²f/(∂xi ∂xj). وتصف مصفوفة هيسه انحناء سطح الخسارة: فمصفوفة هيسه موجبة التحديد تعني نهاية صغرى محلية، وسالبة التحديد تعني نهاية عظمى محلية، وغير المحددة تعني نقطة سرج.
3.1.2 قاعدة السلسلة
قاعدة السلسلة هي الأساس الرياضي للانتشار العكسي. بالنسبة إلى الدوال المركبة g(f(x)):
d/dx g(f(x)) = g'(f(x)) · f'(x)
بالنسبة إلى الدوال ذات القيم المتجهة، تستخدم قاعدة السلسلة متعددة المتغيرات مصفوفات جاكوبي:
∂z/∂x = (∂z/∂y) · (∂y/∂x) = J_g · J_f
الشبكة العصبية تركيب من الدوال: L(θ) = loss(fₙ(...f₂(f₁(x; W₁)); Wₙ)). وتطبيق قاعدة السلسلة بشكل تكراري عبر هذا التركيب يحسب ∂L/∂Wi لكل طبقة i — وهذا التطبيق التكراري هو الانتشار العكسي.
3.2 الانحدار التدرجي ومتغيراته
3.2.1 الانحدار التدرجي العشوائي
يحدّث الانحدار التدرجي الأساسي المعاملات θ في اتجاه سالب التدرج:
θ_{t+1} = θ_t - η · ∇_θ L(θ_t)
حيث η معدل التعلم. حساب التدرج الحقيقي على مجموعة البيانات كاملة مكلف — O(N) تمريرة أمامية لكل خطوة. ويقرّبه الانحدار التدرجي العشوائي (SGD) باستخدام دفعة صغيرة B ⊂ D حجمها b:
θ_{t+1} = θ_t - η · (1/b) Σ_{x∈B} ∇_θ ℓ(f(x; θ), y)
تدرج الدفعة الصغيرة مقدّر غير منحاز للتدرج الكامل: E[gB] = ∇L. ويتناقص تباينه مع حجم الدفعة b: Var(gB) = σ²/b.
3.2.2 الزخم
يراكم الزخم متجه سرعة v في اتجاه مكونات التدرج المستمرة:
v_{t+1} = β · v_t + (1-β) · ∇_θ L(θ_t)
θ_{t+1} = θ_t - η · v_{t+1}
مع β ∈ [0.9, 0.99]، يحسب الزخم فعليًا متوسط التدرجات على مدى 1/(1-β) خطوة — 10 خطوات عند β=0.9، و100 خطوة عند β=0.99. وهذا يسرّع التقارب على الأبعاد المسطحة ويخمد التذبذب على الأبعاد شديدة الانحدار.
3.2.3 Adam: التقدير التكيّفي للعزوم
يحافظ Adam (Kingma وBa، 2015) على معدلات تعلم تكيّفية لكل معامل عبر تتبّع العزم الأول (المتوسط) والعزم الثاني (التباين غير المركزي) للتدرجات:
m_t = β₁ · m_{t-1} + (1-β₁) · g_t
v_t = β₂ · v_{t-1} + (1-β₂) · g_t²
m̂_t = m_t / (1-β₁ᵗ), v̂_t = v_t / (1-β₂ᵗ)
θ_{t+1} = θ_t - η · m̂_t / (√v̂_t + ε)
المعاملات الفائقة النموذجية: β₁ = 0.9، وβ₂ = 0.999، وε = 10⁻⁸، وη = 3×10⁻⁴. ومعدل التعلم الفعلي لكل معامل هو η/√v̂_t — فالمعاملات ذات تباين التدرج المرتفع تحصل على خطوات فعلية أصغر، والمعاملات ذات تباين التدرج المنخفض تحصل على خطوات أكبر.
3.2.4 جدولة معدل التعلم
لا يُبقى معدل التعلم η ثابتًا عادةً. ومن الجداول الشائعة: الإحماء الخطي + الاضمحلال الجيبي (المستخدم في معظم عمليات التدريب المسبق للمحوّلات)، والتلدين الجيبي مع إعادة التشغيل، والاضمحلال متعدد الحدود. ومرحلة الإحماء بالغة الأهمية للنماذج الكبيرة: فعند التهيئة تكون تقديرات التدرج مشوشة، وقد يؤدي معدل تعلم أولي كبير إلى زعزعة استقرار التدريب.
بنية الشبكات العصبية
الرياضيات
4.1 الطبقة الأمامية التغذية
تحسب طبقة واحدة في الشبكة العصبية تحويلًا خطيًا تليه دالة تنشيط غير خطية σ:
h = σ(Wx + b)
حيث W ∈ ℝᵐˣⁿ مصفوفة الأوزان، وb ∈ ℝᵐ متجه الانحياز، وx ∈ ℝⁿ المدخل، وh ∈ ℝᵐ الحالة المخفية. من دون σ، يكون تكديس الطبقات مكافئًا لتحويل خطي واحد. وتكسر دالة التنشيط هذه الخطية، ما يجعل الشبكات العميقة قادرة على تمثيل دوال أعقد بشكل أسّي.
4.2 دوال التنشيط
4.2.1 ReLU ومتغيراتها
ReLU(x) = max(0, x) = x · 𝟙[x > 0]
الخصائص: بسيطة حسابيًا، وتدرجها إما 0 (x < 0) أو 1 (x > 0)، وتنتج تنشيطات متناثرة، ولا تتشبع للقيم الموجبة. المشكلة: «موت ReLU» — فالخلايا العصبية التي تكون فيها x < 0 تدرجها صفر ولا يمكنها التعافي.
GeLU (Gaussian Error Linear Unit، وحدة الخطأ الغاوسي الخطية)، المستخدمة في GPT وBERT:
GELU(x) = x · Φ(x) = x · P(Z ≤ x) where Z ~ N(0,1)
SwiGLU، المستخدمة في LLaMA/PaLM، متغير ذو بوابة:
SwiGLU(x, W, V) = Swish(xW) ⊙ (xV)
4.2.2 الدالة السينية والظل الزائدي
σ(x) = 1/(1 + e⁻ˣ) ∈ (0,1)
tanh(x) = (eˣ - e⁻ˣ)/(eˣ + e⁻ˣ) ∈ (-1,1)
تعاني كلتاهما من تلاشي التدرجات في الشبكات العميقة: فعندما |x| >> 0، يكون التدرج σ'(x) = σ(x)(1-σ(x)) → 0، ما يجعل التدرجات تتلاشى أسّيًا أثناء انتشارها إلى الخلف. وكان هذا العائق الرئيسي أمام تدريب الشبكات العميقة قبل ظهور ReLU والوصلات المتبقية.
4.3 الشبكات متعددة الطبقات (MLPs)
تحسب شبكة MLP ذات L طبقة ما يلي:
h₀ = x
hₗ = σ(Wₗ hₗ₋₁ + bₗ) for l = 1,...,L-1
ŷ = softmax(W_L h_{L-1} + b_L)
تنص مبرهنة التقريب الشامل (Hornik، 1989) على أن شبكة MLP ذات طبقة مخفية واحدة وعرض كافٍ يمكنها تقريب أي دالة متصلة على مجال متراص بأي دقة مطلوبة. ومع ذلك، فإن الشبكات العميقة أكفأ أسّيًا من حيث عدد المعاملات مقارنة بالشبكات الضحلة في كثير من فئات الدوال.
4.4 الانتشار العكسي
يحسب الانتشار العكسي ∂L/∂W لكل مصفوفة أوزان W في الشبكة العصبية، باستخدام قاعدة السلسلة مطبّقةً إلى الخلف عبر الرسم البياني الحسابي.
نعرّف إشارات الخطأ (التدرجات القادمة من الطبقات اللاحقة):
δₗ = ∂L/∂zₗ where zₗ = Wₗhₗ₋₁ + bₗ
العلاقة التكرارية للانتشار العكسي:
δ_L = ∂L/∂z_L
δₗ = (Wₗ₊₁ᵀ δₗ₊₁) ⊙ σ'(zₗ)
∂L/∂Wₗ = δₗ hₗ₋₁ᵀ
∂L/∂bₗ = δₗ
# Forward pass
def forward(x, layers):
activations = [x]
pre_activations = []
for W, b in layers:
z = W @ activations[-1] + b
pre_activations.append(z)
activations.append(relu(z))
return activations, pre_activations
# Backward pass
def backward(loss_grad, activations, pre_acts, layers):
delta = loss_grad
grads = []
for l in reversed(range(len(layers))):
W, b = layers[l]
dW = delta @ activations[l].T # ∂L/∂W
db = delta.sum(axis=1) # ∂L/∂b
grads.insert(0, (dW, db))
if l > 0:
delta = (W.T @ delta) * relu_grad(pre_acts[l-1])
return grads
لماذا يتسم الانتشار العكسي بالكفاءة
يتمثل النهج الساذج في إزاحة كل وزن بمقدار ε وقياس (L(W+εeij) - L(W))/ε. ومع n معامل، يتطلب ذلك n تمريرة أمامية. أما الانتشار العكسي فيحسب جميع التدرجات الـ n في تمريرة عكسية واحدة — O(n) بدلًا من O(n²) — عبر إعادة استخدام الحسابات الوسيطة بأسلوب البرمجة الديناميكية.
4.5 مشكلة تلاشي التدرجات وانفجارها
تتضمن إشارة الخطأ δₗ حاصل ضرب L-l مصفوفة جاكوبي. فإذا كان نصف القطر الطيفي ρ(J) < 1، تتلاشى التدرجات أسّيًا، وإذا كان ρ(J) > 1، تنفجر التدرجات. ومن الحلول: الوصلات المتبقية (h = F(x) + x)، وقصّ التدرجات (‖g‖ > γ → إعادة التحجيم)، وتسوية الطبقات، والتهيئة المدروسة (تهيئة He: W ~ N(0, 2/nin)).
طبقات التسوية
5.1 تسوية الدفعات
μ_B = (1/m) Σᵢ xᵢ, σ²_B = (1/m) Σᵢ (xᵢ - μ_B)²
x̂ᵢ = (xᵢ - μ_B) / √(σ²_B + ε)
yᵢ = γ · x̂ᵢ + β
γ وβ معاملان متعلَّمان يتيحان للشبكة التراجع عن التسوية إذا كان ذلك هو الأمثل. وتسوية الدفعات (BatchNorm) إشكالية في النماذج اللغوية لأن أطوال التسلسلات متغيرة وإحصاءات الدفعة غير مستقرة في الدفعات الصغيرة.
5.2 تسوية الطبقات
μₓ = (1/H) Σⱼ xⱼ, σ²ₓ = (1/H) Σⱼ (xⱼ - μₓ)²
x̂ⱼ = (xⱼ - μₓ) / √(σ²ₓ + ε), yⱼ = γⱼ x̂ⱼ + βⱼ
تُحسب إحصاءات تسوية الطبقات لكل مثال على حدة، لا لكل دفعة — فهي مستقلة عن حجم الدفعة وتعمل بالطريقة نفسها في التدريب والاستدلال. وهذا ما يجعل LayerNorm أسلوب التسوية القياسي في المحوّلات. وفي محوّلات Pre-LN (GPT-2 وما بعده)، تُطبّق LayerNorm قبل الطبقتين الفرعيتين للانتباه وMLP، ما ينتج ديناميكيات تدريب أكثر استقرارًا على نطاق واسع.
5.3 RMSNorm
RMSNorm(x) = x / RMS(x) · γ, where RMS(x) = √(1/H Σⱼ xⱼ²)
RMSNorm أسرع من LayerNorm بنحو 10% وتعطي نتائج مماثلة. وهي مستخدمة في بنى LLaMA وMistral وGemma. والفكرة البديهية: خطوة إعادة التمركز في LayerNorm ذات أثر ضئيل في جودة النموذج؛ أما الفائدة الكبرى فتأتي من إعادة التحجيم التي تتحكم في مقدار التنشيط.
التضمينات والترميز الموضعي
6.1 تضمينات الرموز
تربط مصفوفة تضمين الرموز E ∈ ℝ|V|×d كل رمز منفصل في المفردات V بمتجه كثيف ذي d بُعدًا:
e_t = E[t] ∈ ℝᵈ
يتراوح بُعد التضمين d عادةً بين 512 و4096 في النماذج الحديثة. وتُتعلَّم مصفوفة التضمين بالتزامن مع بقية النموذج — فالرموز المتقاربة في فضاء التضمين لها أنماط استخدام سياقية متشابهة. واكتشاف Word2Vec أن العمليات الحسابية في فضاء التضمين تلتقط العلاقات الدلالية (king - man + woman ≈ queen) خاصية ناشئة عن التدريب على مدوّنات نصية ضخمة.
ربط الأوزان: في كثير من النماذج، تُتشارك مصفوفة الإسقاط الخارجي Wout مع Eᵀ، ما يقلل المعاملات بمقدار |V|×d دون تراجع ملموس تجريبيًا.
6.2 الترميز الموضعي
لا تملك المحوّلات ترتيبًا جوهريًا — فالانتباه متكافئ مع التبديل. ويضيف الترميز الموضعي معلومات الموضع.
6.2.1 الترميز الموضعي الجيبي
PE(pos, 2i) = sin(pos / 10000^(2i/d))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d))
6.2.2 تضمينات الموضع الدوّارة (RoPE)
تُرمّز RoPE (Su وآخرون، 2021)، المستخدمة في LLaMA وMistral وGPT-NeoX، الموضع عبر تدوير متجهات الاستعلام والمفتاح في فضاءات فرعية ثنائية الأبعاد (2D):
q_m = R_m q, k_n = R_n k
(R_m q)ᵀ(R_n k) = qᵀ R_{m-n}ᵀ k = f(q, k, m-n)
يعتمد الضرب النقطي على الموضع النسبي m-n فقط، لا على المواضع المطلقة. وهذا ما يجعل RoPE متفوقة تمامًا على الترميز الجيبي من حيث الحساسية للموضع النسبي، ويتيح استقراء أطوال سياق أكبر.
آلية الانتباه
7.1 انتباه الضرب النقطي المُحجَّم
تحسب آلية الانتباه مجاميع موزونة للقيم، حيث تُحدَّد الأوزان بالتشابه بين الاستعلام والمفتاح:
Attention(Q, K, V) = softmax(QKᵀ / √dₖ) · V
حيث Q ∈ ℝˢˣᵈᵏ (الاستعلامات)، وK ∈ ℝˢˣᵈᵏ (المفاتيح)، وV ∈ ℝˢˣᵈᵥ (القيم). يمنع عامل التحجيم 1/√dk الضرب النقطي من النمو أكثر من اللازم — فمن دونه تتشبع softmax إلى توزيعات قريبة من الترميز الأحادي، ما يؤدي إلى تلاشي التدرجات.
في مصفوفة أوزان الانتباه A = softmax(QKᵀ/√dk) ∈ ℝˢˣˢ، يمثّل العنصر Aij مقدار انتباه الموضع i إلى الموضع j. والمخرج مجموع موزون للقيم: outputi = Σj Aij Vj. ويتيح ذلك لكل موضع تجميع المعلومات من أي موضع آخر في التسلسل — وهذه هي القدرة المميزة للمحوّلات.
7.2 الانتباه متعدد الرؤوس
يشغّل الانتباه متعدد الرؤوس h عملية انتباه متوازية في فضاءات فرعية أقل أبعادًا:
headᵢ = Attention(QWᵢQ, KWᵢK, VWᵢV)
MultiHead(Q,K,V) = Concat(head₁,...,headₕ) Wᴼ
تتعلم الرؤوس المختلفة أنماط انتباه مختلفة: بعضها ينتبه إلى المواضع الحديثة (السياق المحلي)، وبعضها إلى البنية النحوية، وبعضها إلى العلاقات الدلالية. ومع h=12 رأسًا وd=768 (BERT-base)، يعمل كل رأس في فضاء فرعي من 64 بُعدًا.
7.3 الانتباه السببي (المُقنَّع)
A = softmax((QKᵀ/√dₖ) + M), M_ij = 0 if j≤i, -∞ if j>i
تؤدي إضافة -∞ إلى المواضع المُقنَّعة قبل softmax إلى exp(-∞) = 0، فتصبح أوزان الانتباه تلك صفرًا. ويكون الانتباه الناتج مثلثيًا سفليًا: ينتبه الموضع i إلى المواضع 1,...,i لكن ليس إلى i+1,...,s.
7.4 التعقيد الحسابي
الانتباه القياسي O(s²d) في الزمن وO(s²) في الذاكرة بسبب مصفوفة الانتباه s×s. ومن المتغيرات الفعّالة: FlashAttention (تقسيم إلى بلاطات لتسريع بمقدار 2-4×، ونتائج دقيقة)، والانتباه المتناثر (O(s·w) لحجم نافذة w)، والانتباه الخطي (O(s·d²))، والانتباه متعدد الاستعلامات (يتشارك K وV بين الرؤوس، ما يقلل حجم ذاكرة KV المؤقتة بعامل h).
بنية المحوّل
8.1 كتلة المحوّل
تتكون طبقة المحوّل من طبقتين فرعيتين: الانتباه الذاتي متعدد الرؤوس، وMLP يعمل على كل موضع، ولكل منهما وصلة متبقية وتسوية طبقة:
x' = x + MultiHead(LN(x), LN(x), LN(x))
x'' = x' + MLP(LN(x'))
الطبقة الفرعية MLP:
MLP(x) = W₂ · GELU(W₁x + b₁) + b₂
حيث W₁ ∈ ℝ4d×d وW₂ ∈ ℝd×4d. وعند d=4096، تحتوي هذه الـ MLP على نحو 134 مليون معامل لكل طبقة.
8.2 عدد المعاملات
| المكوّن | المعاملات | ملاحظات |
|---|---|---|
| تضمين الرموز | d × |V| | أوزان مربوطة بالمخرجات |
| التضمين الموضعي | d × s_max | غير موجود في نماذج RoPE |
| الانتباه (لكل طبقة) | 4d² | إسقاطات Q وK وV وO |
| MLP (لكل طبقة) | 8d² | SwiGLU: 12d² |
| LayerNorm (لكل طبقة) | 4d | ضئيل |
| الإجمالي (L طبقة) | ≈ 12Ld² | لقيم d الكبيرة |
بالنسبة إلى GPT-3 (L=96، d=12288): 12 × 96 × 12288² ≈ 175 مليار معامل.
8.3 التيار المتبقي
ينشئ نمط الوصلات المتبقية التيار المتبقي — متجهًا ذا d بُعدًا يتدفق عبر الشبكة كلها، وتعدّله كل طبقة بالإضافة:
x₀ = Embed(tokens) + PE
xₗ = xₗ₋₁ + Attn_l(xₗ₋₁) + MLP_l(...)
logits = Unembed(LN(x_L))
يتعامل منظور القابلية الآلية للتفسير مع التيار المتبقي بوصفه قناة اتصال: تقرأ منه رؤوس الانتباه وطبقات MLP وتكتب فيه تحديثات إضافية، ما يتيح البحث في تفسير تدفق المعلومات.
ديناميكيات التدريب على نطاق واسع
9.1 سطح الخسارة
دالة الخسارة لشبكة عصبية L: ℝⁿ → ℝ (حيث n ~ 10⁹–10¹²) غير محدبة إلى حد كبير. ورغم أنها مستعصية نظريًا، فإن الشبكات الكبيرة المفرطة في المعاملات سهلة التدريب نسبيًا بفضل الإفراط في المعاملات (معظم النهايات الصغرى المحلية قريبة من العامة)، ونظام NTK (الشبكات ذات العرض اللانهائي تتقارب مثل انحدار النواة)، والتنظيم الضمني (يجد SGD نهايات صغرى مسطحة قابلة للتعميم).
9.2 قوانين التوسع Chinchilla
اشتق Hoffmann وآخرون (2022) قوانين توسع تجريبية تربط ميزانية الحوسبة C وحجم النموذج N وحجم مجموعة البيانات D:
L(N, D) = E + A/Nᵅ + B/Dᵝ
حيث E ≈ 1.69 (الإنتروبيا غير القابلة للاختزال)، وα ≈ β ≈ 0.34. والنتيجة الأساسية: مع حوسبة ثابتة C = 6ND، تكون المفاضلة المثلى Nopt ∝ C0.5 وDopt ∝ C0.5 — أي ينبغي أن يتوسع حجم النموذج وحجم مجموعة البيانات بالقدر نفسه. وهذا يعني أن GPT-3 (175B معامل، و300B رمز) كان أقل تدريبًا بكثير مما ينبغي.
9.3 التدريب بالدقة المختلطة
تُدرَّب النماذج الحديثة بدقة مختلطة: التمريرة الأمامية بصيغة float16 لكفاءة الذاكرة، وتحديثات الأوزان بصيغة float32 للاستقرار العددي.
# Forward pass in fp16
with torch.autocast(device_type='cuda', dtype=torch.float16):
logits = model(input_ids)
loss = cross_entropy(logits, targets)
# Backward pass: gradients in fp16
scaler.scale(loss).backward()
# Gradient unscaling + clipping in fp32
scaler.unscale_(optimizer)
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
# Weight update in fp32 (master weights)
scaler.step(optimizer)
scaler.update()
يُفضَّل BFloat16 على float16: فله الأس نفسه بطول 8 بتات كما في float32 (مدى ديناميكي مطابق) لكن بـ 7 بتات فقط للجزء العشري، ما يتجنب الفيض الزائد والفيض الناقص دون الحاجة إلى تحجيم الخسارة.
9.4 التدريب الموزّع
يتطلب تدريب نموذج بحجم 70B نحو 140 GB من ذاكرة GPU للأوزان وحدها. ومن الاستراتيجيات: توازي البيانات (نسخ النموذج ومزامنة التدرجات)، وتوازي الموترات (تقسيم مصفوفات الأوزان بين وحدات GPU)، وتوازي خط المعالجة (توزيع الطبقات على وحدات GPU مختلفة)، وZeRO (تقسيم حالات المُحسِّن والتدرجات والأوزان بين العمال، ما يتيح نماذج بأي حجم).
النمذجة اللغوية والتوليد
10.1 الهدف الانحداري الذاتي
L(θ) = -E_{x~D}[ Σₜ log P_θ(xₜ | x_{<t}) ]
في كل موضع t، يتنبأ النموذج بتوزيع على المفردات V كاملة بمعلومية جميع الرموز السابقة. وهذا الهدف البسيط المتمثل في التنبؤ بالرمز التالي، عند تطبيقه على نطاق هائل، كافٍ لتعلّم تمثيلات غنية للغة والمعرفة الواقعية والاستدلال.
10.2 استراتيجيات فك الترميز
10.2.1 التحجيم بدرجة الحرارة
P(tᵢ) = exp(zᵢ/T) / Σⱼ exp(zⱼ/T)
T < 1 يزيد الحدة (أكثر حتمية)، وT > 1 يسطّح التوزيع (أكثر عشوائية). وT = 0 يُختزل إلى argmax (فك الترميز الجشع).
10.2.2 أخذ العيّنات Top-k
P'(tᵢ) = P(tᵢ) / Σ_{j∈top-k} P(tⱼ) for i ∈ top-k
10.2.3 أخذ العيّنات النووي (Top-p)
V_p = {t : Σ_{v sorted} P(v) ≤ p}, P'(tᵢ) = P(tᵢ)/p
Top-p تكيّفي: يشمل رموزًا أكثر عند عدم اليقين، وأقل عند الثقة. الإعدادات النموذجية: درجة الحرارة 0.7–1.0، وtop-p 0.9–0.95.
10.2.4 البحث الحزمي
score(x_{1:t}) = (1/t) Σᵢ log P(xᵢ|x_{<i})
يعظّم البحث الحزمي الاحتمال مباشرة. ويُفضَّل في الترجمة والمخرجات المنظَّمة، بينما يُفضَّل أخذ العيّنات في التوليد المفتوح.
10.3 ذاكرة المفتاح-القيمة المؤقتة
أثناء الاستدلال الانحداري الذاتي، تخزّن ذاكرة KV المؤقتة موترات K وV المحسوبة سابقًا، ما يجعل كل خطوة توليد O(sd) بدلًا من O(s²d)، لكنها تستهلك ذاكرة O(2Lsd) — أي نحو 320 GB بصيغة float16 لنموذج بحجم 70B. ويُعد ضغط ذاكرة KV المؤقتة مجالًا بحثيًا نشطًا وحاسمًا للاستدلال على السياقات الطويلة.
kv_cache = {}
def generate_step(input_token, kv_cache, model):
q, k, v = model.qkv_proj(embed(input_token))
if layer_idx in kv_cache:
K = torch.cat([kv_cache[layer_idx][0], k], dim=1)
V = torch.cat([kv_cache[layer_idx][1], v], dim=1)
else:
K, V = k, v
kv_cache[layer_idx] = (K, V)
output = scaled_dot_product_attention(q, K, V)
return output, kv_cache
التعلم المعزّز من الملاحظات البشرية
11.1 المسار ثلاثي المراحل
يوائم RLHF النماذج اللغوية المدرَّبة مسبقًا مع التفضيلات البشرية عبر ثلاث مراحل: الضبط الدقيق الخاضع للإشراف (SFT)، وتدريب نموذج المكافأة، والتحسين بالتعلم المعزّز.
11.2 نموذج المكافأة
يُدرَّب نموذج المكافأة Rφ: (المطالبة، الإكمال) → ℝ على بيانات تفضيل بشرية ثنائية:
L_RM(φ) = -E[ log σ(R_φ(x,y_w) - R_φ(x,y_l)) ]
11.3 التحسين باستخدام PPO
يُحسَّن النموذج اللغوي πθ لتعظيم المكافأة المتوقعة مع البقاء قريبًا من السياسة المرجعية:
max_θ E[ R_φ(x,y) ] - β · D_KL(π_θ ‖ π_ref)
L_PPO = E_t[ min(rₜ Aₜ, clip(rₜ, 1-ε, 1+ε) Aₜ) ]
يمنع حدّ KL التلاعب بالمكافأة — أي انحراف النموذج لاستغلال نقاط الضعف في نموذج المكافأة. ويمنع الهدف البديل المقصوص في PPO تحديثات السياسة المفرطة في الحجم التي قد تزعزع استقرار التدريب.
11.4 التحسين المباشر للتفضيلات (DPO)
يتجاوز DPO (Rafailov وآخرون، 2023) نموذج المكافأة كليًا:
L_DPO(θ) = -E[ log σ(β log π_θ(y_w|x)/π_ref(y_w|x) - β log π_θ(y_l|x)/π_ref(y_l|x)) ]
DPO مكافئ رياضيًا لـ RLHF لكنه أبسط وأكثر استقرارًا ولا يتطلب نموذج مكافأة منفصلًا. وتستخدم معظم مسارات الضبط الدقيق الحديثة DPO أو متغيراته (IPO وKTO) بدلًا من PPO.
الخلاصة: اللبنات الرياضية الأساسية
| المفهوم | المعادلة الجوهرية | الدور في الذكاء الاصطناعي |
|---|---|---|
| ضرب المصفوفات | y = Wx + b | كل طبقة خطية، وإسقاطات الانتباه |
| Softmax | exp(z)/Σexp(z) | احتمالات الرموز، وأوزان الانتباه |
| الإنتروبيا المتقاطعة | H(P,Q) = -Σ P log Q | دالة خسارة التدريب للتصنيف والنماذج اللغوية |
| قاعدة السلسلة | ∂z/∂x = (∂z/∂y)(∂y/∂x) | الانتشار العكسي عبر الطبقات |
| تحديث Adam | θ -= η·m̂/√(v̂+ε) | تحديث المعاملات أثناء التدريب |
| انتباه الضرب النقطي | softmax(QKᵀ/√dₖ)V | جوهر الانتباه الذاتي في المحوّل |
| تسوية الطبقة | (x-μ)/σ · γ + β | تثبيت التنشيطات لكل عيّنة |
| RoPE | (Rₘq)ᵀ(Rₙk)=f(q,k,m-n) | ترميز موضعي نسبي |
| تباعد KL | Σ P log(P/Q) | التنظيم في RLHF، وهدف VAE |
| Perplexity | exp(H(P,Q)) | مقياس تقييم النماذج اللغوية |
| SVD | W=UΣVᵀ | ضغط الأوزان، والضبط الدقيق LoRA |
| هدف PPO | E[min(r·A, clip(r)·A)] | تحسين السياسة في RLHF |
المراجع
Vaswani, A., et al. (2017). Attention is all you need. NeurIPS 2017.
He, K., et al. (2016). Deep residual learning for image recognition. CVPR 2016.
Ba, J. L., et al. (2016). Layer normalization. arXiv:1607.06450.
Kingma, D. P., & Ba, J. (2015). Adam: A method for stochastic optimization. ICLR 2015.
Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation 9(8).
Ioffe, S., & Szegedy, C. (2015). Batch normalization. ICML 2015.
Elhage, N., et al. (2021). A mathematical framework for transformer circuits. Transformer Circuits Thread.
Hoffmann, J., et al. (2022). Training compute-optimal large language models. arXiv:2203.15556.
Su, J., et al. (2021). RoFormer: Enhanced transformer with rotary position embedding. arXiv:2104.09864.
Dao, T., et al. (2022). FlashAttention: Fast and memory-efficient exact attention. NeurIPS 2022.
Rafailov, R., et al. (2023). Direct preference optimization. NeurIPS 2023.
Zhang, B., & Sennrich, R. (2019). Root mean square layer normalization. NeurIPS 2019.
Schulman, J., et al. (2017). Proximal policy optimization algorithms. arXiv:1707.06347.
Ouyang, L., et al. (2022). Training language models to follow instructions with human feedback. NeurIPS 2022.
Kirchenbauer, J., et al. (2023). A watermark for large language models. ICML 2023.
Rajbhandari, S., et al. (2020). ZeRO: Memory optimizations toward training trillion parameter models. SC 2020.