دليل بدء مشروع جديد

يوضح هذا القسم كيفية اختيار ما يلي في بداية مشروع تعلُّم الآلة:

  • بنية النموذج
  • المُحسِّن
  • حجم الدفعة
  • الإعداد الأولي

الفرضيّات

تفترض النصيحة الواردة في هذا القسم ما يلي:

  • سبق لك صياغة المشكلة. وقمت بإعداد بيانات التدريب الخاصة بك إلى حد ما.
  • لقد قمت بالفعل بإعداد مسار تدريب واختبار.
  • سبق لك اختيار وتنفيذ مقاييس لتمثيل مما تخطط لقياسه في البيئة المنشورة.

بافتراض أنك استوفيت جميع المتطلبات الأساسية السابقة، فأنت الآن جاهز تخصيص وقت لبنية النموذج وتهيئته.

اختيار بنية النموذج

لنبدأ بالتعريفات التالية:

  • بنية النموذج هي نظام لإعداد التوقّعات. تحتوي بنية النموذج على إطار لتحويل بيانات الإدخال إلى التنبؤات، ولكنه لا يحتوي على المَعلمة. على سبيل المثال: شبكة عصبية مكونة من ثلاث طبقات مخفية مكونة من 10 عُقد و5 عُقد و3 عُقد، على التوالي، هي بنية النموذج.
  • النموذج عبارة عن بنية نموذج بالإضافة إلى قيم خاصة لجميع المعلَمات. فعلى سبيل المثال، يتكون أي نموذج من الشبكة العصبية الموضحة في تعريف بنية النموذج، إلى جانب القيم الخاصة الأوزان والتحيز لكل عقدة.
  • مجموعة النماذج هي نموذج لإنشاء بنية نموذجية باستخدام مجموعة من المعلَمات الفائقة.

يعني اختيار بنية النموذج حقًا اختيار مجموعة من خلفيات النماذج (نموذج لكل إعداد من مُدخلات النموذج الفائق).

عندما يكون ذلك ممكنًا، حاول العثور على قاعدة رموز موثقة تتناول شيئًا ما أقرب ما يمكن إلى المشكلة الحالية. ثم أعد إنتاج هذا النموذج على أنه نقطة بداية.

اختيار المحسِّن

ما مِن مُحسِّن هو "الأفضل" لجميع أنواع مشاكل التعلّم الآلي وبُنى النماذج. حتى مجرد مقارنة أداء مُحسِّنات الإحالات الناجحة أمرًا صعبًا. 🤖ننصح باستخدام أدوات تحسين جيدة وشهيرة خاصة عند بدء مشروع جديد.

ننصحك باختيار محسِّن الأداء الأكثر رواجًا لنوع المشكلة. التي تعمل عليها. ننصح باستخدام أدوات تحسين الأداء الراسخة التالية:

انتبِه إلى جميع وسيطات أداة التحسين التي تم اختيارها. وتتطلب أدوات تحسين الأداء التي لديها عدد أكبر من المعلمات الفائقة عادةً جهد ضبط أكبر. يكون هذا مؤلمًا بشكل خاص في المراحل الأولى من المشروع عندما فإنك تحاول إيجاد أفضل قيم لمختلف المعلمات الفائقة الأخرى (مثل معدّل التعلّم) مع التعامل مع وسيطات المحسِّن على أنها والمضايقات. ولذلك، ننصح باتّباع النهج التالي:

  1. اختر محسّنًا في بداية المشروع بدون الكثير من التعديلات المعاملات الفائقة. وفي ما يلي مثالان على ذلك:
    • دولار سنغافوري مع زخم ثابت.
    • "آدم" لديه إصدار ثابت من Epsilon والإصدار التجريبي رقم 1 والإصدار التجريبي 2.
  2. في المراحل اللاحقة من المشروع، انتقِل إلى مُحسِّن أكثر عمومية لضبط المزيد من المعلمات الفائقة بدلاً من إصلاحها إلى القيم الافتراضية.

اختيار حجم الدفعة

الملخّص: يحدّد حجم الدُفعة سرعة التدريب. لا أستخدم حجم الدفعة لضبط أداء مجموعة التحقق مباشرةً.

يحدِّد حجم المجموعة بشكل كبير وقت التدريب وموارد الحوسبة. استهلاكنا. غالبًا ما تؤدي زيادة حجم الدفعة إلى تقليل وقت التدريب، الذي:

  • ضبط المعلَمات الفائقة الحجم بشكل أكثر شمولية خلال فترة زمنية ثابتة الزمنية، مما قد ينتج عنه نموذج نهائي أفضل.
  • تقليل زمن الانتقال في دورة التطوير، مما يسمح بوضع الأفكار الجديدة اختباره بشكل متكرر.

يمكن أن تؤدي زيادة حجم الدفعة إلى تقليل استهلاك الموارد أو زيادته، أو ترك استهلاك الموارد بدون تغيير.

لا تتعامل مع حجم الدفعة على أنه معلَمة فائقة قابلة للتعديل للتحقّق من الصحة ضبط الأداء. إذا كانت جميع تم استيفاء الشروط التالية، يجب ألا يعتمد أداء النموذج على حجم الدفعة:

  • تمّ ضبط جميع مُدخلات المحسِّن الفائقة بطريقة جيدة.
  • إنّ عملية التسوية تكون كافية ويتم تعديلها بشكلٍ جيد.
  • عدد خطوات التدريب كافٍ.

يجب أن يكون الأداء النهائي نفسه قابلاً للتحقيق باستخدام أي حجم دفعة (يمكنك الاطّلاع على تقرير Shallue et al. 2018) و أسباب عدم ضبط حجم الدُفعة لتحسينها مباشرةً أداء مجموعة التحقّق من الصحة؟)

تحديد أحجام الدُفعات المجدية وتقدير سرعة أداء التدريب

بالنسبة إلى طراز معيّن ومُحسِّن معيّن، عادةً ما تدعم الأجهزة المتوفرة مجموعة من أحجام الدفعات يكون العامل المقيد عادةً ذاكرة مسرِّعة الأعمال. ولكن للأسف، قد يكون من الصعب حساب تناسب أحجام الدفعات في الذاكرة دون تشغيل، أو على الأقل تجميع، التدريب الكامل. عادةً ما يكون الحل الأسهل هو تشغيل وظائف التدريب بأحجام مختلفة للدُفعات (على سبيل المثال، زيادة القوى 2) لبطاقة صغيرة عدد الخطوات إلى أن تتجاوز إحدى المهام الذاكرة المتاحة. بالنسبة لكل حجم دفعة، تدرب لمدة طويلة بما يكفي للحصول على تقدير موثوق به سرعة أداء التدريب:

سرعة معالجة بيانات التدريب = عدد الأمثلة التي تمت معالجتها في الثانية

أو ما يعادل ذلك الوقت لكل خطوة:

الوقت لكل خطوة = حجم الدفعة / سرعة معالجة التدريب

إذا لم يتم تشبع المسرّعات حتى الآن، إذا تضاعف حجم الدفعة يجب أن تتضاعف سرعة معالجة التدريب (أو على الأقل مضاعفة). بشكل متساوٍ، يجب أن يكون الوقت لكل خطوة ثابتًا (أو على الأقل تقريبًا ثابت) مع زيادة حجم الدفعة. إذا لم يكن الأمر كذلك، هناك عوائق أمام مسار التدريب، مثل وحدات الإدخال والإخراج أو المزامنة بين عُقد الحوسبة. التفكير في تشخيص المعوقات وتصحيحها قبل المتابعة.

إذا زادت سرعة معالجة بيانات التدريب إلى حد أقصى لحجم الدُفعة، فعندئذٍ يجب فقط مراعاة أحجام الدُفعات وصولاً إلى الحد الأقصى لحجم الدفعة، حتى يدعم الجهاز حجم دفعة أكبر. تفترض جميع مزايا استخدام حجم مجموعة أكبر أن سرعة المعالجة تزيد. وإذا لم يحدث ذلك، قم بإصلاح العقبات أو استخدم حجم الدُفعة الأصغر.

يحاكي التراكم المتدرج حجم دفعة أكبر من حجم الأجهزة. دعمًا خاصًا، ومن ثم لا يقدم أي فوائد في معالجة البيانات. عليك بشكل عام تجنب تراكم التدرجات في العمل التطبيقي.

قد تحتاج إلى تكرار هذه الخطوات في كل مرة تغير فيها النموذج أو المُحسِّن. على سبيل المثال، قد تسمح بنية نموذج مختلفة حجم أكبر دفعة واحدة ليناسب الذاكرة.

اختيار حجم الدُفعة لتقليل وقت التدريب

في ما يلي تعريفنا لوقت التدريب:

  • وقت التدريب = (الوقت لكل خطوة) x (إجمالي عدد الخطوات)

يمكنك غالبًا اعتبار الوقت لكل خطوة ثابتًا تقريبًا. لجميع أحجام الدفعات الممكنة. ينطبق ذلك في الحالات التالية:

  • ليس هناك أعباء عامة من عمليات الحساب المتوازية.
  • تم تشخيص جميع معوقات التدريب وتصحيحها. (اطّلِع على القسم السابق لمعرفة كيفية تحديد معوقات التدريب. من الناحية العملية، عادة ما يكون هناك بعض النفقات العامة الناتجة عن زيادة حجم الدفعة.

فمع ازدياد حجم الدفعة، يصبح إجمالي عدد الخطوات اللازمة للوصول إلى وعادةً ما ينخفض هدف الأداء الثابت، بشرط أن تعيد ضبط جميع المُدخلات الفائقة ذات الصلة عند تغيير حجم الدفعة. (راجع Shallue et al. 2018.) على سبيل المثال، قد يؤدي مضاعفة حجم الدُفعة إلى خفض إجمالي عدد الخطوات المطلوبة. تُسمى هذه العلاقة بالتحجيم الكامل ويجب أن الاحتفاظ بجميع أحجام الدفعات حتى حجم الدفعة المهم.

بالإضافة إلى حجم الدفعة المهم، ينتج عن زيادة حجم الدفعة والتناقصات. وهذا يعني زيادة حجم الدفعة في النهاية لم يعد يقلل عدد خطوات التدريب ولكنه لا يزيده أبدًا. وبالتالي، فإن حجم الدفعة الذي يقلل من وقت التدريب هو عادةً أكبر حجم للدُفعة لا يزال يقلل من عدد خطوات التدريب مطلوبة. ويعتمد حجم الدفعة هذا على مجموعة البيانات والنموذج والمحسّن، ولكنها تمثّل مشكلة في كيفية حسابها بخلاف وإيجاده بشكل تجريبي لكل مشكلة جديدة. 🤖

عند مقارنة أحجام الدُفعات، يجب التنبّه للاختلاف بين ما يلي:

  • مثال على الميزانية أو ميزانية الفترة - إجراء كل التجارب أثناء وإصلاح عدد العروض التقديمية لأمثلة التدريب.
  • ميزانية خطوة - إجراء جميع التجارب بعدد ثابت من خطوات التدريب.

إن مقارنة أحجام الدُفعات بميزانية تعود إلى تلك الحقبة مكتشفة أفضل نظام التوسعة، حتى عندما تستمر أحجام الدُفعات الكبيرة في توفير ذات مغزى من خلال تقليل عدد خطوات التدريب المطلوبة. غالبًا ما يكون حجم الدفعة الأكبر الذي تدعمه الأجهزة المتاحة أصغر من حجم الدفعة الحرج. وبالتالي، لا شك في أن القاعدة الجيدة الأساسية (بدون تشغيل أي تجارب) هي استخدام أكبر دفعة الحجم ممكن.لا جدوى من استخدام حجم دفعة أكبر إذا كان ينتهي زيادة وقت التدريب.

اختيار حجم الدفعة لتقليل استهلاك الموارد

هناك نوعان من تكاليف الموارد المرتبطة بزيادة حجم الدفعة:

  • التكاليف الأولية: على سبيل المثال، يمكن عند شراء أجهزة جديدة أو إعادة كتابة التدريب على تنفيذ تدريب وحدات معالجة رسومات متعددة / وحدات معالجة الموتّرات المتعددة.
  • تكاليف الاستخدام: على سبيل المثال، الفوترة مقابل ميزانيات موارد الفريق، الفواتير من مزود الخدمة السحابية، وتكاليف الكهرباء / الصيانة.

إذا كانت هناك تكاليف كبيرة مسبقة لزيادة حجم الدفعة، فقد يكون من الأفضل تأجيل زيادة حجم الدفعة حتى ينتهي المشروع أصبح من الأسهل تقييم مقايضة التكلفة والفائدة. يمكن أن يوفر تنفيذ برامج التدريب المتوازية المتعددة المضيفين الأخطاء مشاكل بسيطة لذلك من الأفضل أن تبدأ مع العملية على أي حال. من ناحية أخرى، يمكن تسريع وقت التدريب مفيدة جدًا في وقت مبكر من العملية عندما يتطلب الكثير من للتجارب.

ونشير إلى تكلفة الاستخدام الإجمالية (والتي قد تشمل أسعارًا متعددة أنواع التكاليف) مثل استهلاك الموارد، وتُحسب على النحو التالي:

استهلاك الموارد = استهلاك الموارد لكل خطوة x إجمالي عدد الخطوات

تؤدي زيادة حجم الدفعة عادةً إلى تقليل إجمالي عدد الخطوات. يعتمد ما إذا كان استهلاك الموارد أو ينخفض أم لا على كيفية تغيّر الاستهلاك لكل خطوة، والذي يعتمد على حجم الدفعة على النحو التالي:

  • قد تؤدي زيادة حجم الدفعة إلى تقليل استهلاك الموارد. على سبيل المثال، إذا كان من الممكن تنفيذ كل خطوة بحجم دُفعة أكبر على نفس الجهاز مثل حجم الدفعة الأصغر (مع حجم صغير في الوقت لكل خطوة)، فإن أي زيادة في المورد والاستهلاك لكل خطوة من خلال انخفاض وعدد الخطوات.
  • قد لا تؤدي زيادة حجم الدُفعة إلى تغيير استهلاك الموارد. على سبيل المثال، في حال مضاعفة حجم الدُفعة إلى النصف، يتم خفض عدد الخطوات المطلوب كما يضاعف عدد وحدات معالجة الرسومات المستخدمة، وإجمالي (من حيث ساعات وحدة معالجة الرسومات) لن يتغير.
  • وقد تؤدي زيادة حجم الدفعة إلى زيادة استهلاك الموارد. على سبيل المثال، إذا كانت زيادة حجم الدفعة تتطلب أجهزة تمت ترقيتها، فقد تفوق الزيادة في الاستهلاك لكل خطوة انخفاض عدد الخطوات.

يتطلب تغيير حجم الدفعة إعادة ضبط معظم المعلمات الفائقة

وتكون القيم المثلى لمعظم المعلَمات الفائقة حساسة لحجم الدفعة. لذلك، عادةً ما يتطلب تغيير حجم الدفعة بدء الضبط العملية مرة أخرى. يشير ذلك المصطلح إلى المعلَمات الفائقة التي تتفاعل معها بشكلٍ قوي. مع حجم الدفعة، وبالتالي من المهم ضبطها بشكل منفصل لكل حجم دفعة على النحو التالي:

  • المعلَمات الفائقة للمُحسِّن (مثل معدّل التعلُّم والزخم)
  • مُدخلات الضبط الفائقة

لاحظ ذلك عند اختيار حجم الدفعة في بداية المشروع. إذا كنت بحاجة إلى التبديل إلى حجم دفعة مختلف في وقت لاحق، فقد يكون إعادة ضبط المعلمات الفائقة الأخرى لحجم الدفعة الجديد.

كيفية تفاعل قاعدة الدفعة مع حجم الدفعة

قاعدة الدفعة معقدة، ويجب أن تستخدم بشكل عام دفعة مختلفة الحجم مقارنة بحساب التدرج لحساب الإحصائيات. عرض تنفيذ التسوية المجمّعة التفاصيل لإجراء مناقشة تفصيلية.

اختيار الإعداد الأولي

تتمثل المرحلة الأولى في ضبط المعلَمة الفائقة في تحديد نقاط البداية لما يلي:

  • إعدادات النموذج (مثل عدد الطبقات)
  • المعلَمات الفائقة للمُحسِّن (مثل معدّل التعلُّم)
  • عدد خطوات التطبيق

يتطلب تحديد هذه التهيئة الأولية بعضًا يدويًا عمليات التدريب المهيأة والتجربة والخطأ.

في ما يلي مبدأنا التوجيهي:

البحث عن استهلاك بسيط وسريع نسبيًا واستهلاك منخفض نسبيًا للموارد تحقّق أداءً معقولاً.

حيث:

  • تعني كلمة بسيط تجنب ميزات المسار غير الضرورية، مثل الخصائص الخاصة أو الحيل المعمارية. على سبيل المثال، يمكن للخط الأنابيب بدون تقطُّع التسوية (أو مع إيقاف تسوية الإسقاط) أبسط من واحد له تسوية الإسقاط.
  • يعتمد الأداء المعقول على المشكلة، ولكن على الأقل، أداء النموذج المعقول المدرَّب أفضل بكثير من الاحتمال العشوائي في مجموعة التحقق من الصحة.

اختيار تهيئة أولية سريعة وتستهلك الحد الأدنى من المتطلبات على جعل ضبط المعلمات الفائقة أكثر كفاءة. على سبيل المثال، ابدأ بنموذج أصغر.

يتضمن اختيار عدد خطوات التدريب موازنة التوتر التالي:

  • يمكن أن يؤدي التدريب على مزيد من الخطوات إلى تحسين الأداء وتبسيط المعلمة الفائقة التوليف. (لمزيد من التفاصيل، راجع Shallue et al. 2018).
  • وفي المقابل، يعني التدريب على خطوات أقل أن كل تمرين أسرع وتستخدم موارد أقل، مما يعزز كفاءة التوليف عن طريق تقليل الوقت بين الدورات والسماح لك بإجراء المزيد من التجارب بالتوازي. علاوة على ذلك، إذا اخترت ميزانية خطوة كبيرة غير ضرورية في بداية المشروع، فقد يكون من الصعب تغييره لاحقًا في المشروع؛ على سبيل المثال، بمجرد ضبط الجدول الزمني لمعدل التعلم لهذا العدد من الخطوات.