دليل · TinyML · ذكاء اصطناعي
TinyML: شبكة عصبية لا تتّصل بالبيت أبدًا
لا تحتاج السحابة لتضع قليلًا من الذكاء في جهاز. يشغّل TinyML شبكة عصبية صغيرة على ESP32 نفسه — يلتقط كلمة تنبيه، أو إيماءة، أو صوت تسرّب — وبيانات الميكروفون لا تغادر الرقاقة. إليك ما هو، ولماذا ESP32-S3 هي التي تُشترى، والمسار من التسجيل إلى التشغيل.
ما هو TinyML — ولماذا يبقى محليًّا
TinyML هو استدلال تعلّم آليّ مُصغّر ليناسب متحكّمًا دقيقًا: يُدرَّب النموذج على جهاز كبير، ثم يُكمَّم ويُترجَم ليعمل بالكيلوبايتات عبر TensorFlow Lite Micro. إبقاؤه على الجهاز يشتري ثلاثة أشياء حقيقية — الخصوصية (الصوت/الفيديو لا يغادر)، وزمن استجابة فوريّ (بلا رحلة شبكة)، ويعمل دون اتصال على بطارية. إنها المقايضة المعاكسة تمامًا لـوكيل LLM سحابيّ: صغير ومحليّ بدل ضخم وبعيد.
واقع العتاد: اشترِ S3
النموذج ضربٌ وجمعٌ حتى القاع، وهنا تهمّ الرقاقة. تضيف ESP32-S3 تعليمات متّجهية (SIMD) تسرّع تلك العمليات تحديدًا، زائد PSRAM التي تحتاجها لاحتواء نموذج ومخزن صوت/صورة — فيعمل الاستدلال أسرع بمرّات من ESP32 الكلاسيكي. يستطيع ESP32 العادي نماذج بسيطة؛ وأيّ شيء بصوت أو رؤية يريد S3. انظر دليل الرقائق، وراقب أين تذهب الذاكرة — النموذج مع مخازنه هو ميزانية RAM لديك.
المسار: تسجيل ← تدريب ← برمجة
لا تكتب الشبكة يدويًّا. التدفّق المعتاد مع Edge Impulse (أو سلسلة أدوات ESP-DL):
- اجمع مجموعة بيانات — سجّل عيّنات لكلّ فئة (مثلًا «تشغيل» و«إيقاف» وخلفية) من الجهاز مباشرة.
- درِّب في المتصفّح — يختار السمات ويلائم نموذجًا صغيرًا.
- حسِّن — كمِّم إلى int8 ليصير صغيرًا وسريعًا، وتحقّق أنه يظلّ ضمن ميزانية RAM/التأخير.
- ابرمج — صدّر مكتبة Arduino/ESP-IDF واستدعِها من السكتش؛ والخرج مجرّد فئة + ثقة.
بأيّ شيء تبدأ
ابدأ بشيء صغير وواضح سمعيًّا — الفوز يحفّز، والنموذج يبقى ضئيلًا:
| المشروع | الحسّاس | الصعوبة |
|---|---|---|
| كلمة تنبيه / كلمة مفتاحية | ميكروفون (I2S) | المشروع الأول الكلاسيكيّ |
| حدث صوتيّ (تسرّب، زجاج، إنذار) | ميكروفون | سهل، عالي القيمة |
| إيماءة / حركة | مقياس تسارع (IMU) | سهل، حسّاس رخيص |
| رؤية (شخص / جسم) | كاميرا | أصعب — S3 + PSRAM فقط |
القاعدة: فئات أقلّ وإشارة نظيفة تفوز. كاشف كلمتين على ميكروفون عطلة أسبوع؛ وكشف الأجسام حيًّا مشروع. في الحالتين، حين يُطلِق النموذج يكون لديك نتيجة بسيطة للتصرّف — إشعال LED، أو النشر عبر MQTT، أو عرضها على لوحة مُقدَّمة.
أظهِر ما يراه النموذج — لوحة حيّة من الرقاقة نفسها، في أسطر C++ قليلة.