مقارنة بين آلات التعلم السحابيّة (الجزء الأول)
المعلوماتية >>>> الحوسبة السحابية
ليس من الضّروري أن تُحلّ جميع مسائل تعلُّم الآلة من الصّفر، بل يمكن في بعض هذه المسائل التّدريب على عيّناتٍ كبيرةٍ بشكلٍ كافٍ لتكون قابلةً للتّطبيق على نطاقٍ أوسع، ومن التّطبيقات على ذلك: تحويلُ الكلام إلى نصّ، والنّصّ إلى كلام، وتحليل النّصوص، والتّعرف على الوجوه. بالطّبع تُقدّم مجموعةٌ من مزوّدي سحب تعلّم الآلة هذه الإمكانيّات من خلال واجهاتها البرمجيّة “API” متيحةً بذلك للمطوّرين إمكانيّة دمجَها في تطبيقاتهم.
بإمكان هذه الخدمات التّعرف على الكلام المنطوق باللّغة الإنكليزيّة الأمريكية (إضافةً إلى بعض اللّغات الأُخرى) وتدوينها. ولكن يعتمد عمل هذه الخدمات بالجودة المطلوبة على لهجة ولكنَة المتحدّث ومدى تدرّب هذه الخدمة على لهجاتٍ ولكناتٍ مشابهة. توفّر كل من مايكروسوفت آجور “Microsoft Azure” وأي بي إم “IBM” وغوغل “Google” وهافين أون ديموند “Haven onDemond” خدمات تحويل الكلام إلى نصّ.
توجد أنواعٌ عديدة من مسائل تعلّم الآلة، على سبيل المثال: مسائل التّراجع (Regression) الّتي تقوم بمحاولة التّنبؤ بمتغيراتٍ مُستمرّة (كالمبيعات) باستخدام مشاهدات أخرى، إضافةً إلى مسائل التّصنيف الّتي تحاول التّنبؤ بالتّصنيف اعتماداً على مجموعةٍ معطاةٍ من المشاهدات (المقولات، الرّسائل المُخادعة). وتوفّر كلٌّ من آمازون “Amazon” ومايكروسوفت “Microsoft” وديتابريكس “Databricks” وغوغل “Google” وإتش بي إي “HPE” وأي بي إم “IBM” أدواتٍ لحلِّ مجموعةٍ من مسائل "تعلّم الآلة" أكثر جاهزيّة من غيرها.
سيتم الحديث في هذا المقال بإيجاز عن ثلاث حُلول تجاريّة لتعلّم الآلة، على أن نستعرض ثلاث حلول أخرى في مقال آخر.
تعلّم آلة أمازون “Amazon Machine Learning”
Image: https://blog.xamarin.com/
حاولت أمازون وضع "تعلّم الآلة" الخاّصة بها في متناول أيدي الجميع. حيث أُعدّت للعمل من أجل المحللين القادرين على استيعاب المسائل التّجاريّة الّتي يتمّ حلّها، سواءً كانوا على معرفةٍ بعلم البيانات وخوارزميّات "تعلّم الآلة" أو لم يكونوا.
بالإمكان البدّء مع "أمازون تعلّم الآلة" من خلال تنظيف وتحميل بياناتك بصيغة CSV على Amazon S3 (Simple Storage Service) (وهي عبارة عن خدمة ويب لتخزين الملفات على الانترنت مقدمة من آمازون)، ثمّ إنشاء وتدريب وتقييم نموذج "تعلّم آلة". وفي النّهاية إنشاء تنبؤ لمرة واحدة أو في الزّمن الحقيقي. إنّ جميع الخطوات تسبب الملل والضّجر، حيث أنّ آلة التّعلّم ليست عبارة عن وصفة سحريّة يتمّ تحضيرها، حتّى مع ترك اختيار الخوارزميّة لأمازون.
تدعم "أمازون تعلّم الآلة" ثلاث أنواعٍ من النّماذج (التّصنيف الثُّنائيّ، التّصنيف المتعدّد، التّراجع) ولكل نوع خوارزميّةٌ وحيدةٌ. تستخدم "أمازون تعلّم الآلة" لتحسين الأداء خوارزميّة Stochastic Gradient Descent (SGD) الّتي تقوم بالمرور التّسلسلي عدة مراتٍ على بيانات التّدريب وتحديث وزن الميّزات لكل عيّنةٍ صغيرة في محاولةٍ للتّقليل من قيمة تابع الخسارة. يعطي تابع الخسارة الفرق بين القيمة الفعليّة والقيمة المُتنبأ بها. يعمل تحسين Gradient descent بشكلٍ جيد مع توابع الخسارة التّفاضليّة المستمرة فقط، كتوابع الخسارة المنطقيّة والتّربيعيّة.
من أجل التّصنيف الثنائيّ، تستخدم "أمازون تعلّم الآلة" التّراجع اللّوجستي “logistic regression “ (تابع الخسارة اللّوجستي إضافةً لـSGD).
من أجل التّصنيف المتعدّد، تستخدم "أمازون تعلّم الآلة" التّراجع اللّوجستي متعدّد الحدود (تابع الخسارة اللّوجستي متعدّد الحدود إضافةً لـ SGD).
من أجل التّراجع، تستخدم "أمازون تعلّم الآلة" التّراجع الخطيّ (تابع الخسارة التّربيعيّ إضافةً لـ SGD).
تُحدّد "أمازون تعلّم الآلة" أنواع مهمات تعلّم الآلة المحلولة وفقاً لنوع البيانات المعنيّة. على سبيل المثال، مسائل التّنبؤ مع متغيرات عدديّة تقتضي ضمنيّاً التّراجع، مسائل التّنبؤ الّتي لا يوجد فيها متغيراتٍ عدديّةٍ هي عبارةٌ عن تصنيف ثنائيّ في حال وجود حالتين مستهدفتين فقط، وتصنيف متعدّد في حال وجود أكثر من ذلك.
توجد العديد من ميّزات "آمازون تعلّم الآلة" ضمن طرق إعداد جاهزة. عندما يتمّ حساب الإحصاء الوصفيّ لمصدر البيانات، سوف تُنشئ أمازون طريقة إعداد افتراضيّة، يمكنك استخدامها أو تعديلها في نماذج تعلّم الآلة الخاصة بك على تلك البيانات.
ما إن يتمّ الحصول على نموذج يوافق متطلبات التّقييم، بالإمكان استخدامها لإعداد خدمة ويب للتّنبؤ في الزّمن الحقيقيّ أو إنشاء دفعة من التّنبؤات. ولكن لنضع في اعتبارنا أنّ هذا ليس مشابهاً للثّوابت الفيزيائيّة، فتصرفات النّاس تتفاوت مع الزّمن، وبالتّالي سوف تكون بحاجة للتّحقق من مقياس دقة التّنبؤ النّاشئ من نموذجكَ بشكل دوريٍّ وإعادة تشكيله في حال تطلّب الأمر ذلك.
تعلّم آلة آجور “Azure Machine Learning”
Image: http://www.codeisahighway.com/
على خلاف أمازون، تُحاول مايكروسوفت تقديم مجموعةٍ متنوعةٍ من الخوارزميّات والأدوات لعلماء البيانات ذوي الخبرة، حيث تُعتبر "آجور تعلّم الآلة" جزء من “Microsoft Cortana Analytics Suite”، إضافةً إلى ذلك، تُقدّم "آجور تعلّم الآلة" واجهة سحب وافلات (drag-and-drop) من أجل تصميم نموذج التّدريب وتقييم تدفق البيانات عبر النّماذج.
يتضمّن مُشغل "آجور تعلّم الآلة" وسائل لإضافة مجموعة بيانات وتدريب ونشر نماذج تجريبيّة ومعالجة البيانات ضمن جوبيتر نوتبوكس “Jupyter Notebooks” وحفظ النّماذج المُدرّبة. يتضمن مُشغّل تعلّم الآلة عشرات العيّنات من مجموعات البيانات، وخمس مُحوّلاتٍ لتنسيق البيانات، والعديد من الطُّرق لقراءة وكتابة البيانات، وعشراتٍ من تحويلات البيانات، وثلاث خيارات لتحديد الميّزات. سوف تجد في "آجور تعلّم الآلة" مجموعة متعددة من النّماذج الّتي تقوم بكشف الشّذوذ والتّصنيف والعَنْقَدة والتّراجع؛ أربعُ طرقٍ لتسجيل النّموذج؛ وثلاث استراتجيّات لتقييم النّماذج؛ وستُ طرق لتدريب النّماذج. يمكن أيضاً استخدام مجموعة من نماذج OpenCV (Open Source Computer Vision) والتّوابع الإحصائيّة وتحليلات النّصوص.
يوجد العديد من الأدوات، الّتي تُعَدُّ من النّاحيّة النّظريّة كافيةً لمعالجة أيِّ نوعٍ من البيانات لأي نوعٍ من النّماذج. طالما بمقدورك فهم العمل والبيانات والنّماذج. وعندما لا تحقق نماذج مشغل "آجور تعلّم الآلة" المُضمّنة ما تتطلع إليه، فإنّها تتيح لك تطوير نماذج بلغة “Python” أو بلغة “R”.
بالإمكان تطويرُ واختبار نماذج لغات “Python 2”و “Python 3” باستخدام “Jupyter Notebooks”، الموسّعة مع مكتبة “ Azure Machine Learning Python” (لتعمل مع بياناتك المخزّنة على آجور)، و “ scikit-learn”،و “matplotlib”، و “NumPy”.
بالإضافة إلى ذلك أيضاً سوف تدعم “Azure Jupyter Notebooks” لغة R. وحاليّاً يُمكن استخدام RStudio بشكل محليّ على منصة التعلّم وتغييرِ المُدخلات والمخرجات لـ"آجور" لاحقاً في حال الحاجة إلى ذلك، أو تنصيب RStudio على “Microsoft Data Science VM”.
عندما يتمّ إنشاء تجربة جديدة ضمن مشغل "آجور تعلم الآلة" ، بالإمكان البدء من الصّفر أو اختيار واحدٍ من 70 مثال من مايكروسوفت والّتي تغطي معظم النّماذج الشّائعة، بالإضافة إلى محتوىً تشاركيٍّ إضافيٍّ ضمن معرض كورتانا.
تبدأ عمليّة تحليل كورتانا “Cortana Analytics Process (CAP)” ببعض التّخطيط وإنشاء الخطوات، والّتي هي على جانبٍ كبير من الأهميّة، إلّا في حال كنت عالم بيانات متدرّب ولديه خبرة سابقة مع المسائل التّجارية، والبيانات، و"آجور تعلّم الآلة" ، وقد قمت سابقاً بإنشاءِ بيئة CAP.
يمكنُ لبيئات CAP أن تتضمّن حساب تخزين "آجور" و Microsoft Data Science VM ، و HDInsight (Hadoop) ومساحة عمل تعلّم الآلة مع مشغّل "آجور تعلّم الآلة". في حال كانت الخيارات مُربكة بالنّسبة لك، فإنّ وثائق مايكروسوفت سوف تساعدك على اختيار مايناسبك منها. تُتابع “CAP” مع خمس خطواتِ معالجةٍ: إدراك، تحليل تمهيديّ للبيانات مع معالجة مُسبقة، وإنشاء الميّزات، وإنشاء النّموذج، وتصدير واستخدام النّموذج.
أصدرت مايكروسوف مؤخراً مجموعة من الخدمات المعرفيّة والّتي كانت خرجت من مشروع أوكسفورد “Project Oxford” إلى إصدار المعاينة لـ"آجور". وهي مُدرّبة مسبقاً للتّحدث، وتحليل النّصّ، والتّعرُّف على الوجوه، والتّعرُّف على المشاعر، وغيرها من القدرات المُشابهة. وبالتّالي أتمّت ما يمكنُ القيام به لتدريب النّماذج الخاصة بالمستخدم.
داتابريكس "Databricks"
Image: http://www.sequoiadb.com/en/
"داتابريكس" خدمةٌ سحابيّةٌ تجاريّةٌ مبنيّةٌ على “Apache Spark”، وهي بيئةُ حَوسبةٍ مجمّعةٌ مفتوحةُ المصدر تتضمّن مكتبةً لتعلّم الآلة، ومدير تجميع، وأدوات ”Jupyter” تفاعليّة كالملاحظات، وألواح التّحكم، والمهام المُجَدْوَلة. تمَّ تمويل شركة "داتابريكس" من قِبل الأشخاص الّذين أسّسوا “Spark”، ومع خدمة "داتابريكس" يُمكن بقليل من الجهد تطوير وتوسيع عناقيد Spark.
تتضمّن مكتبة MLlib مجموعةً متنوعة من خوارزميّات الإحصاء وتعلّم الآلة، جميعها مصمَّمة لبنية “Spark” الّتي تعتمد على الذّاكرة الموزّعة. توفِّر MLlip مقارنةً بغيرها، إحصاءات موجزة، ربط العلاقات المتبادلة، أخذ العيّنات، اختبار الفرضيّات، والتّصنيف والتّراجع، والتّصفية التّعاونية collaborative filtering، والتّحليل التّجميعيّ، وتصغير الأبعاد، وميّزة توابع الاستخراج والتّحويل، وخوارزميّات التّحسين والأمثلة. بعبارة أخرى، تشكل المكتبة حزمة متكاملة إلى حدٍ ما لعلماء البيانات ذوي الخبرة.
صممت داتابريكس لتكون منصة علم بياناتٍ سهلةَ الاستخدام إلى حدٍ ما لدى الأشخاص الملمّين بالإحصاء ويستطيعون على الأقلّ القيام ببعض العمليّات البرمجيّة. لاستخدام المنصة بشكلٍ فعّال، يجب عليك أن تكونَ على معرفة قليلة بلغة “SQL” بالإضافة إلى لغة “Scala” أو “R” أو “Python”، ومن المُستحسن أن تكون على خبرةٍ واسعة في اللّغة البرمجيّة الّتي سوف تستخدمها، لكي تُبقي تركيزُك على تعلّم “Spark” عندما تبدأ باستخدام “Databricks notebook“ الّتي تعملُ على نسخة الملكيّة المُشتركة المجانيّة من “Databricks”.
استعرضنا في هذاالمقال ثلاث أدواتٍ لتعلّم الآلة، وسوف نستعرض في الجزء الثّاني منه ثلاثَ أدواتٍ أخرى هي غوغل “Google” وإتش بي إي “HPE” وأي بي إم “IBM”.
-------------------------------------------------------------------
المصادر:
هنا
هنا
هنا
هنا