نمط تناثر اثنين من أربعة يتعلق بتوزيع الأصفار في مجموعات، لا بعددها الإجمالي فقط. يصف دليل PyTorch نمط حذف نصف عناصر المجموعة في التناثر شبه المنظم. [1] نقارن قائمتين مؤلفتين لهما النسبة نفسها.
الخلاصة السريعة
لا؛ يجب فحص كل مجموعة وفق ترتيب النمط المحدد، فوجود أربعة أصفار بين ثمانية أوزان لا يكفي وحده لإثبات توزيع اثنين من أربعة.
- النمط الموثق يحذف اثنين من كل أربعة عناصر في المجموعة؛ عد الأصفار الكلي لا يبين مواضعها. [1]
- في التقسيم الذي أعلنّاه، القائمة أ لها مجموعة بلا أصفار وأخرى كلها أصفار؛ القائمة ب لها صفران في كل مجموعة، رغم تساوي النسبة الكلية.
- نجاح فحص المجموعات في ورقتنا لا يثبت أهلية تنسور حقيقي؛ دليل PyTorch يشترط عتادا داعما، ومثاله يستعمل وزنا نصف الدقة وشكلا محددا. [1]
- احفظ اتجاه التجميع وحدوده والقيم والنمط المطلوب؛ لا تنقل الأوزان اعتباطيا لملء الشرط، ولا تستنتج حفظ الدقة أو سرعة من هذه الورقة.
لماذا تهم المجموعة الصغيرة؟
يعرض دليل PyTorch تناثرا شبه منظم يحذف n من كل 2n عناصر، وأكثر أمثلته شيوعا n = 2. [1]
نشرح الحالة بصندوق له أربع خانات مرتبة. لا تسأل فقط كم خانة صفرية في جميع الصناديق؛ اسأل كيف توزعت داخل كل صندوق. فإذا كان الشرط محليا، لا يعوض صندوق ممتلئ صندوقا آخر خاليا مهما تساوى مجموع الأصفار.
هذه قراءة لبنية وزن في تنفيذ نموذج ذكاء اصطناعي. لا نقرر أي وزن ينبغي حذفه أو مقدار أثره في التنبؤ. موضع الصفر حقيقة عن التمثيل المعروض، لا دليل على أن القيمة الأصلية غير مهمة للمهمة.
قائمتان بنصف أصفار ونتيجتين مختلفتين
نؤلف قائمة أ: 1، 2، 3، 4؛ ثم 0، 0، 0، 0. ونؤلف قائمة ب: 1، 0، 2، 0؛ ثم 3، 0، 4، 0. الفاصلة المنقوطة هنا حد مجموعتين متتاليتين من أربع خانات، وليست خطوة فرز.
في أ توجد أربعة أصفار من ثمانية عناصر؛ وفي ب كذلك. نسبة الأصفار في كل قائمة هي 4 ÷ 8 = نصف. لكن المجموعة الأولى في أ تضم أربعة عناصر غير صفرية، والثانية لا تضم عنصرا غير صفري. لا توافق أ نمط وجود صفرين في كل مجموعة من ورقتنا.
في ب يوجد عنصران غير صفريين وصفران داخل كل مجموعة. توافق ب هذا الفحص المحلي المعلن. لم نمرر القائمتين إلى محول أو بطاقة رسومية، ولا نقول إن طول ثمانية عناصر شكل تشغيل مقبول في PyTorch.
هل يكفي الفحص المحلي لتشغيل التسريع؟
يشترط الدليل بطاقة NVIDIA داعمة للتناثر شبه المنظم، ومثاله المحدد يستخدم أوزانا نصف الدقة. كما يحذر من تعميم تسريع جهاز الاختبار على معماريات أحدث. [1]
لذلك نترك على بطاقة المثال خانة «شروط الأداة الأخرى لم تفحص». قد يطابق توزيع الأصفار الرسم بينما تبقى الأبعاد ونوع البيانات والتخطيط والعملية المقصودة خارج ما راجعناه. فصل هذه الخانة يمنع تحويل مثال عددي صغير إلى إعلان دعم تشغيلي.
ولا نساوي النمط بهدف الجودة. اختيار مواضع الحذف يحتاج مراجعة نتيجة النموذج لمهمته. الورقة تثبت توزيع القيم المعروضة تحت حدود مجموعاتنا فقط، دون حكم على نجاح نموذج أصلي بعد التعديل.
ما الذي يجب إبقاؤه عند المقارنة؟
نكتب ترتيب الخانات وحدود كل مجموعة وقيمها قبل حساب النسبة. تغيير التجميع قد يغير الفحص المحلي؛ فلا نخفي حدوده ثم نعلن أن قائمتين متشابهتان لأن العدد الكلي واحد.
كذلك لا نعيد ترتيب الأوزان وحدها بحثا عن نمط أجمل. في تمرين الحساب، موضع كل وزن جزء من المدخل الذي وصفناه. نقل قيمة إلى موضع آخر يغير الورقة التي نراجعها، حتى لو بقي مجموع الأرقام وعدد الأصفار ثابتين.
الرسم يقارن توزيع أصفار فقط. لم نحذف أوزان نموذج، ولم نقس زمنا أو ذاكرة أو دقة. فائدته أن يجعل سؤال «هل النصف صفر؟» بداية فحص، مع حاجة مستقلة لمعرفة النمط المطلوب وشروط التنفيذ.
المصادر ومتابعة القراءة
- PyTorch: Accelerating BERT with semi-structured (2:4) sparsity (يفتح في نافذة جديدة)docs.pytorch.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
