Automated Numerical Stability Analysis of Deep Learning Operators
تقدم هذه الورقة أداة برمجية موحدة تدمج CESTAC للكشف عن عدم الاستقرار العددي في معاملات التعلم العميق والتحقق من صحتها ومراقبته خلال تمريرة حسابية واحدة، مما يساعد في تطوير نوى تدريب واستدلال أكثر استقراراً وكفاءة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تبني قلعة ضخمة ومعقدة من قطع "ليغو" صغيرة ومهتزة قليلاً. في عالم علوم الحاسوب، هذه القطع هي الأرقام، والقلعة هي نموذج "التعلم العميق" (deep learning)—وهو عقل فائق الذكاء يتعلم التعرف على القطط، أو كتابة القصائد، أو قيادة السيارات. لفترة طويلة، بنى العلماء هذه القلاع باستخدام قطع كبيرة ومتينة مزدوجة الحجم (تسمى "الدقة المزدوجة" أو double precision)، والتي كانت دقيقة للغاية ولكنها ثقيلة وبطيئة الحركة. ولجعل هذه القلاع أسرع وأقل استهلاكاً للطاقة، بدأ المهندسون في استخدام قطع أصغر وأخف وزناً (تسمى "الدقة المختزلة" أو reduced precision). الأمر يشبه استبدال الحجر الثقيل برغوة خفيفة الوزن؛ حيث تُبنى القلعة بشكل أسرع بكثير، ولكن هناك مشكلة: قطع الرغوة هذه قد تكون "طرية" بعض الشيء. إذا قمت بتكديسها بشكل خاطئ، أو حاولت موازنة حصاة صغيرة فوق كتلة رغوة ضخمة، فقد تنهار القلعة بأكملها، أو تعطيك نتيجة تبدو صحيحة ولكنها في الواقع "ملوثة" بالأخطاء.
هذه هي مشكلة "عدم الاستقرار العددي" (numerical instability). ليس العطل في الكمبيوتر، بل في أن الرياضيات تصبح غامضة عندما تحاول القيام بها باستخدام عدد أقل من الخانات الرقمية. في بعض الأحيان، قد يطرح الكمبيوتر رقمين ضخمين متقاربين جداً لإيجاد فرق ضئيل، وفي هذه العملية، قد يتخلص بالخطأ من كل المعلومات المهمة، تاركاً وراءه الضجيج فقط. لفترة طويلة، كان تحديد أين يحدث هذا الاهتزاز بالضبط داخل شبكة عصبية ضخمة ومعقدة يشبه محاولة العثور على قطعة ليغو واحدة مفككة في قلعة بينما يتم بناؤها في الظلام. أنت تعلم أن القلعة تهتز، لكن لا يمكنك رؤية أي قطعة هي التي تسبب ذلك.
هنا يأتي دور أداة جديدة تسمى noisefloat، ابتكرها باحثون من جامعة سوربون. فكر في هذه الأداة كأنها نظارات "اختبار إجهاد" سحرية لقلعة الليغو الخاصة بك. بدلاً من بناء القلعة مرة واحدة فقط، تقوم هذه الأداة ببناء ثلاث نسخ مختلفة قليلاً من نفس القلعة تماماً في نفس الوقت، باستخدام دفعات عشوائية صغيرة للقطع لمعرفة رد فعلها. إذا انتهت النسخ الثلاث لتبدو متطابقة تقريباً، فإن القطع مستقرة. أما إذا انهارت نسخة واحدة أو بدت مختلفة تماماً عن الأخريات، فإن الأداة تشير فوراً بإصبع الاتهام إلى تلك القطعة (أو "المُعامل" - operator) المهتزة. استخدم الباحثون هذه الأداة لاختبار نماذج التعلم العميق ووجدوا أنها تستطيع بنجاح رصد هذه القطع غير المستقرة والمخفية، حتى في منتصف عملية تدريب معقدة. وقد أظهروا أنه بينما توجد حيل رياضية آمنة، فإن حِيلاً أخرى—مثل محاولة إلغاء أرقام ضخمة لإيجاد رقم ضئيل—تعتبر خطيرة ويمكن أن تفسد دقة النموذج دون أن يلاحظ أحد ذلك إلا بعد فوات الأوان.
سحر الأرقام "الضوضائية"
التعلم العميق موجود في كل مكان الآن، من الفلاتات في صور هاتفك إلى برامج الدردشة التي تتحدث إليها. ولكن لجعل هذه الأنظمة سريعة بما يكفي لتعمل على هاتفك أو في مراكز البيانات، يستخدم العلماء "الدقة المختزلة". تخيل أنك تقيس طول غرفة؛ إذا استخدمت مسطرة بها علامات كل مليمتر (دقة عالية)، فستحصل على رقم دقيق جداً. أما إذا استخدمت مسطرة بها علامات كل سنتيمتر فقط (دقة منخفضة)، فستوفر الوقت، لكن قياسك سيكون أكثر غموضاً. في أجهزة الكمبيوتر، يعني هذا استخدام عدد أقل من "البتات" (الـ 0 والـ 1 الصغيرة) لتخزين الأرقام. وهذا يجعل الحسابات أسرع ويستهلك طاقة أقل، ولكنه يُدخل "أخطاء التقريب" (rounding errors).
عادةً، تكون هذه الأخطاء صغيرة جداً لدرجة أنها لا تهم. ولكن في بعض الأحيان، يمكن أن تتراكم أو تتضخم، مما يؤدي إلى "عدم استقرار عددي". هذا يشبه محاولة موازنة بيت من ورق اللعب في غرفة بها رياح؛ هبة ريح صغيرة (خطأ تقريب) يمكن أن تسقط الهيكل بأكتها. المشكلة هي أنه في التعلم العميق، يمكن أن تحدث هذه الأخطاء بصمت. قد يبدو النموذج وكأنه يعمل، لكن رياضياته الداخلية هي في الواقع "ملوثة"، مما قد يؤدي إلى أخطاء غريبة لاحقاً.
الحل: نظام التحقق الثلاثي
تقدم الورقة البحثية أداة برمجية تسمى noisefloat، تعمل كشرطي كشف عن هذه الأخطاء الرياضية المخفية. الفكرة الجوهرية مستمدة من طريقة تسمى CESTAC (التحكم والتقدير للحسابات العشوائية). وإليك كيف تعمل بكلمات بسيطة:
بدلاً من تشغيل عملية حسابية مرة واحدة فقط، تقوم noisefloat بتشغيلها ثلاث مرات في وقت واحد. ولكن إليك الخدعة: في كل مرة من المرات الثلاث، تضيف "دفعة" عشوائية صغيرة للأرقام. الأمر يشبه سؤال ثلاثة أشخاص مختلفين لقياس نفس الطاولة، ولكن مع إعطاء كل منهم مسطرة مختلفة قليلاً، تكون منحرفة بمقدار مجهري.
- إذا حصل الأشخاص الثلاثة على نفس الإجابة تقريباً، فإن القياس مستقر. الدفعات الصغيرة لم تغير النتيجة، مما يعني أن الرياضيات سليمة.
- إذا حصل الأشخاص الثلاثة على إجابات مختلفة جداً، فإن القياس غير مستقر. الرياضيات حساسة جداً لدرجة أن دفعة صغيرة غيرت النتيجة تماماً.
تقوم الأداة بعد ذلك بحساب عدد "الخانات المعنوية" (الأرقام الموثوقة) المتبقية في النتيجة. إذا كانت الإجابة "صفر خانات موثوقة"، فهذا يعني أن النتيجة ليست سوى ضجيج.
ماذا وجدوا: "القطع المهتزة"
اختبر الباحثون هذه الأداة على أجزاء مختلفة من نماذج التعلم العميق، والتي تتكون من العديد من العمليات الرياضية الصغيرة التي تسمى "المُعاملات" (مثل الجمع، ضرب المصفوفات، أو تطبيع البيانات). لقد صنعوا حالات "مرضية" (pathological)—وهي مسائل رياضية مصممة لتكون غير مستقرة عن قصد—ليروا ما إذا كانت الأداة ستكتشفها.
1. فخ "الإلغاء" (The Cancellation Trap)
أحد أكبر المخاطر هو "الإلغاء الكارثي". يحدث هذا عندما تطرح رقمين ضخمين متقاربين جداً لتجد فرقاً ضئيلاً.
- التشبيه: تخيل أن لديك مجموعتين من قطع الليغو، كل مجموعة تحتوي على 1,000,000 قطعة. تأخذ 999,999 من كل مجموعة. يتبقى لديك قطعة واحدة. ولكن إذا كانت مسطرتك غير دقيقة، فقد تحسب 999,999.5 كـ 999,999 في إحدى المجموعات و 1,000,000 في الأخرى. الآن تعتقد أن لديك 0 قطعة، أو ربما رقماً سالباً!
- النتيجة: وجدت الأداة أنه عندما تحاول النماذج القيام بهذا النوع من الطرح (كما في بعض الطبقات الخطية أو آليات الانتباه)، فإن عدد الخانات الموثوقة ينخفض إلى صفر. لقد نجحت الأداة في تحديد هذه العمليات كعمليات "ملوثة".
2. كارثة "الفيضان" (The Overflow Disaster)
بعض العمليات، مثل دالة "Softmax" (المستخدمة لتحويل الأرقام إلى احتمالات)، يمكن أن تنفجر إذا أصبحت الأرقام كبيرة جداً.
- التشبيه: الأمر يشبه محاولة صب دلو من الماء في كأس صغير جداً. إذا كان الماء (الرقم) كبيراً جداً، فسوف يفيض (overflow)، وينكسر الكأس.
- النتيجة: اختبر الباحثون نسخة "بدائية" من Softmax لا تحمي من الأرقام الكبيرة. أبلغت الأداة فوراً عن وجود صفر خانات معنوية وصنفتها كعملية غير مستقرة. ومع ذلك، فإن نسخة "مُزاحة" (shifted) من Softmax (التي تطرح رقماً كبيراً أولاً لإبقاء القيم صغيرة) ظلت مستقرة، محتفظة بحوالي 3 إلى 12 خانة معنوية اعتماداً على الدقة المستخدمة.
3. مشكلة "التعادل القريب" (The Near-Tie Problem)
في آليات "الانتباه" (Attention) (التي تساعد النماذج على التركيز على الكلمات المهمة)، يحسب النموذج درجات لتحديد ما يجب الانتباه إليه. إذا كانت درجتان متقاربتان جداً، تصبح الرياضيات حساسة للغاية.
- النتيجة: عندما أنشأ الباحثون سيناريو حيث كانت الدرجتان متساويتين تقريباً، اكتشفت الأداة انخفاضاً هائلاً في الموثوقية. أصبح "قرار" النموذج (أي كلمة يركز عليها) عشوائياً لأن الرياضيات كانت مهتزة جداً لدرجة عدم القدرة على التمييز بينهما.
هل يكسر هذا النموذج؟
سؤال رئيسي هو: إذا كانت الرياضيات مهتزة في الداخل، فهل ستظل الإجابة النهائية (مثل التعرف على قطة) تعمل؟
أجرى الباحثون عمليات محاكاة تدريب كاملة على مجموعات بيانات مثل Fashion-MNIST (صور الملابس) و CIFAR-10 (أشياء ملونة). قاموا بإدخال هذه "المعاملات المهتزة" في النماذج وراقبوا ما حدث.
- محلي مقابل عالمي: وجدوا أنه في بعض الأحيان، قد يفقد مُعامل ما جميع خاناته الموثوقة (يصبح ضجيجاً خالصاً)، ولكن دقة النموذج النهائية لا تنخفض فوراً. الأمر يشبه وجود رجل مهتزة في روبوت، لكن الروبوت لا يزال يستطيع المشي لأن الأرجل الأخرى قوية بما يكفي للتعويض.
- علامة التحذير: ومع ذلك، عندما يكون عدم الاستقرار شديداً (مثل حالة "التعادل القريب" في آلية الانتباه)، بدأت تنبؤات النموذج تختلف عن بعضها البعض. نجحت الأداة في التنبؤ بأن النموذج على وشك الفشل قبل أن يحدث ذلك فعلياً.
المقايضة: السرعة مقابل الأمان
هناك تكلفة لاستخدام هذه الأداة. نظرًا لأنها تقوم بتشغيل الحساب ثلاث مرات (أو أكثر) للتحقق من الاستقرار، فإنها تكون أبطأ. تشير الورقة إلى أن هذا يمكن أن يسبب تباطؤاً يتراوح بين 3 إلى 100 ضعف مقارنة بالحوسبة العادية، اعتماداً على مدى تفصيل الفحص.
- الحكم النهائي: يقترح المؤلفون عدم استخدام هذه الأداة على كامل مجموعة بيانات التدريب الخاصة بك في كل مرة (لأن ذلك سيستغرق وقتاً طويلاً جداً). بدلاً من ذلك، يوصون باستخدامها على "مجموعة فرعية للمعايرة" للعثور على المعاملات الخطرة، ثم إصلاح تلك الأجزاء المحددة من النموذج.
الخاتمة
لا تدعي الورقة البحثية أنها حلت جميع المشكلات الرياضية في العالم، لكنها توفر كشافاً قوياً. تسمح أداة noisefloat للمطورين برؤية الشقوق غير المرئية في نماذج التعلم العميق الخاصة بهم. وهي تثبت أنه من خلال استخدام الحسابات العشوائية (stochastic)، يمكننا تلقائياً اكتشاف الأجزاء غير المستقرة عددياً في الشبكة العصبية. هذا أمر بالغ الأهمية لبناء ذكاء اصطناعي ليس سريعاً فحسب، بل موثوقاً وآمناً أيضاً، خاصة مع توجهنا نحو استخدام أجهزة أصغر وأسرع وأكثر كفاءة في استهلاك الطاقة في المستقبل. تشير الأداة إلى أنه مع إجراء الفحوصات الصحيحة، يمكننا بناء قلاع من قطع الرغوة تكون بقوة تلك المصنوعة من الحجر.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.