Clear Sky Science · ar

نحو تحويل نماذج MATLAB إلى مسرِّعات مادية قائمة على FPGA

· العودة إلى الفهرس

تحويل خوارزميات المختبر إلى أجهزة في العالم الحقيقي

تبدأ العديد من الاختراقات الطبية والهندسية الحديثة حياتها كبرمجيات يكتبها الباحثون، غالبًا في أدوات يسهل استخدامها مثل MATLAB. ولكن حين تتطلب تلك الخوارزميات العمل في الزمن الحقيقي—مثل اكتشاف اضطرابات نظم القلب الخطيرة من تخطيط كهربية القلب (ECG)—فإنها تحتاج إلى سرعة وكفاءة أجهزة مخصصة. يُظهر هذا المقال كيفية نقل شبكة عصبية معقدة لاكتشاف نبضات القلب من MATLAB إلى رقاقة متخصصة تُدعى FPGA بشكل موثوق، من دون فقدان الدقة التي يعتمد عليها الأطباء والمهندسون.

Figure 1
Figure 1.

لماذا إعادة كتابة الشيفرة للرقائق صعبة إلى هذا الحد

تُعد FPGAs (المصفوفات القابلة للبرمجة ميدانيًا) رقائق قابلة لإعادة التكوين تُقدَّر لسرعتها وقلة استهلاكها للطاقة. تقليديًا، كان برمجتها يتطلب لغات متمحورة حول الأجهزة مثل VHDL أو Verilog، وهي بعيدة كل البعد عن الشيفرة الرياضية ومعالجة الإشارة عالية المستوى التي يكتبها العلماء في MATLAB. أدوات جديدة يمكنها تحويل الخوارزميات تلقائيًا إلى أوصاف مادية، لكنها غالبًا ما تحتاج إلى تعديل يدوي وتركز أساسًا على الأداء: مدى سرعة تشغيل الرقاقة وكمية الموارد المستخدمة. ما كان مفقودًا هو طريقة واضحة لإثبات أن الأجهزة تقوم بالضبط بما فعلته البرمجية الأصلية، طبقة بطبقة، رقمًا برقم.

فحص خطوة بخطوة لكل طبقة في الشبكة

يعالج المؤلف هذه الفجوة من خلال اقتراح سير عمل يركز على التحقق لشبكة عصبية تلافيفية أحادية البعد تصنّف نبضات القلب باستخدام قاعدة بيانات MIT-BIH المعروفة لاضطرابات النظم. تفحص الشبكة، المبنية في MATLAB، مقتطفات قصيرة من بيانات ECG وتعيّنها إلى واحد من خمسة أنواع من النبضات، بما في ذلك النبضة الطبيعية وعدد من الإيقاعات الشاذة. تم تدريب ثلاث نسخ من الشبكة ذات أعماق مختلفة على نفس البيانات. بعد التدريب، تُحفظ الأوزان والانحيازات ومخرجات كل طبقة على إشارات الاختبار كـ "مخرجات ذهبية"—سجل رقمي دقيق لكيفية تصرف نموذج MATLAB.

من MATLAB إلى C++ إلى FPGA، مع تعقب الأرقام

بدل الضغط على زر "تحويل" تلقائيًا، تُعاد كتابة الشبكة يدويًا بلغة C++، متبعة نفس ترتيب البيانات والعمليات الرياضية كما في MATLAB. تُستخدم شيفرة C++ هذه بعد ذلك مع أداة توليف عالية المستوى لتوليد جهاز يعمل على لوحة FPGA من طراز PYNQ-Z1. في كل مرحلة—MATLAB وC++ وFPGA—تُقارن مخرجات الطبقات بالمخرجات الذهبية المخزنة باستخدام مقياس بسيط: متوسط الخطأ المطلق، الذي يقيس الفرق العددي المتوسط بين مجموعتين من النتائج. يضع البحث معيار تسامح صارم: يجب أن تبقى جميع الطبقات تحت خط خطأ قدره 1.5×10⁻³. عبر آلاف عينات ECG، تفي كل الطبقات المختبرة بهذا الهدف، وتبقى دقة التصنيف النهائية تقريبًا دون تغيير: نحو 98.3–98.4% في MATLAB وC++، وانخفاض بنحو 0.2 نقطة مئوية فقط على FPGA، وهو اختلاف يتوافق مع التأثيرات المتوقعة لاستخدام أعداد أقصر بنقطة ثابتة في الأجهزة.

Figure 2
Figure 2.

جعل الأجهزة سريعة من دون كسر الحسابات

بمجرد تأمين الصحة العددية، تُعدَّل التصميمات للسرعة. تُخصص الأجزاء الأكثر تطلبًا من الشبكة—طبقات الالتفاف—إلى المنطق المبرمج للـ FPGA، مستخدمة حسابات بنقطة ثابتة من أجل الكفاءة، بينما تُنفذ المهام الأخف مثل حساب السوفتمكس النهائي على المعالج المدمج في الرقاقة باستخدام الأعداد العائمة العادية. تقنيات مثل تجويف الحلقات (loop pipelining)، وتفكيك الحلقات (loop unrolling)، والتقسيم الدقيق للذاكرة إلى بنوك متوازية تسمح بتشغيل أجزاء الحساب ونقل البيانات جنبًا إلى جنب. تعالج نسخة محسّنة من الأجهزة نافذة نبضة القلب في نحو 1.7 مللي ثانية وتلائم حدود موارد FPGA واستهلاك الطاقة بسهولة، وكل ذلك مع الحفاظ على السلوك العددي لكل طبقة كما في نموذج MATLAB الأصلي.

ماذا يعني هذا لأجهزة المستقبل الذكية

بالنسبة لغير المختصين، الرسالة الأساسية هي أنه أصبح ممكنًا ليس فقط تسريع مصنف نظم القلب المتقدم المبني في MATLAB على رقاقة منخفضة الطاقة، بل وأيضًا إثبات أن آليات الرقاقة الداخلية تطابق نموذج البرمجية الموثوق عند كل طبقة. بدلاً من السعي وراء السرعة على حساب الموثوقية، يبني هذا النهج مسار تدقيق واضح من شيفرة MATLAB العائمة إلى أجهزة FPGA بنقطة ثابتة. يمكن تطبيق نفس وصفة التحقق—حفظ المخرجات الذهبية، ومقارنة أخطاء كل طبقة بمعيار صارم، والتحقق من الدقة النهائية—على شبكات عصبية أحادية البعد أخرى في مجالات مثل أجهزة المراقبة الصحية القابلة للارتداء، ومستشعرات الصناعة، والمركبات الذكية، مما يساعد على التأكد من أنه عندما تغادر الخوارزميات المختبر وتنتقل إلى الأجهزة، تظل قراراتها موثوقة.

الاستشهاد: Bal, S. Towards the transformation of MATLAB models into FPGA-Based hardware accelerators. Sci Rep 16, 5027 (2026). https://doi.org/10.1038/s41598-026-36033-z

الكلمات المفتاحية: مسرِّعات FPGA, شبكات MATLAB العصبية, تصنيف اضطراب نظم القلب من ECG, التحقق من الأجهزة, التعلم العميق بالنقطة الثابتة