يتفوق AlphaCode من DeepMind على البرمجة والأداء بالإضافة إلى الذكاء البشري في بيانات PlatoBlockchain. البحث العمودي. منظمة العفو الدولية.

ينتصر AlphaCode الخاص بـ DeepMind على التشفير والأداء مثل البشر

قد يكون سر البرمجة الجيدة هو تجاهل كل ما نعرفه عن كتابة التعليمات البرمجية. على الأقل ل AI.

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

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

مبرمجو الذكاء الاصطناعي ليسوا شيئًا جديدًا. بالعودة إلى عام 2021 ، صدر مختبر الأبحاث غير الربحي OpenAI مجموعة مخطوطات، وهو برنامج يتقن أكثر من اثنتي عشرة لغة برمجة ويتوافق مع لغة الحياة اليومية الطبيعية. ما الذي يميز إصدار DeepMind's AI - مدبلج ألفا كود—آبار جزء من ما لا تحتاجه.

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

عندما تم تحديها في CodeContest - عذاب معركة البرمجة التنافسية - حلت منظمة العفو الدولية حوالي 30 بالمائة من المشكلات ، بينما تغلبت على نصف المنافسة البشرية. قد يبدو معدل النجاح ضئيلًا ، لكن هذه مشاكل معقدة للغاية. على سبيل المثال ، نجح برنامج OpenAI's Codex في إدارة نجاح من رقم واحد عند مواجهة معايير مماثلة.

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

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

ربما الأهم من ذلك ، أن AlphaCode يمهد الطريق لطريقة جديدة لتصميم مبرمجي الذكاء الاصطناعي: انسوا التجربة السابقة واستمعوا فقط إلى البيانات.

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

لغة الكود

AlphaCode هو أحدث محاولة لتسخير الذكاء الاصطناعي لإنشاء برامج أفضل.

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

كل من هذه العوامل - لنقل الكاكاو لصنع الشوكولاتة الساخنة - تسمى "المتغيرات" في برنامج الكمبيوتر. ببساطة ، يحتاج البرنامج إلى تحديد المتغيرات - دعنا نقول "c" للكاكاو. ثم يمزج "c" مع المتغيرات الأخرى ، مثل تلك الخاصة بالحليب والسكر ، لحل المشكلة النهائية: صنع كوب تبخير لطيف من الشوكولاتة الساخنة.

الجزء الصعب هو ترجمة كل ذلك إلى ذكاء اصطناعي ، خاصة عند كتابة طلب يبدو بسيطًا: اجعلني شوكولاتة ساخنة.

مرة أخرى في 2021، قام Codex بأول غزوة في كتابة التعليمات البرمجية للذكاء الاصطناعي. كانت فكرة الفريق هي الاعتماد على GPT-3 ، وهو برنامج اقتحم العالم ببراعته في تفسير وتقليد اللغة البشرية. منذ ذلك الحين نمت إلى شات جي بي تي، متعة و ليس شريرا chatbot الذي ينخرط في محادثات معقدة وممتعة بشكل مدهش.

لذلك ما هي النقطة؟ كما هو الحال مع اللغات ، فإن البرمجة تدور حول نظام من المتغيرات ، وبناء الجملة ، والبنية. إذا كانت الخوارزميات الموجودة تعمل للغة الطبيعية ، فلماذا لا تستخدم استراتيجية مماثلة لكتابة التعليمات البرمجية؟

AI الترميز AI

اتخذ AlphaCode هذا النهج.

تم بناء الذكاء الاصطناعي على نموذج التعلم الآلي المسمى "نموذج اللغة الكبير" ، والذي يقوم عليه GPT-3. الجانب المهم هنا هو الكثير من البيانات. تم تغذية GPT-3 ، على سبيل المثال ، بمليارات الكلمات من الموارد عبر الإنترنت مثل الكتب الرقمية ومقالات ويكيبيديا لبدء "تفسير" اللغة البشرية. تم تدريب Codex على أكثر من 100 جيجا بايت من البيانات المأخوذة من Github ، وهي مكتبة برمجيات شهيرة على الإنترنت ، لكنها لا تزال تفشل عند مواجهة مشكلات صعبة.

ترث AlphaCode "قلب" المخطوطة من حيث أنها تعمل أيضًا بشكل مشابه لنموذج اللغة الكبير. وأوضح كولتر أن هناك جانبين يميزانها.

الأول هو بيانات التدريب. بالإضافة إلى تدريب AlphaCode على كود Github ، أنشأ فريق DeepMind مجموعة بيانات مخصصة من CodeContests من مجموعتي بيانات سابقتين ، مع أكثر من 13,500 تحدي. جاء كل منها مع شرح للمهمة المطروحة ، وحلول محتملة متعددة عبر لغات متعددة. والنتيجة هي مكتبة ضخمة من بيانات التدريب مصممة خصيصًا لمواجهة التحدي الذي تواجهه.

قال كولتر: "يمكن القول إن الدرس الأكثر أهمية لأي نظام تعلم آلي هو أنه يجب تدريبه على البيانات التي تشبه البيانات التي سيشاهدها في وقت التشغيل".

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

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

النظام يعمل بشكل جيد بشكل مدهش. عند مواجهة مجموعة جديدة من المشكلات ، ابتكر AlphaCode الحلول المحتملة بلغتين من لغات الحوسبة - Python أو C ++ - مع التخلص من المشكلات الفاحشة. عندما واجه أكثر من 5,000 مشارك بشري ، تفوق الذكاء الاصطناعي على حوالي 45 بالمائة من المبرمجين الخبراء.

جيل جديد من مبرمجي الذكاء الاصطناعي

بينما لم تصل بعد إلى مستوى البشر ، فإن قوة AlphaCode تكمن في براعتها المطلقة.

بدلاً من نسخ ولصق أقسام من كود التدريب السابق ، ابتكر AlphaCode مقتطفات ذكية دون نسخ أجزاء كبيرة من التعليمات البرمجية أو المنطق في "مواد القراءة" الخاصة به. قد يكون هذا الإبداع بسبب طريقة التعلم القائمة على البيانات.

قال كولتر إن ما ينقصه AlphaCode هو "أي تصميم معماري في نموذج التعلم الآلي يتعلق بـ ... إنشاء الكود". إن كتابة كود الكمبيوتر يشبه بناء مبنى معقد: إنه منظم للغاية ، حيث تحتاج البرامج إلى صيغة محددة مع سياق مضمّن بوضوح لتوليد حل.

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

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

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

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

قال كولتر إنه أفضل ما قاله: "AlphaCode يلقي بالنرد. مجموعات البيانات عامة. دعونا نرى ما يخبئه المستقبل ".

الصورة الائتمان: العقل العميق

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

اكثر من التفرد المحور