أبريل 24, 2024

Alqraralaraby

الأخبار والتحليلات من الشرق الأوسط والعالم والوسائط المتعددة والتفاعلات والآراء والأفلام الوثائقية والبودكاست والقراءات الطويلة وجدول البث.

أحدث مشروع AI لـ DeepMind يحل تحديات البرمجة مثل مبتدئ

أحدث مشروع AI لـ DeepMind يحل تحديات البرمجة مثل مبتدئ
تكبير / إذا طُلب من منظمة العفو الدولية ابتكار صورة لهذه المقالة ، فهل ستفكر في ذلك المصفوفة؟

عالج قسم DeepMind AI في Google كل شيء من ستار كرافت إلى البروتين للطي. لذا فليس من المستغرب على الأرجح أن المبدعين قد تحولوا في النهاية إلى ما هو بلا شك مصلحة شخصية: برمجة الكمبيوتر. في إصدار يوم الخميس من Science ، تصف الشركة نظامًا طورته ينتج رمزًا استجابةً لبرمجة نموذجية لتلك المستخدمة في مسابقات البرمجة البشرية.

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

الارتقاء إلى مستوى التحدي

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

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

READ  انفجار غريب في مكان غير متوقع

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

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

بمجرد تدريب النظام ، مر بفترة ضبط. قامت DeepMind بإعداد مسابقات البرمجة الخاصة بها ثم إدخال النتائج في النظام: وصف المشكلة ، ورمز العمل ، والكود الفاشل ، وحالات الاختبار المستخدمة للتحقق من ذلك.

تم تجربة أساليب مماثلة سابقًا ، لكن DeepMind يشير إلى أنه كان قادرًا على إلقاء المزيد من الموارد في التدريب. تشير الورقة إلى أن “المحرك الرئيسي لأداء AlphaCode جاء من زيادة عدد عينات النماذج إلى أوامر من حيث الحجم أكبر من العمل السابق.”