المساحة الإخبارية

مايكروسوفت تستخدم الشبكات العصبونية لتسريع عمليات البحث الخاصة بمحرك “بينغ Bing”

عندما نقوم بالبحث عبر المؤشر الشبكي لموقع Google، نكون نبحث في 10% فقط من النصف ترليون صفحة المُمكن توافرها على شبكة الإنترنت! يُوجد قسم كبير من المَضمون على الإنترنت وغير ظاهرٍ بالنسبة لنا، وهو يختفي بعيداً في الشبكة العميقة Deep Web، وهي ليست نفسها الشبكة المظلمة Dark Web (التي لا تستطيع شبكة الإنترنيت الوصول إليها)، والتي تكمن داخل المواقع التي تُشكّل الشبكة السطحية. مازالت مؤشرات المنافسين كموقع Yahoo و Bing (يبلغان كلاهما حوالي 15 بليون صفحة) تصل إلى نصف حجم غوغل. في هدف سد هذا الفرق الكبير، قامت شركة مايكروسوفت Microsoft مؤخراً بتطوير تقنية تعتمد على ” مصفوفة البوابات الحقلية القابلة للبرمجة (Field Programmable Gate Array (FPGA” الحديثة والمُعقدة لزيادة كفاءة زحف الشبكة Web Crawl الهائل وسرعتها، وذلك على متصفح الإنترنت الخاص بها، أي متصفح “بينغ Bing”.

قام المهندسون في غوغل سابقاً بحساب أن الزمن الاعتيادي للاستعلام الشبكي يبلغ حوالي 0.2 ثانية – أي الزمن اللازم للحصول على نتيجة البحث –  ويتطلب هذا الزمن البسيط قيمة عمل في الفهرسة والاسترجاع تساوي تقريباً 0.0003 كيلو واط ساعي من الطاقة للبحث الواحد. وبوجود استطلاعات بلغت 100 بليون في الشهر عندما مؤشر البيتا-بايت، أصبح اقتراح التطبيق الجيد لترتيب المواقع أمراً لا مهرب منه.

الآن، فإن النهج الجديد الذي ستقوم به شركة مايكروسوفت يعتمد على أمرين متداخلين: استخدام تقنيات الذكاء الصنعي التي تعتمد على مفهوم الشبكات العصبونية Neural Networks، واستخدام تقنياتٍ عتادية متقدمة تعتمد على أنظمة المصفوفات الحقلية القابلة للبرمجة FPGA.

تسعى مايكروسوفت في نهجها مع Bing لتقسيم عملية البحث إلى ثلاث أقسام: استخلاص الخصائص Feature Extraction، التعبيرات السجّلات Free-Form Expressions، وآلة تسجيل التّعلم Machine Learning Scoring، وذلك كما تظهر الصورة التالية:

FPGAworkflow

مازالت خدمة اختيار الوثائق في موقع Bing، التي تسترجع وتُرشح الوثائق التي تحتوي على مصطلحات البحث، تعمل على معالجات Xeon. تم تحويل خدمات الترتيب الخاصة بها، التي تسجل الوثائق المُرشحة حسب ظهورها على نتائج البحث، إلى نظام FPGA وما يدعون “Project Catapult”. تستطيع مايكروسوفت توفير “دارات متكاملة لتطبيقات معينة ASICs Application Specific Integrated Circuits” مصممة خصوصاً بهدف تسريع عمليات الترتيب في Bing. لكن، وبسبب السرعة المتواجدة التي تتغير من خلالها خوارزميات البرنامج، لن تستطيع غالباً توفير عتاد FPGA مُبرمج.

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

كان أساس مشروع Project Catapult يعتمد على بطاقة PCI-Express والتي تم تصميمها عام 2011 والتي استخدمت ست أجهزة FPGA من شركة Xilinx وموصلة إلى مُتحكمات. ولكن تطلبت عملية دمج أجهزة جديدة إلى المُخدّمات المتواجدة العديد من عمليات إعادة التصميم للتّقيد بحدود كمية الطاقة التي سيستهلكها الجهاز، وكمية الحرارة التي ستبعثها.

يعتمد التصميم الجديد الآن على جهاز “Stratix V GS D5 FPGA” من شركة Altera. ولمُحبي أجهزة FPGA، هذا الجهاز بالذات يحتوي على 1590 مقطع لمُعالجات الإشارة الرقمية، 2104 مقطع ذاكرة M20K، و 36 مرسل ومستقبل بتردد 14.1 غيغا بت في الثانية. وأعلن فريق Bing في الأسبوع الماضي في مؤتمر ISCA 2014 أن هذه المنصة تسمح الترتيب باستخدام نصف عدد المُخدّمات المُستخدمة سابقاً.

Catapult

أطلقت مايكروسوفت عليها مصطلح “التفاف مسرع الشبكة العصبية Convolution Neural Network Accelerator”. يُستخدم الالتفاف Convolution بشدة في تطبيقات تحليل الإشارة مثل الرؤية الحاسوبية Computer Vision، التعرف على الكلام Speech Recognition، أو أي مكان يحتاج المتوسط الخاص Special Averaging أو الارتباط التصالبي Cross-Correlation. ففي الرؤية الحاسوبية، على سبيل المثال، من الممكن استخدام الالتفاف ثنائي الأبعاد لمراسلة كل بكسل Pixel باستخدام المعلومات من المجاورات بشكل لحظي لتحقيق تأثيرات ترشيحية مُختلفة. تتألف شبكات الالتفاف العصبية “Convolution Neural network CNNs” من تجمعات صغيرة من الخلايا العصبونية الصناعية، حيث كلٍّ منها يُرّكز على قسمٍ صغير من الصورة، الحقل الخاص بكلٍّ منهم. استطاعت CNNs في التفوق على الإنسان في تحديد الأجسام في التّحديات مثل ImageNet 1000. فإن تحديد الوثائق للترتيب تُعتبر مشكلة مماثلة، والتي أصبحت واحدة من العديد من المشاكل التي تتمنى شركة مايكروسوفت أن تحلها عبر CNNs.

حالياً، يتطلع المهندسون في مايكروسوفت للبدء في استخدام أجهزة Arria 10 FPGA من شركة Altera. تم تحسين هذه الشريحة للقيام بالعمليات الحسابية للأرقام ذات الفاصلة العائمة Floating Point Operations المُكثفة التي كانت عادةً ما تتم في مجال عمل معالج الإشارة الرقمية DSP. باستخدام هذه التقنية الجديدة التي تعمل في سرعات من رتبة تيرا-فلوب وبكفاءة أعلى بثلاث مرات بالمقارنة مع GPU، تتمنى مايكروسوفت لمساعدتها في الحصول على زيادات ملحوظة في مجال عمل البحث والترتيب.

المصدر: [Extreme Tech]

Michel Aractingi

طالب هندسة كهرباء في جامعة البلمند

مقالات ذات صلة

زر الذهاب إلى الأعلى