ضبط المعلمات الفائقة

يتضمن Databricks Runtime for التعلم الآلي Hyperopt، وهي أداة مصدر مفتوح تعمل على أتمتة عملية تحديد النموذج وضبط المعلمات الفائقة.

ضبط المعلمة الفائقة مع Ray

يتضمن التعلم الآلي من Databricks Runtime Ray، وهو إطار عمل مفتوح المصدر متخصص في معالجة الحوسبة المتوازية لتوسيع نطاق مهام سير عمل التعلم الآلي وتطبيقات الذكاء الاصطناعي. راجع استخدام Ray على Azure Databricks.

ضبط المعلمة الفائقة باستخدام Hyperopt

يتضمن التعلم الآلي من Databricks Runtime Hyperopt، وهي مكتبة Python تسهل ضبط المعلمات الفائقة الموزعة واختيار النموذج. باستخدام Hyperopt، يمكنك مسح مجموعة من نماذج Python ضوئيا مع خوارزميات مختلفة ومقاييس فائقة عبر المسافات التي تحددها. يعمل Hyperopt مع كل من خوارزميات التعلم الآلي الموزعة مثل Apache Spark MLlib وHorovod، بالإضافة إلى نماذج التعلم الآلي من جهاز واحد مثل scikit-learn وTensorFlow.

الخطوات الأساسية عند استخدام Hyperopt هي:

  1. تعريف دالة موضوعية لتقليل. عادة ما يكون هذا هو فقدان التدريب أو التحقق من الصحة.
  2. تعريف مساحة البحث فوق المستوى. يوفر Hyperopt مساحة بحث شرطية، ما يتيح لك مقارنة خوارزميات التعلم الآلي المختلفة في نفس التشغيل.
  3. حدد خوارزمية البحث. يستخدم Hyperopt خوارزميات الضبط العشوائي التي تقوم بإجراء بحث أكثر كفاءة عن مساحة المعلمة الفائقة من البحث في الشبكة الحتمية.
  4. قم بتشغيل دالة fmin()Hyperopt . fmin() يأخذ العناصر التي حددتها في الخطوات السابقة ويحدد مجموعة المعلمات الفائقة التي تقلل من الدالة الموضوعية.

للبدء بسرعة في استخدام Hyperopt مع خوارزميات scikit-learn، راجع:

لمزيد من التفاصيل حول كيفية عمل Hyperopt، وللا للحصول على أمثلة إضافية، راجع:

تتبع MLflow التلقائي

إشعار

يتم إهمال وتعطيل تعقب MLflow التلقائي MLlib بشكل افتراضي على المجموعات التي تقوم بتشغيل Databricks Runtime 10.4 LTS ML وما فوق. بدلا من ذلك، استخدم التسجيل التلقائي MLflow PySpark ML عن طريق استدعاء mlflow.pyspark.ml.autolog()، والذي يتم تمكينه افتراضيا باستخدام Databricks Autologging.

لاستخدام تتبع MLflow التلقائي القديم MLlib في Databricks Runtime 10.4 LTS ML وما فوق، قم بتمكينه عن طريق تعيين تكويناتspark.databricks.mlflow.trackMLlib.enabled true Spark و spark.databricks.mlflow.autologging.enabled false.