وحدات معالجة الرسومات المشغولة: تعمل طريقة أخذ العينات وتوجيهها على تسريع التعلم العميق على الرسوم البيانية الكبيرة PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

وحدات معالجة الرسومات المشغولة: تعمل طريقة أخذ العينات وتسلسلها على تسريع التعلم العميق على الرسوم البيانية الكبيرة

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

الآن ، هناك طريقة جديدة تسمى SALIENT (SAmpling ، sLIcing ، وتحريك البيانات) ، طورها باحثون في MIT و IBM Research ، تعمل على تحسين أداء التدريب والاستدلال من خلال معالجة ثلاثة اختناقات رئيسية في الحساب. هذا يقلل بشكل كبير من وقت تشغيل GNNs على مجموعات البيانات الكبيرة ، والتي تحتوي ، على سبيل المثال ، على مقياس من 100 مليون عقدة ومليار حافة. علاوة على ذلك ، وجد الفريق أن هذه التقنية تتطور جيدًا عند إضافة قوة حسابية من وحدة إلى 1 وحدة معالجة رسومية (GPUs). تم تقديم العمل في المؤتمر الخامس للتعلم الآلي والأنظمة.

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

من خلال مجموعات البيانات الضخمة ، يقصد الخبراء المقاييس مثل شبكة Bitcoin بأكملها ، حيث يمكن أن توضح أنماط وعلاقات بيانات معينة اتجاهات أو تلاعبًا خاطئًا. يقول المؤلف المشارك جي تشين ، كبير علماء ومدير الأبحاث IBM Research و MIT-IBM Watson AI Lab. "نريد بناء نظام قادر على التعامل مع هذا النوع من الرسم البياني ويسمح للمعالجة بأن تكون فعالة قدر الإمكان ، لأننا نريد كل يوم مواكبة وتيرة البيانات الجديدة التي يتم إنشاؤها."

من بين المؤلفين المشاركين لكالر وتشين نيكولاس ستاثاس مينج 21 من Jump Trading ، الذي طور SALIENT كجزء من عمله في الدراسات العليا. المتدربة السابقة في مختبر MIT-IBM Watson AI وطالبة الدراسات العليا بمعهد ماساتشوستس للتكنولوجيا Anne Ouyang ؛ معهد ماساتشوستس للتكنولوجيا CSAIL لما بعد الدكتوراة ألكسندروس ستافروس إليوبولوس ؛ تاو ب. شاردل ، عالم الأبحاث في معهد ماساتشوستس للتكنولوجيا CSAIL ؛ و Charles E. Leiserson ، أستاذ الهندسة الكهربائية في Edwin Sibley Webster في MIT والباحث في MIT-IBM Watson AI Lab.     

بالنسبة لهذه المشكلة ، اتخذ الفريق نهجًا موجهًا نحو الأنظمة في تطوير طريقتهم: SALIENT ، كما يقول كالر. للقيام بذلك ، طبق الباحثون ما رأوه مهمًا ، تحسينات أساسية للمكونات التي تتناسب مع أطر التعلم الآلي الحالية ، مثل PyTorch Geometric ومكتبة الرسم البياني العميق (DGL) ، وهي واجهات لبناء نموذج التعلم الآلي. يقول ستاثاس إن العملية تشبه تبديل المحركات لبناء سيارة أسرع. تم تصميم طريقتهم لتتناسب مع بنى GNN الحالية ، بحيث يمكن لخبراء المجال بسهولة تطبيق هذا العمل على مجالاتهم المحددة لتسريع تدريب النموذج واستنباط الأفكار أثناء الاستدلال بشكل أسرع. قرر الفريق أن الحيلة كانت إبقاء جميع الأجهزة (وحدات المعالجة المركزية ، وروابط البيانات ، ووحدات معالجة الرسومات) مشغولة في جميع الأوقات: أثناء قيام وحدة المعالجة المركزية بتجربة الرسم البياني وإعداد مجموعات صغيرة من البيانات التي سيتم نقلها بعد ذلك من خلال رابط البيانات ، كلما زادت أهمية عمل وحدة معالجة الرسومات لتدريب نموذج التعلم الآلي أو إجراء الاستدلال. 

بدأ الباحثون بتحليل أداء مكتبة التعلم الآلي شائعة الاستخدام لـ GNNs (PyTorch Geometric) ، والتي أظهرت استخدامًا منخفضًا بشكل مذهل لموارد وحدة معالجة الرسومات المتاحة. من خلال تطبيق تحسينات بسيطة ، قام الباحثون بتحسين استخدام GPU من 10 إلى 30 بالمائة ، مما أدى إلى تحسين أداء 1.4 إلى مرتين مقارنة بأكواد المعايير العامة. يمكن أن ينفذ رمز خط الأساس السريع هذا تمريرة كاملة واحدة عبر مجموعة بيانات تدريب كبيرة عبر الخوارزمية (حقبة) في 50.4 ثانية.                          

سعياً إلى مزيد من التحسينات في الأداء ، شرع الباحثون في فحص الاختناقات التي تحدث في بداية خط أنابيب البيانات: خوارزميات أخذ العينات من الرسم البياني وإعداد الدُفعات الصغيرة. على عكس الشبكات العصبية الأخرى ، تقوم شبكات GNN بإجراء عملية تجميع حي ، والتي تحسب المعلومات حول العقدة باستخدام المعلومات الموجودة في العقد الأخرى المجاورة في الرسم البياني - على سبيل المثال ، في الرسم البياني للشبكة الاجتماعية ، معلومات من أصدقاء أصدقاء المستخدم. مع زيادة عدد الطبقات في GNN ، يمكن أن ينفجر عدد العقد التي يجب على الشبكة الوصول إليها للحصول على المعلومات ، متجاوزًا حدود الكمبيوتر. تساعد خوارزميات أخذ العينات من الجوار عن طريق اختيار مجموعة فرعية عشوائية أصغر من العقد لتجميعها ؛ ومع ذلك ، وجد الباحثون أن التطبيقات الحالية لهذا كانت بطيئة للغاية لمواكبة سرعة معالجة وحدات معالجة الرسومات الحديثة. رداً على ذلك ، حددوا مزيجًا من هياكل البيانات ، والتحسينات الحسابية ، وما إلى ذلك مما أدى إلى تحسين سرعة أخذ العينات ، مما أدى في النهاية إلى تحسين عملية أخذ العينات وحدها بنحو ثلاث مرات ، مع أخذ وقت التشغيل لكل فترة من 50.4 إلى 34.6 ثانية. ووجدوا أيضًا أن أخذ العينات ، بمعدل مناسب ، يمكن إجراؤه أثناء الاستدلال ، وتحسين كفاءة الطاقة والأداء بشكل عام ، وهي نقطة تم تجاهلها في الأدبيات ، كما يلاحظ الفريق.      

في الأنظمة السابقة ، كانت خطوة أخذ العينات هذه نهجًا متعدد العمليات ، مما أدى إلى إنشاء بيانات إضافية وحركة بيانات غير ضرورية بين العمليات. جعل الباحثون طريقتهم المميزة أكثر ذكاءً من خلال إنشاء عملية واحدة باستخدام خيوط خفيفة الوزن تحافظ على البيانات الموجودة على وحدة المعالجة المركزية في الذاكرة المشتركة. علاوة على ذلك ، يستفيد SALIENT من ذاكرة التخزين المؤقت للمعالجات الحديثة ، كما يقول Stathas ، الذي يوازي تقطيع الميزات ، والذي يستخرج المعلومات ذات الصلة من العقد ذات الأهمية والجيران والحواف المحيطة بها ، داخل الذاكرة المشتركة لذاكرة التخزين المؤقت الأساسية لوحدة المعالجة المركزية. أدى هذا مرة أخرى إلى تقليل وقت التشغيل الإجمالي لكل فترة من 34.6 إلى 27.8 ثانية.

كان آخر عنق الزجاجة الذي تناوله الباحثون هو توجيه عمليات نقل بيانات الدُفعات الصغيرة بين وحدة المعالجة المركزية ووحدة معالجة الرسومات باستخدام خطوة الجلب المسبق ، والتي من شأنها إعداد البيانات قبل الحاجة إليها مباشرة. حسب الفريق أن هذا من شأنه زيادة استخدام النطاق الترددي في ارتباط البيانات ورفع الطريقة إلى الاستخدام الأمثل ؛ ومع ذلك ، لم يروا سوى حوالي 90 في المائة. لقد حددوا وأصلحوا خطأ في الأداء في مكتبة PyTorch الشهيرة التي تسببت في اتصالات غير ضرورية ذهابًا وإيابًا بين وحدة المعالجة المركزية ووحدة معالجة الرسومات. مع إصلاح هذا الخطأ ، حقق الفريق وقت تشغيل 16.5 ثانية لكل فترة مع SALIENT.

يقول كالر: "أظهر عملنا ، على ما أعتقد ، أن الشيطان يكمن في التفاصيل". "عندما تولي اهتمامًا وثيقًا للتفاصيل التي تؤثر على الأداء عند تدريب الشبكة العصبية للرسم البياني ، يمكنك حل عدد كبير من مشكلات الأداء. مع حلولنا ، انتهى بنا الأمر إلى أن نكون في مأزق بسبب حساب GPU ، وهو الهدف المثالي لمثل هذا النظام ".

تم تقييم سرعة SALIENT على ثلاث مجموعات بيانات قياسية ogbn-arxiv و ogbn-products و ogbn-paper100M ، وكذلك في إعدادات متعددة الأجهزة ، مع مستويات مختلفة من التوزيع (كمية البيانات التي ستجهزها وحدة المعالجة المركزية لوحدة معالجة الرسومات) ، و عبر العديد من البنى ، بما في ذلك أحدثها ، GraphSAGE-RI. في كل إعداد ، تفوقت SALIENT على PyTorch Geometric ، وعلى الأخص في مجموعة البيانات الكبيرة ogbn-paper100M ، التي تحتوي على 100 مليون عقدة وأكثر من مليار حافة هنا ، كان أسرع بثلاث مرات ، يعمل على وحدة معالجة رسومات واحدة ، من خط الأساس المُحسّن الذي تم إنشاؤه في الأصل من أجل هذا العمل؛ مع 16 وحدة معالجة رسومات ، كان SALIENT أسرع بثماني مرات إضافية. 

في حين أن الأنظمة الأخرى تحتوي على أجهزة وإعدادات تجريبية مختلفة قليلاً ، لذلك لم تكن دائمًا مقارنة مباشرة ، إلا أن SALIENT لا يزال يتفوق عليها. من بين الأنظمة التي حققت دقة مماثلة ، تتضمن أرقام الأداء التمثيلية 99 ثانية باستخدام وحدة معالجة رسومات واحدة و 32 وحدة معالجة مركزية ، و 13 ثانية باستخدام 1,536 وحدة معالجة مركزية. في المقابل ، كان وقت تشغيل SALIENT باستخدام وحدة معالجة رسومات واحدة و 20 وحدة معالجة مركزية 16.5 ثانية وكان ثانيتين فقط مع 16 وحدة معالجة رسومات و 320 وحدة معالجة مركزية. يقول كالر: "إذا نظرت إلى أرقام الخلاصة النهائية التي وردت في تقارير العمل السابقة ، فإن وقت تشغيل وحدة معالجة الرسومات البالغ عددها 16 (ثانيتان) هو ترتيب من حيث الحجم أسرع من الأرقام الأخرى التي تم الإبلاغ عنها مسبقًا في مجموعة البيانات هذه". عزا الباحثون تحسينات أدائهم ، جزئيًا ، إلى نهجهم في تحسين الكود الخاص بهم لجهاز واحد قبل الانتقال إلى الإعداد الموزع. يقول Stathas أن الدرس هنا هو أنه بالنسبة لأموالك ، "من المنطقي أكثر استخدام الأجهزة التي تمتلكها بكفاءة ، وإلى أقصى حد ، قبل أن تبدأ في التوسع إلى أجهزة كمبيوتر متعددة" ، والتي يمكن أن توفر وفورات كبيرة في التكلفة وانبعاثات الكربون التي يمكن أن تأتي مع تدريب النموذج.

ستسمح هذه السعة الجديدة للباحثين الآن بالتعامل والتعمق أكثر في الرسوم البيانية الأكبر والأكبر. على سبيل المثال ، تحتوي شبكة Bitcoin التي تم ذكرها سابقًا على 100,000،1,000 عقدة ؛ يمكن لنظام SALIENT التعامل بكفاءة مع رسم بياني أكبر XNUMX مرة (أو ثلاث مرات من حيث الحجم).

"في المستقبل ، سننظر ليس فقط في تشغيل نظام تدريب الشبكة العصبية للرسم البياني هذا على الخوارزميات الحالية التي قمنا بتنفيذها لتصنيف أو توقع خصائص كل عقدة ، ولكننا نريد أيضًا القيام بمزيد من المهام المتعمقة ، مثل تحديد الأنماط الشائعة في الرسم البياني (أنماط الرسم البياني الفرعي) ، [والتي] قد تكون مثيرة للاهتمام للإشارة إلى الجرائم المالية "، كما يقول تشين. "نريد أيضًا تحديد العقد في رسم بياني متشابهة بمعنى أنها قد تكون مطابقة لنفس الفاعل السيئ في جريمة مالية. ستتطلب هذه المهام تطوير خوارزميات إضافية ، وربما أيضًا معماريات للشبكات العصبية ".

تم دعم هذا البحث من قبل مختبر MIT-IBM Watson AI وجزئيًا من قبل مختبر أبحاث القوات الجوية الأمريكية ومسرع الذكاء الاصطناعي التابع للقوات الجوية الأمريكية.

الطابع الزمني:

اكثر من مستشارو Blockchain