تدريب نموذج Vowpal Wabbit

توضح هذه المقالة كيفية استخدام مكون نموذج Train Vowpal Wabbit في مصمم Azure التعلم الآلي، لإنشاء نموذج تعلم آلي باستخدام Vowpal Wabbit.

لاستخدام Vowpal Wabbit للتعلم الآلي، قم بتنسيق مدخلاتك وفقا لمتطلبات Vowpal Wabbit، وقم بإعداد البيانات بالتنسيق المطلوب. استخدم هذا المكون لتحديد وسيطات سطر الأوامر Vowpal Wabbit.

عند تشغيل خط الأنابيب، يتم تحميل مثيل Vowpal Wabbit في وقت تشغيل التجربة، بالإضافة إلى البيانات المحددة. عند اكتمال التدريب، يتم تسلسل النموذج مرة أخرى إلى مساحة العمل. يمكنك استخدام النموذج على الفور لتسجيل البيانات.

لتدريب نموذج موجود بشكل تدريجي على بيانات جديدة، قم بتوصيل نموذج محفوظ بمنفذ إدخال نموذج Vowpal Wabbit المدرب مسبقا لنموذج Train Vowpal Wabbit، وأضف البيانات الجديدة إلى منفذ الإدخال الآخر.

ما هو فوبال وابيت؟

Vowpal Wabbit (VW) هو إطار عمل سريع ومتوازي للتعلم الآلي تم تطويره للحوسبة الموزعة بواسطة Yahoo! البحث. في وقت لاحق تم نقله إلى Windows وتكييفه من قبل جون لانغفورد (Microsoft Research) للحوسبة العلمية في معماريات متوازية.

تشمل ميزات Vowpal Wabbit المهمة للتعلم الآلي التعلم المستمر (التعلم عبر الإنترنت) ، والحد من الأبعاد ، والتعلم التفاعلي. Vowpal Wabbit هو أيضا حل للمشاكل عندما لا يمكنك احتواء بيانات النموذج في الذاكرة.

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

يتضمن مكون تجزئة الميزات أيضا الوظائف التي يوفرها Vowpal Wabbit ، والتي تتيح لك تحويل مجموعات البيانات النصية إلى ميزات ثنائية باستخدام خوارزمية التجزئة.

كيفية تكوين نموذج Vowpal Wabbit

يصف هذا القسم كيفية تدريب نموذج جديد، وكيفية إضافة بيانات جديدة إلى نموذج موجود.

على عكس المكونات الأخرى في المصمم ، يحدد هذا المكون معلمات المكون ، ويدرب النموذج. إذا كان لديك نموذج موجود، فيمكنك إضافته كإدخال اختياري، لتدريب النموذج بشكل تدريجي.

قم بإعداد بيانات الإدخال

لتدريب نموذج باستخدام هذا المكون، يجب أن تتكون مجموعة بيانات الإدخال من عمود نص واحد في أحد التنسيقين المدعومين: SVMLight أو VW. هذا لا يعني أن Vowpal Wabbit يحلل البيانات النصية فقط ، فقط أنه يجب إعداد الميزات والقيم بتنسيق الملف النصي المطلوب.

يمكن قراءة البيانات من نوعين من مجموعات البيانات أو مجموعة بيانات الملفات أو مجموعة البيانات الجدولية. يجب أن تكون كل من مجموعتي البيانات هاتين إما بتنسيق SVMLight أو VW. يتميز تنسيق بيانات Vowpal Wabbit بأنه لا يتطلب تنسيقا عموديا ، مما يوفر مساحة عند التعامل مع البيانات المتناثرة. لمزيد من المعلومات حول هذا التنسيق، راجع صفحة ويكي Vowpal Wabbit.

إنشاء نموذج Vowpal Wabbit وتدريبه

  1. أضف مكون نموذج قطار Vowpal Wabbit إلى تجربتك.

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

  3. في مربع النص وسيطات VW، اكتب وسيطات سطر الأوامر الخاصة ب Vowpal Wabbit القابل للتنفيذ.

    على سبيل المثال، يمكنك الإضافة –l لتحديد معدل التعلم، أو -b للإشارة إلى عدد بتات التجزئة.

    لمزيد من المعلومات، راجع قسم معلمات Vowpal Wabbit .

  4. اسم ملف بيانات التدريب: اكتب اسم الملف الذي يحتوي على بيانات الإدخال. يتم استخدام هذه الوسيطة فقط عندما تكون مجموعة بيانات التدريب دليلا.

  5. تحديد نوع الملف: حدد التنسيق الذي تستخدمه بيانات التدريب الخاصة بك. يدعم Vowpal Wabbit هذين التنسيقين لملفات الإدخال:

    • تمثل فولكس فاجن التنسيق الداخلي المستخدم من قبل Vowpal Wabbit . راجع صفحة ويكي Vowpal Wabbit للحصول على التفاصيل.
    • SVMLight هو تنسيق تستخدمه بعض أدوات التعلم الآلي الأخرى.
  6. إخراج ملف نموذج قابل للقراءة: حدد الخيار إذا كنت تريد أن يقوم المكون بحفظ النموذج القابل للقراءة في سجلات التشغيل. تتوافق هذه الوسيطة مع المعلمة --readable_model الموجودة في سطر أوامر VW.

  7. إخراج ملف التجزئة المقلوب: حدد الخيار إذا كنت تريد أن يقوم المكون بحفظ وظيفة التجزئة المقلوبة في ملف واحد في سجلات التشغيل. تتوافق هذه الوسيطة مع المعلمة --invert_hash الموجودة في سطر أوامر VW.

  8. إرسال المسار.

إعادة تدريب نموذج Vowpal Wabbit الحالي

يدعم Vowpal Wabbit التدريب التدريجي عن طريق إضافة بيانات جديدة إلى نموذج موجود. هناك طريقتان للحصول على نموذج موجود لإعادة التدريب:

  • استخدم مخرجات مكون آخر من مكونات نموذج Train Vowpal Wabbit في نفس خط الأنابيب.

  • حدد موقع نموذج محفوظ في فئة مجموعات البيانات في جزء التنقل الأيمن للمصمم، واسحبه إلى خط الأنابيب.

  1. أضف مكون نموذج قطار Vowpal Wabbit إلى خط الأنابيب الخاص بك.

  2. الاتصال النموذج المدرب مسبقا إلى منفذ إدخال نموذج Vowpal Wabbit المدرب مسبقا للمكون.

  3. الاتصال بيانات التدريب الجديدة إلى منفذ إدخال بيانات التدريب الخاص بالمكون.

  4. في جزء المعلمات من نموذج تدريب Vowpal Wabbit، حدد تنسيق بيانات التدريب الجديدة، وكذلك اسم ملف بيانات التدريب إذا كانت مجموعة بيانات الإدخال دليلا.

  5. حدد ملف نموذج الإخراج القابل للقراءة وخيارات ملف التجزئة المقلوب للإخراج إذا كانت الملفات المقابلة بحاجة إلى حفظ في سجلات التشغيل.

  6. إرسال المسار.

  7. حدد المكون وحدد تسجيل مجموعة البيانات ضمن علامة التبويب مخرجات+سجلات في الجزء الأيسر، للحفاظ على النموذج المحدث في مساحة عمل Azure التعلم الآلي. إذا لم تحدد اسما جديدا، فسيقوم النموذج المحدث بالكتابة فوق النموذج المحفوظ الحالي.

النتائج

ملاحظة

إذا كنت بحاجة إلى نشر النموذج المدرب في المصمم، فتأكد من أن نموذج Score Vowpal Wabbit بدلا من نموذج Score متصل بإدخال مكون إخراج خدمة الويب في خط أنابيب الاستدلال.

ملاحظات فنية

يحتوي هذا القسم على تفاصيل التنفيذ والنصائح والإجابات على الأسئلة المتداولة.

مزايا فوبال وابيت

يوفر Vowpal Wabbit تعلما سريعا للغاية عبر ميزات غير خطية مثل n-grams.

يستخدم Vowpal Wabbit تقنيات التعلم عبر الإنترنت مثل التدرج العشوائي (SGD) لتناسب نموذجا قياسيا واحدا في كل مرة. وبالتالي فإنه يتكرر بسرعة كبيرة على البيانات الخام ويمكنه تطوير مؤشر جيد بشكل أسرع من معظم النماذج الأخرى. يتجنب هذا النهج أيضا الاضطرار إلى قراءة جميع بيانات التدريب في الذاكرة.

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

المعلمات المدعومة وغير المدعومة

يصف هذا القسم دعم معلمات سطر الأوامر Vowpal Wabbit في مصمم Azure التعلم الآلي.

بشكل عام ، يتم دعم جميع الحجج باستثناء مجموعة محدودة. للحصول على قائمة كاملة بالوسيطات، استخدم صفحة ويكي Vowpal Wabbit.

المعلمات التالية غير مدعومة:

  • خيارات الإدخال/الإخراج المحددة في https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    يتم تكوين هذه الخصائص بالفعل تلقائيا بواسطة المكون.

  • بالإضافة إلى ذلك، لا يسمح بأي خيار يقوم بإنشاء مخرجات متعددة أو يأخذ مدخلات متعددة. وتشمل --cbtهذه ، و ، --ldaو --wap.

  • يتم دعم خوارزميات التعلم الخاضعة للإشراف فقط. لذلك ، لا يتم دعم هذه الخيارات: –active، --rank، --search إلخ.

القيود

نظرا لأن الهدف من الخدمة هو دعم المستخدمين ذوي الخبرة في Vowpal Wabbit ، يجب إعداد بيانات الإدخال في وقت مبكر باستخدام تنسيق النص الأصلي Vowpal Wabbit ، بدلا من تنسيق مجموعة البيانات المستخدم من قبل المكونات الأخرى.

الخطوات التالية

راجع مجموعة المكونات المتوفرة ل Azure التعلم الآلي.