15 إطار عمل للتعلم الآلي مفتوح المصدر وغير المعروف يستحق الاكتشاف في 2020

دقائق القراءة: 10

يُعد التعلم الآلي (Machine Learning - ML) من أسرع التقنيات نموًا وتطورًا في عصرنا الحالي. يشهد تطبيق التعلم الآلي في مختلف مجالات الحوسبة انتشارًا واسعًا وسريعًا، ولا يقتصر هذا النمو على توافر الأجهزة القوية وبتكلفة معقولة فحسب، بل يمتد ليشمل التزايد المستمر في أُطر عمل التعلم الآلي مفتوحة المصدر والمجانية. هذه الأُطر تُمكّن المطورين من تنفيذ حلول التعلم الآلي بسهولة وفعالية.

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

  • سهولة الاستخدام.
  • الدعم المجتمعي الواسع.
  • سرعات التشغيل والأداء.
  • درجة الانفتاح والمرونة.

لمن هذا المقال؟ يستهدف هذا المقال كل من يرغب في تطبيق المعرفة النظرية للتعلم الآلي عمليًا، وكذلك المهتمين باستكشاف أُطر عمل مفتوحة المصدر جديدة ومحتملة لمشاريعهم المستقبلية في مجال التعلم الآلي. فيما يلي قائمة بأُطر العمل والمكتبات مفتوحة المصدر وغير المعروفة نسبيًا، والتي يمكن للشركات والأفراد الاستفادة منها لبناء أنظمة تعلم آلي متطورة.

1. Blocks

Blocks هو إطار عمل يسهل عليك بناء نماذج الشبكات العصبية بالاعتماد على مكتبة Theano. يدعم الإطار حاليًا ويوفر إمكانية إنشاء عمليات Theano مُحددة بمعاملات تُسمى “bricks“، بالإضافة إلى مطابقة الأنماط لاختيار المتغيرات وbricks في النماذج الكبيرة، وتوفير خوارزميات لتحسين نموذجك، وحفظ واستئناف عمليات التدريب. يمكنك أيضًا التعرف على Fuel، وهو محرك معالجة البيانات الذي طُوّر بشكل أساسي لـ Blocks.

2. Analytics Zoo

شعار Analytics Zoo يجمع بين أدوات الذكاء الاصطناعي وتحليل البيانات

يوفر Analytics Zoo منصة موحدة لتحليل البيانات والذكاء الاصطناعي، تجمع بسلاسة بين برامج TensorFlow وKeras وPyTorch وSpark وFlink وRay في مسار عمل متكامل. يمكن لهذه المنصة التوسع بشفافية من جهاز حاسوب محمول إلى مجموعات خوادم كبيرة لمعالجة البيانات الضخمة في بيئات الإنتاج.

متى يجب عليك استخدام Analytics Zoo لتطوير حلول الذكاء الاصطناعي الخاصة بك؟

  • إذا كنت ترغب في بناء نماذج ذكاء اصطناعي أولية (prototype) بسهولة.
  • عندما تكون قابلية التوسع (scaling) أمرًا بالغ الأهمية بالنسبة لك.
  • عندما ترغب في إضافة عمليات أتمتة إلى مسار التعلم الآلي الخاص بك، مثل هندسة الميزات (feature engineering) واختيار النموذج (model selection).

يتم صيانة هذا المشروع بواسطة Intel-analytics.

3. Ml5.js

شعار Ml5.js، مكتبة تعلم آلي لمتصفحات الويب

يهدف Ml5.js إلى جعل التعلم الآلي متاحًا لجمهور واسع يشمل الفنانين، المبرمجين المبدعين، والطلاب. توفر المكتبة وصولاً إلى خوارزميات ونماذج التعلم الآلي مباشرة في المتصفح، معتمدة على TensorFlow.js. استلهمت ml5.js من Processing وp5.js. يتم تطوير وصيانة هذا المشروع مفتوح المصدر بواسطة برنامج الاتصالات التفاعلية/الفنون الإعلامية التفاعلية بجامعة نيويورك، وبواسطة فنانين ومصممين وطلاب وتقنيين ومطورين من جميع أنحاء العالم. ملاحظة: هذا المشروع لا يزال قيد التطوير حاليًا.

4. AdaNet

شعار AdaNet، إطار عمل للتعلم الآلي يعتمد على TensorFlow

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

يوفر AdaNet واجهة برمجة تطبيقات (API) مألوفة تشبه Keras للتدريب، التقييم، ونشر نماذجك في بيئات الإنتاج.

5. Mljar

إذا كنت تبحث عن منصة لإنشاء نماذج أولية وخدمة نشر، فإن Mljar هو الخيار الأمثل لك. يميل Mljar إلى البحث في خوارزميات مختلفة وإجراء ضبط للمعاملات الفائقة (hyper-parameters tuning) للعثور على أفضل نموذج. كما يوفر نتائج سريعة عن طريق تشغيل جميع العمليات الحسابية في السحابة، وفي النهاية يقوم بإنشاء نماذج مجمعة (ensemble models). بعد ذلك، يقوم بإنشاء تقارير بتنسيق Markdown من تدريب AutoML.

تقرير Markdown يوضح ملخص تدريب AutoML بواسطة Mljar

يمكن لـ Mljar تدريب نماذج التعلم الآلي لـ:

  • التصنيف الثنائي (binary classification).
  • التصنيف متعدد الفئات (multi-class classification).
  • الانحدار (regression).

يوفر Mljar نوعين من الواجهات:

  • غلاف Python فوق واجهة برمجة تطبيقات Mljar API.
  • تشغيل نماذج التعلم الآلي في متصفح الويب الخاص بك.

6. ConvNetJS

شعار ConvNetJS، مكتبة جافاسكريبت للتعلم العميق

التعلم العميق في Javascript. تدريب الشبكات العصبية التلافيفية (Convolutional Neural Networks) أو الشبكات العادية مباشرة في متصفحك. على غرار Tensorflow.js، تُعد ConvNetJS مكتبة JavaScript تدعم تدريب نماذج التعلم العميق المختلفة في متصفح الويب الخاص بك. لا تحتاج إلى وحدات معالجة رسوميات (GPUs) أو برامج ثقيلة أخرى.

تدعم ConvNetJS ما يلي:

  • وحدات الشبكات العصبية (Neural Network modules).
  • تدريب الشبكات التلافيفية للصور (Convolutional Networks for images).
  • دوال التكلفة للانحدار والتصنيف (Regression and Classification cost functions).
  • وحدة التعلم المعزز (Reinforcement Learning module)، استنادًا إلى تعلم Deep Q Learning.

ملاحظة: لا يتم صيانة هذا المشروع بنشاط.

7. NNI (Neural Network Intelligence)

شعار NNI، أداة ذكاء الشبكات العصبية من مايكروسوفت

NNI (Neural Network Intelligence) هي مجموعة أدوات خفيفة الوزن لكنها قوية لمساعدة المستخدمين على أتمتة هندسة الميزات (Feature Engineering)، البحث عن بنية الشبكة العصبية (Neural Architecture Search)، ضبط المعاملات الفائقة (Hyperparameter Tuning)، وضغط النماذج (Model Compression). تدير الأداة تجارب التعلم الآلي التلقائي (AutoML)، وتوزع وتشغل مهام التجارب الناتجة عن خوارزميات الضبط للبحث عن أفضل بنية عصبية و/أو معاملات فائقة في بيئات تدريب مختلفة مثل الأجهزة المحلية (Local Machine)، الخوادم البعيدة (Remote ServersOpenPAI، Kubeflow، وخيارات السحابة الأخرى.

متى يجب أن تفكر في استخدام NNI:

  • إذا كنت ترغب في تجربة خوارزميات AutoML مختلفة.
  • إذا كنت ترغب في تشغيل مهام تجريبية لـ AutoML في بيئات متعددة.
  • إذا كنت ترغب في دعم AutoML في منصتك الخاصة.

ملاحظة: هذا المشروع مفتوح المصدر من Microsoft.

8. Datumbox

شعار Datumbox، إطار عمل للتعلم الآلي بلغة Java

إطار عمل Datumbox Machine Learning Framework هو إطار عمل مفتوح المصدر مكتوب بلغة Java، يتيح التطوير السريع لتطبيقات التعلم الآلي والإحصائية. يركز الإطار بشكل أساسي على تضمين عدد كبير من خوارزميات التعلم الآلي والأساليب الإحصائية، وقدرته على التعامل مع مجموعات البيانات الكبيرة.

يوفر Datumbox عددًا من النماذج المدربة مسبقًا لمهام مختلفة مثل الكشف عن الرسائل غير المرغوب فيها (Spam Detection)، تحليل المشاعر (Sentiment Analysis)، الكشف عن اللغة (Language Detection)، تصنيف المواضيع (Topic Classification) وما إلى ذلك.

9. XAI (An eXplainability toolbox for ML)

XAI هي مكتبة تعلم آلي صُممت مع وضع قابلية تفسير الذكاء الاصطناعي (AI explainability) في صميمها. تحتوي XAI على أدوات متنوعة تُمكّن من تحليل وتقييم البيانات والنماذج. يتم صيانة مكتبة XAI بواسطة معهد الذكاء الاصطناعي والأخلاقيات (The Institute for Ethical AI & ML)، وقد طُوّرت بناءً على المبادئ الثمانية للتعلم الآلي المسؤول (Responsible Machine Learning).

تتضمن المبادئ الثمانية للتعلم الآلي المسؤول ما يلي:

  • التعزيز البشري (Human augmentation).
  • تقييم التحيز (Bias Evaluation).
  • قابلية التفسير بالتبرير (Explainability by Justification).
  • العمليات القابلة للتكرار (Reproducible operations).
  • استراتيجية الإزاحة (Displacement strategy).
  • الدقة العملية (Practical accuracy).
  • الثقة بالخصوصية (Trust by privacy).
  • الوعي بمخاطر البيانات (Data risk awareness).

لمعرفة المزيد حول XAI، يمكنك مشاهدة هذا الحديث في مؤتمر Tensorflow London، والذي يقدم رؤى حول تعريفات ومبادئ هذه المكتبة. XAI حاليًا في مرحلة تطوير مبكرة، والإصدار الحالي هو 0.05 (Alpha).

10. Plato

شعار Plato، إطار عمل لتطوير وكلاء الذكاء الاصطناعي للمحادثة

Plato هو إطار عمل مرن لتطوير أي وكلاء ذكاء اصطناعي للمحادثة (conversational AI agents) في بيئات مختلفة. صُمم Plato لكل من المستخدمين ذوي الخلفية المحدودة في الذكاء الاصطناعي للمحادثة والباحثين المتمرسين في هذا المجال. يوفر تصميمًا نظيفًا ومفهومًا، ويتكامل مع أُطر التعلم العميق والتحسين البايزي (Bayesian optimization frameworks) الموجودة، ويقلل من الحاجة إلى كتابة التعليمات البرمجية. يدعم التفاعلات عبر النصوص والكلام وأفعال الحوار (dialogue acts). لمعرفة كيفية عمل نظام حوار أبحاث Plato، يمكنك قراءة المقال المخصص لذلك. ملاحظة: Plato هو مشروع مفتوح المصدر من Uber.

11. DeepDetect

شعار DeepDetect، خادم وواجهة برمجة تطبيقات للتعلم الآلي

DeepDetect هو خادم وواجهة برمجة تطبيقات (API) للتعلم الآلي مكتوب بلغة C++. يسهل العمل مع أحدث تقنيات التعلم الآلي ودمجها في التطبيقات الحالية. يدعم DeepDetect التعلم العميق الخاضع للإشراف وغير الخاضع للإشراف للصور والنصوص والسلاسل الزمنية والبيانات الأخرى، مع التركيز على البساطة وسهولة الاستخدام والاختبار والاتصال بالتطبيقات الحالية. يدعم التصنيف (classification)، الكشف عن الكائنات (object detection)، التجزئة (segmentation)، الانحدار (regression)، والمشفرات التلقائية (autoencoders).

يعتمد DeepDetect على مكتبات التعلم الآلي الخارجية مثل:

  • مكتبة تعزيز التدرج (Gradient boosting library) XGBoost.
  • مكتبات التعلم العميق (Caffe، Tensorflow، Caffe2، Torch، NCNN، وDlib).
  • التجميع (clustering) باستخدام T-SNE.
  • البحث عن التشابه (similarity search) باستخدام Annoy وFAISS.

صورة توضح الكشف عن تعابير الوجه باستخدام DeepDetect

تم تصميم DeepDetect وتنفيذه ودعمه بواسطة Jolibrain بمساعدة مساهمين مختلفين آخرين.

12. Streamlit

Streamlit — أسرع طريقة لبناء أدوات تعلم آلي مخصصة. Streamlit هي أداة رائعة تتيح لعلماء البيانات ومهندسي التعلم الآلي والمطورين بناء تطبيقات ويب تفاعلية للغاية لمشاريع التعلم الآلي الخاصة بهم بسرعة. لا يتطلب Streamlit أي معرفة بتطوير الويب؛ إذا كنت تعرف Python، فأنت جاهز للانطلاق! كما يدعم إعادة التحميل السريع (hot-reloading)، مما يعني أن تطبيقك يتحدث مباشرة أثناء تحرير وحفظ ملفاتك.

شاهد Streamlit وهو يعمل:

عرض توضيحي متحرك لتطبيق Streamlit يعمل في الوقت الفعلي

13. Dopamine

شعار Dopamine، إطار عمل بحثي للتعلم المعزز من جوجل

Dopamine هو إطار عمل بحثي للنماذج الأولية السريعة لخوارزميات التعلم المعزز (reinforcement learning algorithms). يهدف إلى تلبية الحاجة إلى قاعدة تعليمات برمجية صغيرة وسهلة الفهم، يمكن للمستخدمين من خلالها تجربة أفكار جريئة بحرية (بحث تأملي).

تتضمن مبادئ تصميم Dopamine ما يلي:

  • سهولة التجريب (Easy experimentation).
  • تطوير مرن (Flexible development).
  • مدمج وموثوق (Compact and reliable).
  • قابلية التكرار (Reproducible).

في العام الماضي (2019)، حول Dopamine تعريفات شبكاته لاستخدام tf.keras.Model، وتمت إزالة الشبكات السابقة المعتمدة على tf.contrib.slim. لمعرفة كيفية استخدام Dopamine، يمكنك الاطلاع على دفاتر ملاحظات Colaboratory. ملاحظة: Dopamine هو مشروع مفتوح المصدر من Google.

14. TuriCreate

شعار TuriCreate، مجموعة أدوات لإنشاء نماذج Core ML من Apple

TuriCreate هي مجموعة أدوات مفتوحة المصدر لإنشاء نماذج Core ML مخصصة. باستخدام TuriCreate، يمكنك إنجاز مهام تعلم آلي مختلفة مثل تصنيف الصور (Image classification)، تصنيف الأصوات (Sound classification)، الكشف عن الكائنات (Object Detection)، نقل الأنماط (Style Transfer)، تصنيف الأنشطة (Activity classification)، أنظمة التوصية بالصور المتشابهة (Image similarity recommender)، تصنيف النصوص (text classification)، والتجميع (clustering). يتميز الإطار بكونه سهل الاستخدام، مرن، ومرئي. يعمل على مجموعات بيانات كبيرة وجاهز للنشر. يمكن استخدام النماذج المدربة على الفور في تطبيقات iOS وmacOS وtvOS وwatchOS دون أي تحويل إضافي. اطلع على محادثات TuriCreate في مؤتمري WWDC 2019 وWWDC 2018 لمعرفة المزيد. ملاحظة: TuriCreate هو مشروع مفتوح المصدر من Apple.

15. Flair

شعار Flair، إطار عمل لمعالجة اللغة الطبيعية

Flair هو إطار عمل بسيط لمعالجة اللغة الطبيعية (Natural Language Processing - NLP)، تم تطويره وإتاحته كمصدر مفتوح بواسطة جامعة هومبولت في برلين. يُعد Flair جزءًا رسميًا من نظام PyTorch البيئي ويُستخدم في مئات المشاريع الصناعية والأكاديمية. يتيح لك Flair تطبيق أحدث نماذج معالجة اللغة الطبيعية على نصوصك، مثل التعرف على الكيانات المسماة (Named Entity Recognition - NER)، ووسم أجزاء الكلام (Part-of-Speech Tagging - PoS)، وإزالة الغموض الدلالي (sense disambiguation)، والتصنيف (classification).

يتفوق Flair على أفضل الأساليب السابقة في مجموعة من مهام معالجة اللغة الطبيعية:

  • التعرف على الكيانات المسماة (Named Entity Recognition).
  • وسم أجزاء الكلام (Part of Speech Tagging).
  • التجزئة (Chunking).

راجع هذا الجدول الذي يوضح أداء Flair:

المهمة أفضل طريقة سابقة (F1 Score) Flair (F1 Score)
Named Entity Recognition 92.8 93.09
Part of Speech Tagging 97.3 97.43
Chunking 95.1 95.29

ملاحظة: درجة F1 هي مقياس تقييم يُستخدم بشكل أساسي لمهام التصنيف، وتأخذ في الاعتبار توزيع الفئات الموجودة. تعرف على كيفية إجراء تصنيف النصوص باستخدام تضمينات Flair Embeddings في المقال المخصص لذلك.

الخلاصة

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

إذا كنت تتساءل عن أُطر عمل التعلم الآلي الأكثر شيوعًا، فإليك قائمة بتلك التي يستخدمها معظم علماء البيانات ومهندسي التعلم الآلي بانتظام:

  • TensorFlow
  • PyTorch
  • Fastai
  • Keras
  • scikit-learn
  • Microsoft Cognitive Toolkit
  • Theano
  • Caffe2
  • DL4J
  • MxNet
  • H2O
  • Accord.NET
  • Apache Spark

الخلاصة التقنية

يُظهر هذا الاستعراض الشامل لأُطر عمل التعلم الآلي مفتوحة المصدر أن المشهد التقني في هذا المجال يتسم بالديناميكية والتنوع. بينما تهيمن أُطر مثل TensorFlow وPyTorch على الساحة، فإن وجود بدائل أقل شهرة مثل Blocks، Analytics Zoo، وXAI يقدم حلولًا متخصصة تلبي احتياجات محددة، سواء كان ذلك في سهولة الاستخدام للمبتدئين (مثل Ml5.js)، أو الأتمتة المتقدمة (مثل NNI)، أو حتى التركيز على قابلية التفسير (XAI). إن اختيار الإطار الأمثل لا يعتمد فقط على الشعبية، بل على مدى توافقه مع متطلبات المشروع، لغة البرمجة المفضلة، الدعم المجتمعي، وقابلية التوسع. هذه الأُطر تُمثل جسرًا حيويًا بين النظرية والتطبيق، مما يفتح آفاقًا واسعة للابتكار في مجال الذكاء الاصطناعي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *