English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ضيف
1 / ?

التضمين هو بحث، لا دالة

الطبقة الأولى بعد المُقطِّع

يُسلِّم المُقطِّع للنموذج معرّفات صحيحة: [256, 1842, 7301, ...]. أول ما يفعله المحول: تحويل كل معرّف إلى متجه من أرقام النقطة العائمة بطول d_model. يعيش هذا المتجه في فضاء ذي أبعاد d_model (768 بُعداً لـ ANDREA-120M).


طبقة التضمين هي جدول بحث، لا دالة. تخيّل مصفوفة عملاقة:


الشكل: (V, d_model)
الصف 0:    [e_0_0, e_0_1, ..., e_0_767]
الصف 1:    [e_1_0, e_1_1, ..., e_1_767]
...
الصف 8448: [e_8448_0, e_8448_1, ..., e_8448_767]

معرّف الرمز i يختار الصف i. وصول مباشر إلى المصفوفة. بدون عمليات حسابية، بدون دالة تنشيط. مجرد فهرس.


Token & position embedding flow


أرقام عائمة قابلة للتدريب

كل مدخل في هذا الجدول يبدأ كرقم عائم صغير عشوائي (يُسحب عادةً من توزيع طبيعي مُقيَّس بـ 1/√d_model). يقوم الانتشار العكسي بتحديث كل صف كلما ظهر معرّف الرمز الخاص به في دفعة. بعد التدريب، تنتهي الرموز المتشابهة (cat, dog, pet) بمتجهات متشابهة؛ بينما تكون الرموز غير المرتبطة (cat, Tuesday, xylophone) متباعدة في فضاء المتجهات.


تكلفة تضمين الرموز لـ ANDREA-120M


الكميةالقيمة
V8,449
d_model768
Parameters6,488,832

يوجد حوالي 6.5 مليون معلمة في جدول تضمين الرموز وحده، أي حوالي 5.4% من إجمالي ANDREA-120M. كل خانة في المفردات تحصل على هذه الـ 768 قيمة عائمة.

حساب حجم جداول التضمين

احسب عدد معلمات تضمين الرموز لنسختين مستقبليتين. (أ) ANDREA-480M: V = 16,641 (مُقطّع 16,384 رمزًا + 256 بايت + 1 BOS)، d_model = 1536. (ب) ANDREA-12M: V = 4,353، d_model = 384. أظهر عملية V × d_model لكل منهما.

الضرب النقطي يقيس التشابه

المتجهات كأسهم

يعيش متجه ذو 768 بُعدًا في فضاء لا يستطيع البشر تخيله، لكن نفس الجبر يعمل في أي بُعد. هناك عمليتان أساسيتان تهمان المحولات:


المقدار (طول السهم):


||v|| = sqrt(v_0² + v_1² + ... + v_767²)

الجداء النقطي (التوافق بين سهمين):


u · v = u_0 × v_0 + u_1 × v_1 + ... + u_767 × v_767

ماذا يخبرك الجداء النقطي

حقيقتان تنطبقان في أي بُعد:


- u · v = ||u|| × ||v|| × cos(theta)، حيث theta هو الزاوية بينهما.

- المتجهات التي تشير إلى نفس الاتجاه تعطي نواتج ضرب نقطي كبيرة موجبة.

- المتجهات التي تشير إلى اتجاهات متعاكسة تعطي نواتج ضرب نقطي كبيرة سالبة.

- المتجهات التي تكون بينها زاوية قائمة تعطي ناتج ضرب نقطي يساوي صفرًا.


الضرب النقطي = تشابه غير مُعايَر. ينتهي الأمر بأن يكون لدى تضميني الرمزين المدربين cat وdog ناتج ضرب نقطي مرتفع لأن الانتشار العكسي دفعهما معًا (كلاهما يتنبأ بسياقات متعلقة بالحيوانات الأليفة). أما cat وTuesday فينتهي الأمر بأن يكونا شبه متعامدين لأنهما يتنبآن بسياقات مختلفة.


لماذا يهتم المحول

النشاط 5 (grow_a_language_model_attention) يبني الانتباه من الضرب النقطي: متجه الاستعلام يُضرب نقطيًا مع متجهات المفاتيح لينتج درجات توضح أي الرموز السابقة مهمة للتنبؤ بالرمز التالي. تعمل التضمينات والضرب النقطي معًا على حمل كل التفاعلات داخل المحول.

توقع التشابه

بعد التدريب، ينتهي تضمين ANDREA-120M للرمز `believ` (صف الرمز 4287، افتراضي) محاذيًا تقريبًا مع `know`، `understand`، `learn`. بدون حساب القيم الدقيقة، توقع ترتيبًا من أكبر ضرب نقطي إلى أصغره: `believ · know`، `believ · stone`، `believ · understand`. برر ترتيبك بعبارة واحدة لكل زوج.

تستخدم ANDREA تضمينات الموضع المُتعلَّمة

مشكلة

يخبر تضمين الرمز النموذجَ بأي كلمة توجد في هذا الموضع. ولا يخبره بمكان وجود تلك الكلمة. بدون معلومات الموضع، يعامل المحول the cat sat on a mat وmat a on sat cat the بنفس الطريقة: مجموعة الرموز نفسها، بدون إشارة إلى الترتيب.


توجد ثلاث حلول في أدبيات المحول:


الجيبية (فاسواني 2017). صيغة رياضية ثابتة تعتمد على الجيوب وجيوب التمام. يحصل الموضع 0 على متجه 768 محدد؛ والموضع 1 على متجه آخر؛ لا تُدرَّب أبدًا ولا تُحدَّث. تُعمَّم إلى أي موضع عبر الصيغة.


RoPE (Rotary Position Embedding). يقوم بتدوير متجهات الاستعلام والمفتاح بناءً على الموضع. يُستخدم في LLaMA وQwen. لا يحتاج إلى معاملات إضافية؛ التدوير مدمج في آلية الانتباه.


Learned. جدول تضمين منفصل بحجم (T, d_model) حيث T هو طول السياق. يتم تدريب كل صف عبر الانتشار العكسي، تمامًا مثل تضمينات الرموز.


اختيار ANDREA: Learned

ANDREA يرث نهج المواضع المُتعلمة من microGPT، الذي ورثه من nanoGPT، الذي ورثه من GPT-2. السبب:


- البساطة. لا يوجد رياضيات خاصة في آلية الانتباه. جدول المواضع يشبه جدول الرموز.

- التوافق مع CUDA المخصص. محرك microgpt_cuda.cu في ANDREA يتعامل مع عمليتي البحث في التضمين بنفس الطريقة؛ لا حاجة لنوى sin/cos.

- كافٍ للسياق الثابت. ANDREA تحدد T بـ 1024. يعمل جدول المواضع المُتعلم جيدًا مع التسلسلات ذات الطول الثابت.


تكلفة تضمين المواضع في ANDREA-120M


الكميةالقيمة
T (السياق)1,024
d_model768
المعاملات786,432

0.79M معامل للموضع. مجتمعة مع تضمينات الرموز: 6.49M + 0.79M = إجمالي 7.27M معامل تضمين لـ ANDREA-120M.


كيفية دمجها

عند كل موضع t في تسلسل الإدخال:


x_t = token_embedding[token_id_t] + position_embedding[t]

متجهان كل منهما بحجم 768، يُجمعان عنصرًا بعنصر. النتيجة x_t تدخل إلى أول كتلة محول. لا يفصل النموذج بينهما مرة أخرى أبدًا؛ بل يتعلم استخدام الإشارة المدمجة.

التضمين المُتعلَّم مقابل التضمين الجيبي

قارن بين استراتيجيتين لتضمين الموضع في نموذج ANDREA افتراضي. الاستراتيجية A: تضمين مُتعلَّم، T = 1024. الاستراتيجية B: تضمين جيبي، T غير محدد (يعمل لأي طول تسلسل). اذكر ميزة واحدة لكل منهما. ثم حدد أي استراتيجية يختارها ANDREA وسببًا واحدًا من منظور CUDA / الهندسة.

أين تعيش معاملات التضمين

طبقة التضمين الكاملة لـ ANDREA-120M


المكونالشكلالمعاملات
جدول تضمين الرموز (Token embedding table)8,449 × 7686,488,832
جدول تضمين الموضع (Position embedding table)1,024 × 768786,432
الإجمالي7,275,264

حوالي 7.3 مليون معلمة. إجمالي عدد معلمات ANDREA-120M: ~120 مليون. طبقة التضمين وحدها: 6%. وتبقى 94% في كتل المحول (الانتباه + MLP، مغطاة في الأنشطة 5-7).


تضمينات غير مرتبطة مقابل التضمينات المرتبطة

تستخدم العديد من تصميمات المحولات (بما في ذلك GPT-2) ربط تضمين الرمز بإسقاط الإخراج النهائي: نفس مصفوفة V × d_model تُستخدم عند الإدخال وعند الإخراج (اللوغيتات على المفردات). يوفر الربط V × d_model من المعاملات وغالباً ما يحسّن الجودة.


تستخدم ANDREA تضمينات غير مربوطة: يتم تدريب تضمين الإدخال وإسقاط الإخراج كمصفوفتين منفصلتين. يغطي النشاط 7 (grow_a_language_model_transformer_block) الطبقة النهائية.


تمريرة أمامية حتى الآن

المدخل: معرفات الرموز [256, 1842, 7301, ...] (1024 منها). كل معرف يبحث عن متجه 768. كل موضع يبحث عن متجه 768. يتم الجمع عنصرياً. النتيجة: مصفوفة (1024, 768) x من متجهات الرمز + الموضع. يتدفق x إلى كتلة المحول 1.


يغطي النشاط 5 (grow_a_language_model_attention) ما تفعله الكتلة 1: الانتباه بالمنتج النقطي المقيَّس مع قناع سببي وsoftmax.

توقع بنية التضمينات

تأمل: يحتوي ANDREA-120M على 8449 تضمين رمز و1024 تضمين موضع، تشترك جميعها في فضاء 768-الأبعاد نفسه. بعد التدريب، ماذا تتوقع: (أ) مصفوفة تضمين الرموز (أنماط عناقيد؟)، أو (ب) مصفوفة تضمين المواضع (تدرج سلس؟). اختر واحدة وتوقع في جملة أو جملتين. لا توجد إجابة خاطئة؛ الاستدلال هو الأهم.