تعلّم الآلة المُصغّر Tiny Machine Learning

التدّقيق العلمي: د.م. حسن قزّاز، م. محمّد سرميني
التدّقيق اللّغوي: هبة الله فلّاحةِ

مقدّمة

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

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

عندما تقول “Alexa” أو “Ok ، Google”، فأنت تريد أن تحصل الاستجابة على الفور؛ لا تريد انتظار قيام الجهاز بإرسال صوتك إلى الخوادم حيث تتمّ معالجته و من ثمّ استرداد المعلومات، يستغرق هذا وقتًا و ربّما يصيب تجربة المستخدم بالشّلل، مرّة أخرى في هذه الحالة نحتاج أن يعمل نموذج تعلّم الآلة محليًّا.

في مقالتنا هذه سنتحدّث عن تعلّم الآلة المصغّر Tiny Machine Learning و فرصه و تحدّياته بالإضافة إلى الإشارة إلى أهمّ تطبيقاته[1]

ما هو تعلّم الآلة المصغّر Tiny Machine Learning؟

يمكن تعريف تعلّم الآلة المصغّر Tiny Machine Learning (TinyML) على أنّها مجموعة من التّقنيات في مجال تعلّم الآلة Machine Learning والأنظمة المضمّنة Embedded systems للاستفادة من التّطبيقات الذّكيّة على الأجهزة منخفضة الطّاقة.

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

يهدف تعلّم الآلة المصغّر TinyML إلى إعطاء قوّة تعلّم الآلة إلى الأجهزة الصّغيرة، وتمكينها من أداء المهامّ التي كانت ممكنة سابقًا فقط على الأنظمة الأكبر والأكثر قوّة؛ مثل مهامّ التّعرّف على الصّوت Voice Recognition, والتّعرّف على الصّور image recognition وغيرها.

لماذا يعتبر تعلّم الآلة المصغّر TinyML مهمًّا؟

لأنّ تعلّم الآلة المصغّر TinyML يمنح الذّكاء للأجهزة التي تمتاز بذاكرة صغيرة  و طاقة منخفضة، عن طريق تفعيل عمليّات تعلّم الآلة عليها، حيث يتمّ تحميل نماذج التّعلّم الآليّ المدرّبة مسبقًا إلى هذه الأجهزة، ثمّ تنفيذ هذه النّماذج على البيانات المُدخلة إلى الجهاز[2].

تقوم أجهزة إنترنت الأشياء Internet of things IoT بجمع البيانات وإرسالها إلى الخادم المركزيّ عبر السّحابة، حيث تتواجد نماذج تعلّم الآلة المستضافة لتقديم رؤيتها. يعمل تعلّم الآلة المصغّر على تحسين نماذج تعلّم الآلة للعمل على أجهزة محدودة الموارد، حيث أنّه يلغي ضرورة نقل البيانات إلى خادم مركزيّ، ويفتح إمكانيّات جديدة من خلال توفير الذّكاء لملايين الأجهزة التي نستخدمها كلّ يوم، يوضّح الشّكل (1) أدناه مستوى الاهتمام بـ TinyML.حيث يوضّح  الرّسم البيانيّ إحصائيّات البحث عن تعلّم الآلة المصغّرTinyML في السّنوات الخمس الأخيرة، لاحظ أنّ الاهتمام بالمجال يزداد مع الوقت [2].

الشّكل(1): إحصائيّة البحث عن مصطلح TinyML – عبر Google trends

ما هي المتحكّمات الدّقيقة Microcontroller و ما السّبب وراء استخدامها؟

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

يوضّح الشّكل (2) المكوّنات الأساسيّة للمتحكّمات الدّقيقة، حيث تتكوّن من معالج دقيق Microprocessor، وذاكرة الوصول العشوائيّ RAM، وذاكرة القراءة فقط ROM، ومنافذ الإدخال و الإخراج Input/Output (I/O) ports  للنّظام المضمّن، بالإضافة الى جميع القطع التي تسمح للنّظام المضمّن بمعالجة البرامج [3].

الآن، سنتعرّف على أهمّ مكوّنات المتحكّمات الدّقيقة ووظائفها:

  • المعالج الدّقيق Microprocessor: وهو المسؤول عن تنفيذ العمليّات المنطقيّة و الحسابيّة في المتحكّمات الدّقيقة.
  • الهزّاز الكريستالي Oscillator: عبارة عن مصدر لتوليد نبضات pulses و التي تُمكّن المعالج الدّقيق من القيام بالمهامّ المطلوبة.
  • ذاكرة الوصول العشوائيّ RAM: وهي ذاكرة متطايرة، لا تحتفظ بالـبيانات في حالة انقطاع التّيار الكهربائيّ و يتمّ فيها تخزين المتغيّرات المُستخدمة في البرنامج.
  • ذاكرة القراءة فقط ROM: ذاكرة غير متطايرة، أي أنّ البيانات التي بها لا تفقد في حالة انقطاع التّيار الكهربائيّ، و بها يتمّ تخزين البرنامج الذي فيه المهامّ التي سينفذّها المتحكّم الدّقيق.
  • المحوّل التّناظريّ الرقميّ ADC: و هي وحدة مسؤولة عن تحويل الإشارات التّناظريّة Analog إلى إشارات رقميّة Digital يُمكن التّعامل معها من قِبل المتحكّم الدّقيق.
الشّكل(2): بنية المتحكّم الدّقيق

إنّ السّبب الأوّل والأهمّ لاختيار المتحكّمات الدّقيقة هو استخدامها في مختلف المجالات، مثل السّيارات، والإلكترونيّات الاستهلاكيّة (الأجهزة الإلكترونيّة مثل أجهزة التّلفزيون أو أجهزة الكمبيوتر أو الهواتف الذّكيّة؛ التي يتمّ شراؤها للاستخدام الشّخصيّ وليس للاستخدام التّجاريّ)، وأدوات المطبخ، والرّعاية الصّحيّة، والاتّصالات. في الوقت الحاضر أصبحت المتحكّمات الدٌقيقة في كلّ مكان وغير مرئيّة أيضًا في أجهزتنا الإلكترونيّة اليوميّة [4].

مع ظهور إنترنت الأشياء (IoT)، شهدت المتحكّمات الدّقيقة نموًّا هائلًا في السّوق، ففي عام 2018 أعلنت شركة IDC لأبحاث السوق (https://www.idc.com) عن بيع 28.1 مليار وحدة تحكّم دقيقة في جميع أنحاء العالم وتوقّع نموّها إلى 38.2 مليار بحلول عام 2023 (www.arm.com/blogs/blueprint/tinyML). وتعتبر هذه الأرقام مثيرة للإعجاب بالمقارنة مع عدد الهواتف الذّكيّة وأجهزة الحاسب المُباعة في نفس العام، والتي بلغت 1.5 مليار و 67.2 مليون جهاز على التّوالي [4]. 

السّبب الثّاني لاختيار المتحكّمات الدّقيقة هو أنّها غير مكلفة وسهلة البرمجة وقويّة بما يكفي لتشغيل خوارزميّات التّعلّم العميق Deep Learning.

لماذا يتمّ تشغيل نموذج تعلّم الآلة محليًّا؟

هناك ثلاث إجابات رئيسيّة على هذا السّؤال، زمن الاستجابة، واستهلاك الطّاقة ، والخصوصيّة:

  1. تقليل زمن الاستجابة: إرسال البيانات ذهابًا وإيابًا من وإلى السّحابة يستغرق وقتًا، ويمكن أن يؤثّر على التّطبيقات التي يجب أن تستجيب بشكل موثوق خلال فترة زمنيّة سريعة جدًّا.
  2. تقليل استهلاك الطّاقة: لا يعدّ إرسال البيانات واستلامها من السّحابة وإليها موفّرًا للطّاقة، حتى عند استخدام بروتوكولات اتّصال منخفضة الطّاقة مثل بلوتوث Bluetooth.
  3. الخصوصيّة:  يؤدّي الاحتفاظ بالبيانات على جهاز محليّ إلى تقليل مخاطر تعرّض البيانات الحسّاسة للخطر[4].

ما هي التّحدّيات التي تواجه تعلّم الآلة المصغّر TinyML؟

  1. ذاكرة المحدودة: تحتوي أجهزة TinyML على كيلوبايت أو ميغا بايت من الذّاكرة، يضع هذا قيودًا على حجم ووقت تشغيل نماذج تعلّم الآلة على هذه الأجهزة، يوجد حاليًّا عددًا محدودًا من أُطر عمل تعلّم الآلة التي يمكنها تلبية متطلّبات أجهزة تعلّم الآلة المصغّر TinyML؛ أحد هذه الأطر هو تنسر فلو لايت TensorFlow Lite.
  2. استكشاف الأخطاء وإصلاحها: نظرًا لأنّ نموذج تعلّم الآلة يتدرّب على البيانات التي يجمعها الجهاز ويعمل على الجهاز نفسه، فمن الصّعب تحديد مشكلات الأداء وإصلاحها مقارنة بالسّحابة cloud حيث يمكن استكشاف الأخطاء وإصلاحها عن بُعد.
  3.  تأثير البيئة المحيطة: يمكن أن تعرقل العوامل البيئيّة مثل الغبار والظّروف الجويّة القاسية التّنفيذ الصّحيح للتّطبيق[6].

ما هي حالات استخدام وتطبيقات تعلّم الآلة المصغّر TinyML؟

للتّعلم الآليّ المصغّر العديد من التّطبيقات المهمّة في مختلف المجالات منها:

الصّيانة التنبّؤيّة الصّناعيّة Industrial Predictive Maintenance

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

هناك العديد من تطبيقات تعلّم الآلة المصغّر TinyML للصّيانة التنبّؤية، على سبيل المثال قدّمت شركة استراليّة ناشئة Ping Services جهازًا جديدًا لإنترنت الأشياء يقوم بفحص التّوربينات بشكل مستمرّ ومستقلّ أثناء عملها، من خلال الرّبط مغناطيسيًّا بالجزء الخارجيّ من أيّ توربين (لاحظ الجهاز الصّغير في الشّكل (3) الموضّح أدناه)، يمكن للجهاز التّنبيه بكفاءة وفعاليّة لأيّ مشكلات محتملة قبل ظهور مشكلة داخل التّوربينات [7].

الشّكل(3): جهاز يقوم بفحص التّوربينة بشكل مستم

الزّراعة

يمكن استخدام أجهزة تعلّم الآلة المصغّرTinyML للحصول على بيانات، من خلال مراقبة المحاصيل أو الثّروة الحيوانيّة.

كلّ يوم يوفّر محصول الكسافا الغذاء لأكثر من 500 مليون أفريقيّ، ومع ذلك فإنّ هذا المحصول يتعرّض باستمرار للهجوم من مجموعة متنوّعة من الأمراض، طوّر الفريق في PlantVillage بقيادة الدّكتورة أماندا رامشاران Dr. Amanda Ramcharan تطبيق Nuru لمساعدة المزارعين على تحديد هذه الأمراض وعلاجها؛ من خلال تشغيل تعلّم الآلة باستخدام تنسر فلو لايت TensorFlow Lite على الهواتف المحمولة، حيث يتيح التّطبيق إمكانيّة تخفيف التّأثير السّلبيّ  في الوقت الفعليّ real-time، دون الحاجة إلى الوصول إلى الإنترنت وهو متطلّب أساسيّ للعديد من المزارعين [7].

الشّكل(4): تجربة تطبيق Nuru على محصول الكسافا

الرّعاية الصّحيّة

طوّر أريجيت داس Arijit Das البالغ من العمر 15 عامًا، نموذجًا صغيرًا ML باستخدام إيدج امبلس Edge Impulse للكشف عن الالتهاب الرّئويّ من تصوير الصّدر بالأشعة السّينيّة، يمكن نشر النّموذج على منصّات تطوير أحاديّة اللّوحة single board وهي عبارة عن لوحة دائريّة صغيرة تحتوي على جميع المكوّنات اللّازمة لتشغيل الجهاز وتحقيق وظائفه، مثل وحدة المعالجة المركزيّة (CPU) والذّاكرة ووحدات الاتّصال بالإنترنت وغيرها من الأجهزة، وتستخدم هذه اللّوحات عادة في تطوير الأنظمة المضمّنة والأجهزة الصّغيرة التي تتطلّب حجمًا واستهلاكًا منخفضًا للطاقة. مثل راسبيري باي 4 Raspberry Pi 4 و سوني سوبرسينس Sony Supersense وعدد قليل من الأجهزة الأخرى، إنّ الجهاز الصّغير المكوّن من اللّوحة الرّئيسيّة  و درع الكاميرا camera shield (هو أحد ملحقات الأجهزة المصمّمة للاستخدام مع المتحكّمات الدّقيقة مثل Arduino و Raspberry Pi لالتقاط الصّور ومقاطع الفيديو باستخدام وحدة الكاميرا) ونموذج ايدج امبلس Edge Impulse tinyML، يمكنه اكتشاف الالتهاب الرّئويّ في أقلّ من دقيقة؛ وهو أمر استثنائيّ بالنّظر إلى حقيقة أنّه يستغرق ما بين 1 إلى 4 أيام للكشف عن طريق الفحص اليدويّ.

فلا يتطلّب نموذج tinyML اتصالًا بالإنترنت حتى يعمل ويوفّر دقّة تزيد عن 80٪، وهو أفضل بكثير مقارنة بالفحص اليدويّ، يمكن أن يكون هذا النموذج مفيدًا جدًّا في المناطق المتأثّرة إلى حدٍّ كبير بهذا المرض مثل إفريقيا في المناطق الواقعة جنوب الصّحراء وجنوب آسيا، حيث يلزم إجراء عدد كبير من الفحوصات المتعلّقة بنفس المرض[8].

عزيزي القارئ، إنّ المشروع متاح على GitHub للجميع لتجربته واختباره والمساهمة فيه.البيع بالتّجزئة

البيع بالتّجزئة

 يمكن استخدام TinyML لمراقبة المخزونات وإرسال التّنبيهات، من أجل التّخلص من  حالات نفاذ المخزون. [7]

كيف يتمّ تنفيذ تعلّم الآلة المصغّر TinyML؟

هناك ثلاثة أنواع من أطر تعلّم الآلة التي تدعم تطبيقات TinyML؛ وهي:

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

هو إطار عمل يندرج ضمن نظام باي تورش PyTorch، يتيح للمطوّرين نشر نماذج باي تورش PyTorch على الأجهزة المحمولة والأجهزة ذات الحجم الصغير الأخرى.

وهو متاح لأنظمة iOS و أندرويد Android و لينكس Linux، و يوفّر واجهات برمجة التّطبيقات (API) التي تغطّي مهام المعالجة المسبقة اللّازمة لدمج تعلّم الآلة في  تطبيقات الأجهزة المحمولة.

عبارة عن نظام أساسيّ لعمليّات تعلّم الآلة (MLOps) قائم على السّحابة لتطوير و تسهيل عملية جمع البيانات، وتدريب نماذج التّعلّم العميق ونشرها على أجهزة الحوسبة المضمّنة والمتطوّرة

كيف يمكن البدء في تطبيق تعلّم الآلة المصغّر TinyML؟

  • الأجهزة: Arduino Nano 33 BLE Sense هو الجهاز المقترح لنشر نماذج التّعلم الآليّ على الإطار edge، يحتوي على متحكّم ARM Cortex-M4F 32 bit والذي يعمل بتردّد 64 ميجاهرتز مع 1 ميجابايت من ذاكرة البرنامج و 256 كيلوبايت من ذاكرة الوصول العشوائيّ، يوفّر هذا المتحكّم الدّقيق قدرة كافية لتشغيل نماذج TinyML، يحتوي Arduino Nano 33 BLE Sense على مستشعرات الألوان والسّطوع والقرب والإيماءات والحركة والاهتزاز والتّوجيه ودرجة الحرارة والرّطوبة والضّغط، يحتوي أيضًا على ميكروفون رقميّ و وحدة بلوتوث Bluetooth منخفضة الطّاقة (BLE)، و ستكون مجموعة المستشعرات هذه أكثر كافية لمعظم التّطبيقات.
  • إطار عمل تعلّم الآلة: لا يوجد سوى عدد قليل من الأطر التي تلبّي احتياجات TinyML، من بين ذلك يعدّ تنسر فلو لايت TensorFlow Lite هو الأكثر شعبيّة ويحظى بأكبر قدر من دعم المجتمع، باستخدام TensorFlow Lite Micro يمكننا نشر النّماذج على وحدات التّحكّم الدٌقيقة[1].
  • مصادر التّعلّم: بما أنّ TinyML مجال ناشئ فلا يوجد الكثير من المواد التّعليميّة حتى اليوم، ولكن هناك بعض المواد الممتازة مثل كتاب “TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power” للكاتبين Pete Warden و Daniel Situnayake ودورة جامعة هارفارد حول TinyML بقلم فيجاي جانابا ريدي ومدونات ومقاطع فيديو Digikey على TinyML .

الخاتمة

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

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

في الوقت الحالي تمّ استخدام تعلّم الآلة المصغّر TinyML بشكل فعّال في قطاعات الزّراعة والتّصنيع والرّعاية الصّحيّة، ومن المتوقّع أن تزداد شعبيّته بشكل أكبر.

المراجع

الكاتب

  • شروق أبو عويلي

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

0 Shares:
اترك تعليقاً

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

You May Also Like