ألفا ديف

ألفا ديف هو نظام ذكاء اصطناعي طورته جوجل ديب مايند لاكتشاف خوارزميات محسّنة في علوم الحاسوب باستخدام التعلم المعزز . يعتمد ألفا ديف على ألفا زيرو ، وهو نظام أتقن ألعاب الشطرنج والشوجي والجو من خلال اللعب الذاتي. يطبق ألفا ديف نفس المنهجية لإيجاد خوارزميات أسرع للمهام الأساسية مثل الفرز والتجزئة . [ 1 ] [ 2 ] [ 3 ]

تطوير

في 7 يونيو 2023، نشرت جوجل ديب مايند ورقة بحثية في مجلة نيتشر تُعرّف ببرنامج ألفا ديف، الذي اكتشف خوارزميات جديدة تفوقت على أحدث الطرق في مجال خوارزميات الفرز الصغيرة. [ 1 ] على سبيل المثال، وجد ألفا ديف تسلسلًا أسرع بلغة التجميع لفرز سلاسل مكونة من 5 عناصر. [ 4 ] بعد تحليل الخوارزميات بعمق، اكتشف ألفا ديف تسلسلين فريدين من تعليمات التجميع، يُطلق عليهما اسم "نقل التبديل" و"نقل النسخ" في ألفا ديف، واللذان يتجنبان استخدام تعليمة تجميع واحدة في كل مرة يتم تطبيقهما. [ 1 ] [ 3 ] بالنسبة لخوارزميات فرز المتغيرات، اكتشف ألفا ديف هياكل خوارزمية مختلفة جذريًا. على سبيل المثال، بالنسبة لخوارزمية فرز VarSort4 (فرز ما يصل إلى 4 عناصر)، اكتشف ألفا ديف خوارزمية أقصر بـ 29 تعليمة تجميع من المعيار البشري. [ 1 ] كما حسّن ألفا ديف سرعة خوارزميات التجزئة بنسبة تصل إلى 30% في بعض الحالات. [ 2 ]

في يناير 2022، قدمت جوجل ديب مايند خوارزميات الفرز الجديدة الخاصة بها إلى المنظمة المسؤولة عن إدارة لغة البرمجة C++ ، إحدى أشهر لغات البرمجة في العالم، وبعد تدقيق مستقل، أُضيفت خوارزميات ألفا ديف إلى المكتبة. [ 5 ] كان هذا أول تغيير يُجرى على خوارزميات الفرز في مكتبة C++ القياسية منذ أكثر من عقد، وأول تحديث يتضمن خوارزمية تم اكتشافها باستخدام الذكاء الاصطناعي. [ 5 ] في يناير 2023، أضافت ديب مايند أيضًا خوارزمية التجزئة الخاصة بها للمدخلات التي تتراوح من 9 إلى 16 بايت إلى مكتبة Abseil مفتوحة المصدر للغة C++ . [ 6 ] [ 5 ] تُقدّر جوجل أن هاتين الخوارزميتين تُستخدمان تريليونات المرات يوميًا. [ 7 ]

تصميم

تم بناء AlphaDev على AlphaZero، وهو نموذج التعلم المعزز الذي درّبته DeepMind لإتقان ألعاب مثل Go والشطرنج. [ 5 ] تمثلت ريادة الشركة في معالجة مشكلة إيجاد خوارزمية أسرع كلعبة، ثم تدريب ذكائها الاصطناعي للفوز بها. [ 2 ] يلعب AlphaDev لعبة فردية، حيث يتمثل الهدف في بناء خوارزمية بلغة التجميع بشكل متكرر، بحيث تكون سريعة وصحيحة في آن واحد. [ 1 ] يستخدم AlphaDev شبكة عصبية لتوجيه بحثه عن الحركات المثلى، ويتعلم من خبرته الخاصة ومن العروض التوضيحية الاصطناعية. [ 1 ]

يُبرز مشروع AlphaDev إمكانات الذكاء الاصطناعي في تطوير أسس الحوسبة وتحسين البرمجيات وفقًا لمعايير مختلفة. وتأمل جوجل ديب مايند أن يُلهم مشروع AlphaDev المزيد من الأبحاث حول استخدام الذكاء الاصطناعي لاكتشاف خوارزميات جديدة وتحسين الخوارزميات الحالية. [ 2 ]

الخوارزمية

خوارزمية التعلم الأساسية في AlphaDev هي امتداد لخوارزمية AlphaZero .

ترميز لغة التجميع في لعبة

لاستخدام AlphaZero في برمجة لغة التجميع، ابتكر المؤلفون تمثيلًا متجهيًا قائمًا على Transformer لبرامج التجميع، مصممًا لالتقاط بنيتها الأساسية. [ 1 ] يسمح هذا التمثيل المحدود للشبكة العصبية بلعب برمجة لغة التجميع كلعبة ذات عدد محدود من الحركات الممكنة (مثل لعبة Go).

يستخدم التمثيل المكونات التالية:

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

لعب اللعبة

حالة اللعبة هي برنامج التجميع الذي تم إنشاؤه حتى نقطة معينة.

حركة اللعبة هي تعليمات إضافية ملحقة ببرنامج التجميع الحالي.

تعتمد مكافأة اللعبة على دقة برنامج التجميع وزمن استجابته. ولتقليل التكلفة، لا يحسب برنامج AlphaDev زمن الاستجابة الفعلي إلا على أقل من 0.002% من البرامج المُولَّدة، إذ لا يُقيِّم زمن الاستجابة أثناء عملية البحث. وبدلاً من ذلك، يستخدم دالتين لتقدير الدقة وزمن الاستجابة من خلال التدريب عبر التعلم الخاضع للإشراف باستخدام قيم الدقة وزمن الاستجابة الفعلية المقاسة.

نتيجة

التجزئة

قامت شركة AlphaDev بتطوير خوارزميات التجزئة للمدخلات التي تتراوح من 9 إلى 16 بايت إلى Abseil، وهي مجموعة مفتوحة المصدر من خوارزميات C++ المكتوبة مسبقًا. [ 8 ]

مكتبة الفرز القياسية لـ LLVM

اكتشفت شركة AlphaDev خوارزميات فرز جديدة، مما أدى إلى تحسينات تصل إلى 70% في مكتبة فرز libc++ الخاصة بـ LLVM للتسلسلات القصيرة، وتحسينات بنسبة 1.7% تقريبًا للتسلسلات التي تتجاوز 250,000 عنصر. وتشمل هذه التحسينات أنواع البيانات uint32 وuint64 وfloat لمعالجات ARMv8 وIntel Skylake وAMD Zen 2. وقد ساهمت تقنية التجميع الشرطي بدون تفرع وتقنية نقل التبديل الجديدة من AlphaDev في هذه التحسينات في الأداء. تمت هندسة الخوارزميات المكتشفة عكسيًا من لغة التجميع منخفضة المستوى إلى لغة C++، وتم تضمينها رسميًا في مكتبة الفرز القياسية libc++. [ 6 ]

تحسين عملية إلغاء التسلسل في بروتوكول البيانات

تعلم برنامج AlphaDev دالة محسّنة لفك تسلسل VarInt في بروتوكول protobuf ، [ 9 ] متفوقًا على الأداء البشري في معالجة المدخلات أحادية القيمة بثلاثة أضعاف تقريبًا من حيث السرعة. كما اكتشف AlphaDev أيضًا طريقة جديدة لتخصيص VarInt، تجمع عمليتين في تعليمة واحدة لتوفير زمن الاستجابة.

مقارنة مع نهج الذكاء الاصطناعي المنطقي

قورن أداء AlphaDev بالتحسين الفائق العشوائي [ 10 ] ، وهو نهج منطقي للذكاء الاصطناعي. تم تشغيل الأخير بنفس القدر من الموارد والوقت الفعلي على الأقل الذي استخدمه AlphaDev. أظهرت النتائج أن AlphaDev-S يتطلب وقتًا طويلًا جدًا للتحسين المباشر لزمن الاستجابة، حيث يجب حساب زمن الاستجابة بعد كل تغيير. لذلك، يُحسّن AlphaDev-S زمن الاستجابة باستخدام مؤشر تقريبي، وهو طول الخوارزمية، ثم في نهاية التدريب، يتم البحث في جميع البرامج الصحيحة التي أنشأها AlphaDev-S.

انظر أيضاً

مراجع

  1. 1 2 3 4 5 6 7 مانكويتز، دانيال جيه؛ ميتشي، أندريا؛ زيرنوف، أنطون؛ جيلمي، ماركو؛ سيلفي، ماركو؛ بادورارو، كوزمين؛ لورينت، إدوارد؛ إقبال، شاريق؛ ليسبيو، جان بابتيست؛ أهيرن، أليكس؛ كوب، توماس؛ ميليكين، كيفن؛ غافني، ستيفن؛ إلستر، صوفي؛ بروشير، جاكسون؛ غامبل، كريس؛ ميلان، كيران؛ تونغ، روبرت؛ هوانغ، مينجاي؛ سيمجيل، تايلان؛ باريكاتين، محمد أمين؛ لي، يوجيا؛ مانداني، أمول؛ هوبرت، توماس؛ شريتويزر، جوليان؛ حسابيس، ديميس؛ كوهلي، بوشميت؛ ريدميلر، مارتن؛ فينيالز، أوريول؛ سيلفر، ديفيد (2023). "اكتشاف خوارزميات فرز أسرع باستخدام التعلم العميق المعزز" . Nature . 618 (7964): 257–263 . Bibcode : 2023Natur.618..257M . doi : 10.1038/ s41586-023-06004-9 . PMC 10247365. PMID 37286649 .  
  2. ١ ٢ ٣ ٤ "ألفا ديف يكتشف خوارزميات فرز أسرع" . مدونة . جوجل ديب مايند. ٧ يونيو ٢٠٢٣. مؤرشف من الأصل في ٢٠ يونيو ٢٠٢٣. تم الاطلاع عليه في ٢٠ يونيو ٢٠٢٣ .
  3. 1 2 توني، جوستين (2023-06-20). "فهم خوارزمية الفرز الخاصة بـ DeepMind" . justine.lol . مؤرشف من الأصل في 2023-06-18 . تم الاسترجاع في 2023-06-20 .
  4. جيت هاب - ألفا ديف ، ديب مايند، 21-06-2023 ، تم الاطلاع عليه في 21-06-2023
  5. 1 2 3 4 هيفن، بقلم ويل دوغلاس (7 يونيو 2023). "الذكاء الاصطناعي الخاص بلعب الألعاب من جوجل ديب مايند وجد طريقة أخرى لتسريع كتابة البرامج" . مجلة إم آي تي ​​للتكنولوجيا . مؤرشف من الأصل في 14 يونيو 2023. تم الاطلاع عليه في 20 يونيو 2023 .
  6. 1 2 "⚙ D118029 تقديم دوال فرز بدون تفرع لـ sort3 و sort4 و sort5" . reviews.llvm.org . تم الاطلاع عليه بتاريخ 21-06-2023 .
  7. سباركس، ماثيو (7 يونيو 2023). "طريقة جديدة لفرز الأشياء من ديب مايند للذكاء الاصطناعي قد تسرّع الحوسبة العالمية" . مجلة نيو ساينتست . تاريخ الاسترجاع: 20 يونيو 2024 .
  8. "استبدال absl::Hash للمدخلات من 9 إلى 16 بايت وفقًا لنتائج AlphaZero من فريق Abseil · abseil/abseil-cpp@74eee2a" . GitHub . تم الاطلاع عليه بتاريخ 24-06-2023 .
  9. "تسلسل وفك تسلسل بروتوكول VarInt" . protobuf.dev . تم الاطلاع عليه بتاريخ 24-06-2023 .
  10. شكوفزا، إريك؛ شارما، راهول؛ أيكن، أليكس (16 مارس 2013). "التحسين الفائق العشوائي" . أخبار هندسة الحاسوب من ACM SIGARCH . 41 (1): 305-316 . arXiv : 1211.0557 . doi : 10.1145/2490301.2451150 . ISSN 0163-5964 .