وحدة IBM قدم من أبحاث الذكاء الاصطناعي (AI) مجموعة بيانات من 14 مليون عينة لتطوير نماذج التعلم الآلي التي يمكن أن تساعد في مهام البرمجة. مجموعة بيانات مسماة مشروع CodeNetأخذت اسمها من ImageNet ، مستودع الصور الشهير الذي أحدث ثورة في رؤية الكمبيوتر والتعلم العميق.
يكتشف المبرمجون مشاكل جديدة ويستكشفون حلولاً مختلفة باستخدام العديد من آليات التفكير الواعي واللاواعي. تتطلب معظم خوارزميات التعلم الآلي مهامًا محددة جيدًا وكميات كبيرة من البيانات المشروحة لتطوير نماذج يمكنها حل المشكلات نفسها.
لقد تم بذل الكثير من الجهد في إنشاء مجموعات بيانات ومعايير لتطوير وتقييم أنظمة الذكاء الاصطناعي من أجل الكود من قبل مجتمع الخبراء. ولكن نظرًا للطبيعة الإبداعية والمفتوحة لتطوير البرمجيات ، فمن الصعب جدًا إنشاء مجموعة بيانات مثالية للبرمجة. باستخدام Project CodeNet ، حاول باحثو IBM إنشاء مجموعة بيانات متعددة الأغراض يمكن استخدامها لتدريب نماذج التعلم الآلي على مجموعة متنوعة من المهام. يصفها منشئو CodeNet بأنها "مجموعة بيانات كبيرة جدًا ومتنوعة وعالية الجودة لتسريع التقدم الحسابي في الذكاء الاصطناعي للتعليمات البرمجية."
تحتوي مجموعة البيانات على 14 مليون مثال من 500 مليون سطر من التعليمات البرمجية المكتوبة بـ 55 لغة برمجة مختلفة. تم الحصول على عينات التعليمات البرمجية من ما يقرب من 4000 مهمة مرسلة منشورة على منصات الترميز عبر الإنترنت AIZU و AtCoder. تتضمن أمثلة الكود كلاً من الإجابات الصحيحة وغير الصحيحة على المهام المحددة.
مثير للاهتمام أيضًا:
- دخل هابل في الوضع الآمن بسبب خطأ برمجي في الكمبيوتر الموجود على متن الطائرة
- مشكلة أخرى لـ CD Projekt: المتسللون يهددون بتسريب الأكواد المصدرية للألعاب إلى الشبكة
إحدى الميزات الرئيسية لـ CodeNet هي مقدار التعليقات التوضيحية المضافة إلى الأمثلة. تحتوي كل مهمة من مهام الترميز المضمنة في مجموعة البيانات على وصف نصي ، بالإضافة إلى حدود وقت وحدة المعالجة المركزية والذاكرة. يحتوي كل إرسال رمز على عشرات المعلومات ، بما في ذلك اللغة وتاريخ الإرسال والحجم ووقت التنفيذ والقبول وأنواع الأخطاء. كما بذل باحثو IBM جهودًا كبيرة لضمان موازنة مجموعة البيانات عبر مجموعة متنوعة من المعلمات ، بما في ذلك لغة البرمجة والقبول وأنواع الأخطاء.
CodeNet ليست مجموعة البيانات الوحيدة لتدريب نماذج التعلم الآلي على مهام البرمجة. لكن هناك العديد من الخصائص التي تميزه. الأول هو الحجم الهائل لمجموعة البيانات ، بما في ذلك عدد العينات وتنوع اللغات. ولكن ربما الأهم من ذلك هو البيانات الوصفية التي تأتي مع عينات الكود. تجعل التعليقات التوضيحية الثرية المضافة إلى CodeNet مناسبة لمجموعة متنوعة من المهام ، على عكس مجموعات بيانات الترميز الأخرى المتخصصة في مهام برمجة محددة.
هذا أمر مذهل.
باستخدام GPT-3 ، قمت بإنشاء مُنشئ تخطيط حيث تصف فقط أي تخطيط تريده ، ويقوم بإنشاء رمز JSX لك.
ماذا الموافقة المسبقة عن علم.twitter.com / w8JkrZO4lk
- شريف شميم (sharifshameem) 13 تموز، 2020
هناك عدة طرق لاستخدام CodeNet. واحد منهم هو ترجمة اللغة. نظرًا لأن كل مهمة تشفير في مجموعة البيانات تحتوي على تمثيلات للغات برمجة مختلفة ، يمكن لعلماء البيانات استخدامها لبناء نماذج التعلم الآلي التي تترجم التعليمات البرمجية من لغة إلى أخرى. يمكن أن يكون هذا مناسبًا للمؤسسات التي ترغب في نقل التعليمات البرمجية القديمة إلى لغات جديدة وجعلها في متناول الأجيال الجديدة من المبرمجين.
اقرأ أيضا:
- قدمت شركة IBM أول تقنية تصنيع شرائح 2 نانومتر في العالم
- تقوم شركة IBM بتطوير ذكاء اصطناعي لاختراع مضادات حيوية جديدة
يجب أن تلعب التقاليد والوراثة جنبًا إلى جنب مع تفكير مختلف ، مع الأجيال الأصغر من الخوارزميات العصبية وطرق ML لطرح المشكلات ، وتحسين بعضها البعض بشكل متبادل
بمرور الوقت ، سينخفض مستوى المبرمجين أكثر (مقارنةً الآن). وهذا يعني أنه سيكون من الممكن كتابة رمز منحرف ومعوج في "لغة القرف". وبعد ذلك سيتم تحسين الجهاز ، وستتمكن في النهاية من الحصول على الكود الأمثل لمبرمج مجمع محترف (أو حتى أفضل).