مقدمة إلى تقنية TinyML

مقدمة إلى تقنيةTinyML

 

إنِّنا نعيشُ حالياً في عالمٍ محاط بنماذِّج عدَّة من التعلُّم الآليِّ (Machine Learning models)، أثناءَ حياتِكَ اليوميَّة، تُصادِف الكثّير من تلك النماذِّج بصورةٍ تفوقُ تخيلاتكَ. فعلى سبيلِ المثَّال المهام اليوميَّة المعتادة، كتصفُّحِ وسائل التواصُّل الاجتماعيِّ، والتقاطِ الصُّور، والتحقُّقِ من الطَّقس، كلُّ تلكَ المهام تعتمدُ على نماذجِ التعلُّم الآليِّ. ربَّما أنَّك أيضَّاً تتصفَّحُ هذه المدوَّنة لأنَّ واحدةً من نماذجِ التعلٌّم الآليِّ اقترحتها عليك.

جميعنا نعلمُ أنَّ التَّدريب على تلك النماذِّج مُكلفٌ من النَّاحية الحسابيَّة، لكن و في معظمِ الأحيَّان، يكون تشغيلُ الاستدلال (inference) على تلك النماذِّج مكلفًا من النَّاحيةِ الحسابيَّة أيضَّاً، أي أنَّنا نحتاجُ إلى أنظِّمةِ حوسبةٍ سريعة بما يكفي لتتعامل مع المعدَّل الذي نستخدمُ به خدمات التعلُّم الآليِّ. لذلك، تعملُ معظم تلك النماذِّج في مراكزِ بياناتٍ ضخمةٍ مع مجموعاتٍ من وحداتِ المعالجةِ المركزيَّة ووحداتِ معالجةِ الرُّسومات (بالإضَّافةِ لوحداتِ مُعالجةِ Tensor ).

الحجمُ الكبير لا يعني الأفضَّل

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

ماهي تقنيَّةTinyML ؟

إنَّ تقنيَّة TinyMLهي مجالُ دراسةٍ في التعلُّم الآليِّ والأنظِّمةِ المدمَّجة التي تستكشفُ أنواع النماذِّج التي يمكنكَ تشغيلها على الأجهزةِ الصَّغيرة ومنخفضةِ الطَّاقة مثل المتحكِّمات الدَّقيقة. كما أنَّ هذه التقنيَّة تُتيحُ استنتاجَ نموذَّج التَّأخر الزمني المُنخفض والطَّاقةِ المنخفضَّةِ والنِّطاقِ التردُّدي المنخفض في أجهزةِ النَّفاذِ الشبكيِّ (edge devices) –هي الأجهزةُ التي تتحكَّم بمرورِ البياناتِ عندَ الحدودِ بين شبكتين أو هي الأجهزةُ التي توفِّرُ نقطةَ الدُّخول إلى شبكةِ مزوِّد الخدمة ومن أمثلتها: أجهزةُ الرواتر routers، فبينما تستهلكُ وحداتُ المعالجةِ المركزيَّة القياسيَّة للمستهلكين ما بين 65 واط و85  واط، وتستهلكُ وحدةَ معالجةِ الرُّسومات القياسيَّة للمستهلكين طاقةً ما بين 200 واط 500 واط، فإنَُ متحكِّماً دقيقاً نموذجيَّاً يستهلكُ طاقةً بحدود ملي واط أو ميكرو واط. أي أنَّهُ أقل استهلاكًا للطاقة بحوالي ألف مرَّة. يُمَكِّنُ الاستهلاكُ القليل للطَّاقةِ  أجهزةَ TinyML من العملِ دونَ شحنٍ اعتمادًا على البطاريَّات لمدةِ أسابيعٍ، أو لمدةِ أشهر وفي بعض الحالات لسنواتٍ إذا ما تمَّ تشغيل تطبيقاتِ التعلُّمِ الآليِّ (ML) على الأجهزةِ.

ماهي مميِّزاتُTinyML  ؟

1- زمنُ التَّأخُرِ المنخفض:

نظراً لأن النموذَّج يعملُ على الأجهزةِ، فلا يلزمُ إرسال البيانات إلى الخادمِ لتشغيلِ الاستدلال. الأمر الذي يقلِّلُ التَّأخُرَ الزمنيِّ اللازم للحصولِ على المُخرجات.

2- استهلاكٌ منخفضٌ للطَّاقةِ:

كما ناقشنا من قبل، تستهلكُ وحداتُ التحكُُم الدَّقيقة طاقةً قليلةً جداً. الأمر الذي يُمكِّنها من العملِ لمدةٍ زمنيَّةٍ طويلةٍ دونَ شحنها أو وصلها بمصدرِ طاقةٍ.

3-النِّطاق التردُّدي المنخفض:

يُعزى السببُ في ذلك إلى عدمِ الحاجة لإرسال البياناتِ باستمرار ٍإلى خوادم الإنترنت.

4-الخصوصيَّة:

نظراً لأنَّ النموذَّج يعملُ على الأجهزةِ فإنَّ معلومات المستخدم لن تُخزَّن في أيّة خوادم إنترنت.

تطبيقاتُ TinyML

تُقدِّمُ تقنيَّةَTinyML العديدَ من الحلولِ الفريدةِ من خلال تلخيصِ وتحليلِ البيانات على أجهزة النَّفاذ الشبكيِّ منخفضةِ الطَّاقة، و على الرُّغم من أن TinyMLَّ مجالٌ ناشئ، فقد تمَّ استخدامهُ في الإنتاجِ لسنواتٍ. تُعدُّ كلماتُ التَّنبيهِ “أوكي غوغل”، “أليكسا”، “مرحباً سيري” أمثِّلةً واضحةً عن تقنيَّة TinyML.هنا، تعمل الأجهزةُ وتقومُ دائماً بتحليلِ صوتِ المُستخدمِ لاكتشافِ كلماتِ التَّنبيه. وسنذكرُ فيما يلي بعضُ تطبيقاتِ TinyML في المجالاتِ الصِّناعيَّةِ والزِّراعيَّةِ والصِّحةِ والبيئة:

1-الصِّيانةِ التنبؤيَّةِ الصِّناعيَّةِ:

إنَّ أيَّ جهازٍ مُعرَّضٍ للأعطالِ. باستخدام TinyML على الأجهزةِ المُعدَّة لاستهلاكِ طاقةٍ أقل، فإنَّ مراقبةَ الأجهزةِ والتنبؤ بالأعطالِ في وقتٍ مُبكِّر بشكلٍ دائمٍ يصبحُ مُمكناً. يمكن أن تؤدي الصِّيانةُ التنبؤيَّة إلى توفيرٍ كبيرٍ في المصاريف المخصَّصة للصِّيانة. قدمت Ping Services، وهي شركةٌ أستراليةْ ناشئةٌ جهازاً يعملُ بتقنيَّةِ إنترنت الأشياء، يراقب هذا الجهاز بشكلٍ مستقلٍ توربينات الرِّياح من خلالِ ربطها مغناطيسياً بالجزء الخارجيِّ من التوربين وتحليل البيانات التفصيليَّة على الحواف. يمكن لهُ أن ينبه السلطات بشأنِ المشكلاتِ المُحتملةِ حتى قبل حدوثها.

2-الرِّعايةُ الصِّحية:

يستخدمُ مشروع The Solar Scare Mosquito تقنيَّة TinyML للحدِّ من انتشارِ الأمراضِ التي ينقلها البعوض مثل حمى الضنك، والملاريا، وفيروس زيكا، والشيكونغونيا، وغيرها وذلك من خلال الكشفِ عن ظروفِ تكاثُرِ البعوض وتهيُيج المياه لمنعِ البعوضِ من التَّكاثُر. يعملُ هذا الجهاز على الطَّاقةِ الشَّمسيَّة وبالتالي يمكن أن يعمل إلى أجلٍ غير مسمى.

3-الزِّراعة:

يُساعدُ تطبيق Nuru المزارعين على اكتشافِ الأمراض في النباتات فقط من خلال التقاط صورةٍ لها عن طريقِ تشغيل نماذِّج التعلُّم الآليِّ على الجهاز باستخدام TensorFlow Litِ  (عبارةً عن مجموعةٍ من الأدواتِ التي تُتيح التَّعليم الآليِّ على الجهاز). عندما تكون تلك التطبيقات مُفعَّلةً على الجهاز، فلا حاجة لوجود أيّ اتصالٍ بالإنترنت. وهو مطلبٌ أساسيٌّ للمزارعين في المناطق النَّائية و الذين قد لا يتوفر لديهم اتصالٌ جيدٌ بالإنترنت في مكان عملهم.

4-الحفاظُ على الحياة في المياه البحريَّة:

تُستخدم الأجهزةُ المدعومةُ بتقنيَّة التعلُّم الآليِّ الذَّكيِّ لمراقبةِ الحيتان في الوقتِ الفعليِّ في المَّمراتِ البحريَّة حول سياتل وفانكوفر لتجنُّبِ إصابةِ الحيتان في مَّمرات الشَّحن المزدَّحِمة.

كيفَ يُمكننُّي البدء؟

1-الأجهزة:

لوحةُ الأردوينو 33 BLE هو الجهازُ المُقترح لنشرِ نماذجِ التَّعليم الآليِّ على الأجهزة. يحتوي على متحكِّم ARM Cortex-M4F 32 بت يعملُ بسرعةِ 64 ميجاهرتز مع 1 ميجابايت من ذاكرةِ البرنامج و256 كيلوبايت من ذاكرةِ الوصول العشوائيِّ. يُوفِّرُ هذا المٌتحكِّم الدَّقيق قدرةً كافيةً لتشغيلِ نماذِّج TinyML. يحتوي Arduino Nano 33 BLE Sense أيضًَّّاً على مستشعراتِ الألوانِ والسُّطوع والقربِ والإيماءات والحركةِ والاهتزاز والتوجيه، ودرجةِ الحرارة، والرُّطوبة، والضَّغط. يحتوي أيضَّاً على ميكروفون رقميِّ ووحدة Bluetooth منخفضةُ الطَّاقة (BLE). ستكون مجموعةُ المستشعراتِ هذه أكثرُ من كافيةٍ لمعظمِ التطبيقات.

2-إطارُ عملِ التعلُّم الآليِّ:

يوجدُ عددٌ قليلٌ فقك من الأُطر التي تلبي احتياجات TinyML. من بين تلك الأُطر يعد TensorFlow Lite الأكثر شعبيةً ويحظى بشعبيةٍ كبيرةٍ. باستخدام TensorFlow Lite Micro، يُمكننا نشرُ النماذِّج على وحداتِ التَّحكُّم الدَّقيقة.

3-مصادرُ التعلُّم والمراجع:

لا يوجدُ الكثير من الموادِ التعليميَّة في الوقتِ الحاليِّ ؛ وذلك لأنَّ TinyMLتقنيَّةٌ حديثةُ النشأة، ، لكن هناك عددٌ قليل من المصادر الممتازة مثل كتاب Pete Warden وDanyiel Situnayake، “TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power”، ودورة جامعة هارفارد على TinyML الذي يقدّمها Vijay Janapa Reddi، ومدونات Digikey’s Blogs and Videos على TinyML.

في الختام

تُستخدمُ وحداتُ التَّحكُّم الدَّقيقة في مختلفِ التطبيقات، وتجمعُ هذه الوحدات كميَّةً هائلةً من البيانات. باستخدامِ تقنيَّة TinyML يُمكننا الاستفادةُ من هذه البيانات لبناءِ منتجاتٍ أفضل. سيؤدِّي تمكينُ تعلُّم الآلة في وحداتِ التَّحكُّم الدَّقيقة إلى فتحِ فُرصٍ جديدة؛ إذ يوجدُ اليوم أكثرُ من 250 مليار وحدةِ تحكُّمٍ دقيقةٍ، وهذا الرقم سيرتفعُ في المستقبل، مما سيؤدِّي إلى انخفاضِ في السِّعر (وفقاً لمبادئ الاقتصَّاد: إذا زادَ العرضُ على منتجٍ ما، قلَّ سعرُه).


المصدر: هنا.

ترجمة: حنين الرفاعي، مراجعة: قاهر محمد اليتيم، تصميم: علي العلي، تدقيق لغوي: بولا ابراهيم، تحرير: محمد نور البوشي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.