Skip to content
Menu
bsm300gb120dlc
  • Home
  • components
  • الإخبارية
bsm300gb120dlc

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

Posted on 2022-10-29

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

“

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

اليوم ، يستخدم المطورون عادةً منصات FPGA المتاحة لـ ML لبناء أنظمة رؤية مضمنة لتلبية متطلبات الأداء الأعلى. في الوقت نفسه ، يمكنهم الحفاظ على المرونة التي يحتاجونها لمواكبة تطورات التعلم الآلي.

ستصف هذه المقالة متطلبات معالجة ML ولماذا يمكن لـ FPGAs حل العديد من مشاكل الأداء. بعد ذلك ، سيتم تقديم منصة ML مناسبة تعتمد على FPGA وكيفية استخدامها.

خوارزميات التعلم الآلي ومحركات الاستدلال

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

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

ومع ذلك ، بالنسبة للعديد من التطبيقات ، تفتقر الأنظمة الأساسية للأغراض العامة إلى الأداء المطلوب لتحقيق الدقة العالية والأداء العالي في وقت واحد في استدلال CNN. يمكن أن تساعد تقنيات التحسين وبنيات CNN البديلة مثل MobileNet أو SqueezeNet في تقليل متطلبات النظام الأساسي ، ولكنها غالبًا ما تضحي بالدقة وتزيد من زمن انتقال الاستدلال ، والذي يمكن أن يتعارض مع متطلبات التطبيق.

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

FPGA كمنصة تعلم الآلة

بالنسبة للتعلم الآلي ، لا تزال وحدات معالجة الرسومات هي المعيار – الشيء الذي كان ببساطة بعيدًا عن متناول FPGAs المبكرة. بعض الأجهزة الحديثة ، مثل Intel Arria 10 GX FPGA و Lattice Semiconductor ECP5 FPGA ، أغلقت بشكل كبير الفجوة بين FPGAs و GPUs المتقدمة. بالنسبة لبعض معماريات DNN التي تستخدم أنواع بيانات عدد صحيح مضغوط ، فإن نسبة الأداء / الطاقة لمثل هذه FPGAs أعلى من تلك الخاصة بوحدات معالجة الرسومات السائدة.

تجمع FPGAs المتقدمة بين موارد الذاكرة المدمجة ومعالجة الإشارات الرقمية (DSP) لتحقيق أداء عالٍ لعمليات مضاعفة المصفوفة العامة (GEMM). توجد ذاكرتها المدمجة بالقرب من محرك الحوسبة ، مما يخفف من اختناقات ذاكرة وحدة المعالجة المركزية التي تحد عادةً من أداء خوارزميات التعلم الآلي على المعالجات ذات الأغراض العامة. على العكس من ذلك ، يوفر محرك حساب DSP المضمن على FPGA موارد مضاعفة متوازية أكثر من جهاز DSP نموذجي (الشكل 1). يستفيد بائعو FPGA من هذه الميزات عند تقديم منصات تطوير FPGA خصيصًا للتعلم الآلي.

الشكل 1: توفر FPGAs المتقدمة مثل Lattice Semiconductor ECP5 موارد المعالجة المتوازية والذاكرة المدمجة المطلوبة للاستدلال عالي الأداء. (رصيد الصورة: شبكة أشباه الموصلات)

على سبيل المثال ، أدى تقديم Intel مؤخرًا لـ OPENVINO ™ الذي يدعم FPGA إلى توسيع قدرة النظام الأساسي على نشر نماذج الاستدلال على أنواع مختلفة من الأجهزة ، بما في ذلك وحدات معالجة الرسومات ووحدات المعالجة المركزية (GPU) ووحدات المعالجة المركزية (CPU) و FPGAs. على هذا النظام الأساسي ، يمكن للمطورين استخدام سير عمل محرك استدلال التعلم العميق من Intel ، والذي يدمج مجموعة أدوات Intel Deep Learning Deployment Toolkit و Intel Computer Vision Software Development Kit (SDK) المتوفرة في مجموعة أدوات Intel OPENVINO. يقوم المطورون ببناء نماذج باستخدام واجهة برمجة التطبيقات (API) الخاصة بـ SDK ويمكنهم الاستفادة من مُحسِّن نموذج وقت التشغيل من Intel لتحسين الأنظمة الأساسية للأجهزة المختلفة.

تم تصميم مجموعة أدوات تطوير التعلم العميق لتعمل مع Intel DK-DEV-10AX115S-A Arria 10 GX FPGA Development Kit ، وتمكن مجموعة نشر التعلم العميق المطورين من استيراد النماذج المدربة من أطر تعلم الآلة الرائدة ، بما في ذلك Caffe و TensorFlow (الشكل 2). على الأنظمة الأساسية المستهدفة مثل Arria 10 GX FPGA Development Kit أو التصميمات المخصصة باستخدام أجهزة Arria 10 GX FPGA ، يعالج مُحسِّن النموذج ومحرك الاستدلال في مجموعة الأدوات تحويل النموذج ونشره ، على التوالي.

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

الشكل 2: توفر مجموعة أدوات Intel OPENVINO التي تدعم FPGA مجموعة كاملة من سلاسل الأدوات اللازمة لنشر النماذج المدربة على Caffe و TensorFlow وأطر أخرى إلى مجموعة تطوير Arria 10 GX FPGA أو مصممة خصيصًا حول تصميم Arria 10 GX FPGA. (رصيد الصورة: Intel)

لترحيل النموذج الذي تم اختباره مسبقًا ، استخدم المطورون مُحسِّن نموذج قائم على Python لإنشاء تمثيل وسيط (IR) موجود في ملف xml يوفر هيكل الشبكة وملف bin يوفر معلمات النموذج كقيم ثنائية. بالإضافة إلى توليد الأشعة تحت الحمراء ، يؤدي مُحسِّن النموذج وظيفة أساسية – إزالة الطبقات في النموذج المستخدمة للتدريب ولكن ليس لها أي تأثير على الاستدلال. بالإضافة إلى ذلك ، تدمج الأداة كل طبقة توفر عمليات حسابية مستقلة في طبقة مدمجة حيثما أمكن ذلك.

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

محرك Intel Inference هو مكتبة C ++ تحتوي على مجموعة من فئات C ++. هذه الفئات شائعة في الأنظمة الأساسية للأجهزة المستهدفة المدعومة ، لذلك يمكن تنفيذ الاستدلال عبر الأنظمة الأساسية. بالنسبة لتطبيقات الاستدلال ، يستخدم المطورون فئات مثل CNNNetReader لقراءة هيكل CNN الموجود في ملف xml (ReadNetwork) ومعلمات النموذج الموجودة في ملف bin (ReadWeights). بعد تحميل النموذج ، يتم استدعاء طريقة الفئة Infer لتنفيذ استدلال الحظر ، ويتم استدعاء طريقة الفئة StartAsync لإجراء الاستدلال غير المتزامن. عند اكتمال الاستنتاج ، استخدم روتين الانتظار أو الإكمال لمعالجة النتيجة.

توضح Intel سير العمل الكامل واستدعاءات API الخاصة بمحرك الاستدلال التفصيلي في العديد من نماذج التطبيقات التي توفرها بيئة OPENVINO. على سبيل المثال ، يوضح تطبيق نموذج كاميرا الحاجز الأمني ​​استخدام خط أنابيب نموذج الاستدلال لتحديد المربع المحيط بالمركبة أولاً (الشكل 3). يفحص النموذج التالي في خط الأنابيب محتويات الصندوق المحيط ، ويحدد سمات السيارة مثل فئة السيارة ، واللون ، وموضع لوحة الترخيص.

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

الشكل 3: يوضح تطبيق نموذج كاميرا حاجز الأمان من Intel استخدام خط أنابيب الاستدلال لتحديد المركبات (المربع المحيط الأخضر) ، ثم سمات السيارة مثل اللون والنوع وموقع لوحة الترخيص (المربع الأحمر) ، وأخيراً تحديد أحرف لوحة الترخيص (نص أحمر).

منصة رؤية مدمجة متكاملة

بينما يركز نهج OPENVINO الخاص بشركة Intel على إعادة توجيه النظام الأساسي ، تركز منصة Lattice’s SensAI بالكامل على استنتاج FPGA. تتمثل إحدى ميزات نظام SensAI الأساسي في توفر FPGA IP لبنيات DNN ، بما في ذلك شبكات CNN وبنية مدمجة تسمى الشبكة العصبية الثنائية (BNN). بالنسبة للرؤية المضمنة ، يوفر SensAI CNN IP إطارًا لمحرك استدلال كامل ، وربط أنظمة التحكم الفرعية والذاكرة والمدخلات والمخرجات مع تنفيذ أنواع مختلفة من طبقات النموذج بما في ذلك الالتفاف وتطبيع BatchNorm وتنشيط ReLu والتجميع والموارد الأخرى معًا) (الشكل 4).

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

الشكل 4: تنفذ شبكة CNN IP لأشباه الموصلات إطار عمل كامل لنظام الاستدلال ، يجمع بين محرك مخصص وواجهات للتحكم والذاكرة والإدخال والإخراج. (رصيد الصورة: شبكة أشباه الموصلات)

لتنفيذ نموذج CNN ، يقوم المطورون أولاً بتكوين CNN باستخدام أداة تكوين Lattice Clarity في بيئة تصميم Lattice Diamond لـ ECP5 FPGAs أو بيئة التصميم Radiant لعائلات Lattice FPGA الأخرى. هنا ، يمكن للمطور تحديد نوع النموذج (CNN أو BNN) ، وعدد محركات الالتفاف (حتى 8) ، وحجم التخزين الداخلي لكل طبقة (حتى 16 كيلو بايت) أو كائن كبير ثنائي (blob). بعد تكوين CNN ، يستخدم المطورون بيئة التصميم لتوليد النوى مثل FPGA bitstream.

يقوم المطورون بشكل فردي باستيراد النماذج التي تم تطويرها وتدريبها باستخدام Caffe أو TensorFlow إلى منصة SensAI. هنا ، يقوم مترجم الشبكة العصبية Lattice بتحويل نموذج Caffe أو TensorFlow المدربين إلى مجموعة من الملفات التي تحتوي على معلمات نموذج الشبكة العصبية وتسلسل أوامر للتنفيذ. تتضمن منصة SensAI مخرجات منفصلة من بيئة التصميم والمجمع معًا في FPGA لتوفير نموذج الاستدلال النهائي (الشكل 5).

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

الشكل 5: تجمع منصة SensAI لأشباه الموصلات الشبكية CNN و BNN IP مع مترجم الشبكة العصبية ، مما يتيح للمطورين تحويل نماذج Caffe أو TensorFlow للعمل كمحرك استدلال على شبكات FPGAs. (رصيد الصورة: شبكة أشباه الموصلات)

بالنسبة لتطبيقات الرؤية المضمنة ، توفر مجموعة تطوير الرؤية المضمنة (EVDK) Lattice LF-EVDK1-EVN منصة هدف مثالية لتشغيل استدلال نموذج CNN. يوفر EVDK منصة فيديو كاملة قابلة للتكديس بثلاثة ألواح مقاس 80 × 80 مم ، بما في ذلك لوحة إدخال فيديو Lattice CrossLink ولوحة معالج مع ECP5 FPGA ولوحة إخراج HDMI. يمكن للمطورين استخدام EVDK كنظام أساسي مستهدف للعديد من نماذج تطبيقات CNN المقدمة من Lattice. على سبيل المثال ، يستخدم التصميم المرجعي لاكتشاف إشارة السرعة الشبكية EVDK لتوضيح استخدام SensAI CNN IP في تطبيق سيارات نموذجي (الشكل 6).

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

6: يستفيد التصميم المرجعي لاكتشاف إشارة سرعة أشباه الموصلات الشبكية من منصة SensAI ومجموعة تطوير الرؤية المدمجة Lattice LF_EVDK1-EVN لتوفير تطبيق استدلال كامل يمكن للمطورين تشغيله على الفور أو استكشافه بالتفصيل. (رصيد الصورة: شبكة أشباه الموصلات)

تتضمن ملفات المشروع لهذا التطبيق النموذجي مجموعة كاملة من الملفات ، بدءًا من النماذج بتنسيق Caffe caffemodel و TensorFlow pb. لذلك ، يمكن للمطورين استكشاف تفاصيل هذه النماذج. على سبيل المثال ، باستخدام الأداة المساعدة import_pb_to_tensorboard.py TensorFlow ، يمكن للمطورين استيراد نموذج pb المقدم من Lattice لعرض تفاصيل CNN المستخدمة في نموذج التطبيق هذا (الشكل 7). في هذا المثال ، النموذج المقدم عبارة عن سلسلة من أربع وحدات “Fire” ، يتكون كل منها من:

طبقة Conv2D التي تنفذ 3 × 3 تلافيف لاستخراج الميزات من دفق الإدخال

قم بتنشيط الطبقة ، وقم بإجراء تطبيع BatchNorm ، ثم قم بإجراء تنشيط الوحدة الخطية المصححة (ReLU)

طبقة تجمع MaxPool لأخذ عينات من إخراج الطبقة السابقة

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

الشكل 7: يشتمل تطبيق نموذج اكتشاف إشارة السرعة الشبكية على نموذج TensorFlow pb الذي يمكن للمطورين استيراده إلى TensorBoard لفحص تفصيلي. ملاحظة: تتدفق البيانات لأعلى عبر الطبقات في هذا الرسم التخطيطي. (رصيد الصورة: Digi-Key Electronics)

يمكن للمطورين استخدام نظام SensAI لإنشاء ملفات نموذج لإكمال عملية النموذج الموضحة سابقًا. بدلاً من ذلك ، يمكن للمطورين الانتقال مباشرةً إلى مرحلة النشر باستخدام الملفات المتوفرة. في كلتا الحالتين ، يتم تحميل الملفات في EVDK عبر بطاقة microSD مع محول مرفق.

أثناء التشغيل ، توفر الكاميرات الموجودة على EVDK تدفقات فيديو إلى ECP5 FPGA ، حيث ينفذ مسرع CNN IP سلسلة من الأوامر لأداء الاستدلال. كما هو الحال مع أي محرك استدلال ، تنتج كل قناة مخرجات نتيجة تشير إلى احتمالية أن التسمية المرتبطة بقناة الإخراج هذه هي التسمية المصححة لصورة الإدخال. في هذا المثال ، تم تدريب النموذج على صور مشروحة لعلامات حد السرعة عند 25 و 30 و 35 و 40 و 45 و 50 و 55 و 60 و 65 ميلاً في الساعة. لذلك ، عندما يكتشف النموذج علامة حد السرعة في أي مكان في حقل الإدخال الخاص به ، فإنه يعرض أن العلامة المكتشفة تتوافق مع احتمال حد سرعة 25 أو 30 أو 35 أو 40 أو 45 أو 50 أو 55 أو 60 أو 65 ميلاً في الساعة (الشكل 8) .

نظام أساسي للتعلم الآلي يعتمد على FPGA وكيفية استخدامه

الشكل 8: يتم تشغيل العرض التوضيحي لاكتشاف إشارة سرعة الشبكة على EVDK الشبكي ، مما يؤدي إلى إجراء استدلال على دفق إدخال الفيديو ، مما يؤدي إلى إنشاء قيم مخرجات تشير إلى احتمالية أن تتوافق الصورة الملتقطة مع الملصق المرتبط بهذا الإخراج المعين. في هذه الحالة ، يُظهر أن علامة حد السرعة هي على الأرجح 25 ميلاً في الساعة. (رصيد الصورة: شبكة أشباه الموصلات)

لخص

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

The Links:   LM170E03-TLJ7   DMF-50383NF-FW

  • components
  • الإخبارية
  • ابدأ من أبعاد متعددة لإنشاء معدات اختبار أوتوماتيكية مستقرة وفعالة لتلبية الفرص والتحديات في عصر تكامل الدائرة المتكاملة
  • نتحدث عن حالة صناعة شنغهاي IC
  • Fuji 2MBI100U4A-120 New Stock
  • Fuji 2MBI200U4H-120 New Stock
  • ما هو الفرق بين المستشعر والمشغل
©2022 bsm300gb120dlc | Created by bsm300gb120dlc
Go to mobile version