في الحقل في علوم الكمبيوتر ، ربما لا توجد مهمة أساسية أكثر من الفرز. فقاعة ، كومة ، دمج – اختر ما تريد. تم وضع نظرية لطرق إعادة ترتيب البيانات داخل الكمبيوتر حتى الموت ، وكانت بمثابة تمارين تدريبية لملايين المبتدئين ، وتم تحسينها لعقود من قبل مطورين خبراء. اكتب دالة sort () في أي لغة برمجة ، وهي رمز يمكنك الاعتماد عليه. لا تلمسه. إنه يعمل بالفعل بشكل رائع.
ولكن في العام الماضي ، تم تطوير نظام ذكاء اصطناعي طوره مهندسون في شركة Deepmind التابعة لشركة Google بشكل رائع بما يكفي فقط ليكون مهمًا. تم تكليف النظام ، الذي يسميه Deepmind AlphaDev ، بإيجاد طريقة جديدة لفرز التسلسلات القصيرة في الأرقام في C ++ ، لغة الترميز الشائعة. كان يعني ذلك الدخول تحت غطاء المحرك وامتلاك الذكاء الاصطناعي لبناء خوارزميات جديدة في كود التجميع – التعليمات التي تسد الفجوة بين لغات البرمجة مثل C ++ وأجهزة الكمبيوتر. عندما يخبر مطور C ++ الكمبيوتر بـ “الفرز” ، يتم تحويل هذه الأوامر إلى رمز يمكن قراءته آليًا يخبر ذاكرة الكمبيوتر والمعالج بما يجب فعله بالضبط: مكان نقل البيانات ، وكيفية تغييرها. إنه المكان الذي تلتقي فيه البتات بالمعدن.
نجحت التجربة. منذ أبريل من العام الماضي ، كان C ++ يعمل بشكل أسرع قليلاً ، وذلك بفضل مجموعة جديدة من خوارزميات الفرز المصممة بتقنية الذكاء الاصطناعي. ولكن وفقًا لمهندسي AlphaDev ، الذين وصفوا العمل اليوم في طبيعة، هذه فقط الخطوة الأولى. يقول دانيال مانكوفيتز ، عالم أبحاث الموظفين في Deepmind الذي قاد مشروع الفرز: “نريد تحسين مجموعة الحوسبة بأكملها”. يقول مانكوفيتز إن AlphaDev قام بالفعل بتحسين الخوارزميات ليس فقط من أجل الفرز ، ولكن أيضًا للمهام الأساسية الأخرى مثل التجزئة.
يقول أرماندو سولار ليزاما ، خبير في تركيب البرامج في معهد ماساتشوستس للتكنولوجيا ، والذي لم يشارك في البحث: “أعتقد أن هذا العمل مثير للغاية”. من المفيد أن يأتي الذكاء الاصطناعي بخوارزمية فرز جديدة ؛ يقول إن بناء ذكاء اصطناعي يمكنه تعلم كيفية كتابة أحدث الكود عبر مجموعة متنوعة من المهام يمثل صفقة أكبر بكثير. هذا يعني أن AlphaDev بدأ يتعلم شيئًا أكثر جوهرية عن فن الترميز نفسه.
هذا يأتي مع قيود كبيرة ، بالطبع. ويضيف: “هذه برامج صغيرة وصغيرة للغاية” – لا يزيد مجموعها عن بضع عشرات من التعليمات في كود التجميع. لكن هذه البرامج الصغيرة غالبًا ما تمثل اختناقات كبيرة لأداء الكمبيوتر ، حيث تم تحسينها بقدر ما يمكن للناس دفعها. بشكل عام ، تعد خوارزميات الفرز C ++ الجديدة من AlphaDev أكثر كفاءة بنسبة 1.7 بالمائة من الطرق السابقة عند فرز التسلسلات الطويلة من الأرقام ، وأسرع بنسبة تصل إلى 70 بالمائة للتسلسلات المكونة من خمسة عناصر. يقول مانكوفيتز إن هذه التحسينات تتضافر على نطاق واسع. منذ أن تم تقديم الكود المكتوب بالذكاء الاصطناعي إلى Libc ++ ، وهي مكتبة رئيسية مفتوحة المصدر لـ C ++ ، يقدر أن الخوارزميات قد استخدمت تريليونات المرات في اليوم.
هذه التحسينات بفضل تقنية تسمى التعلم المعزز ، وهو نفس النهج المستخدم لمساعدة ألعاب Deepmind’s AI الرئيسية مثل الشطرنج و Go. هذا النوع من الذكاء الاصطناعي يتعلم بالممارسة. إنه يعمل من خلال التعامل مع مهمة معينة – مثل كتابة برنامج تجميع – كلعبة ، حيث يتلقى الذكاء الاصطناعي مكافآت مقابل القيام بحركات ذكية تزيد من كفاءة البرنامج. بمرور الوقت ، يعمل النظام على زيادة هذه المكافأة إلى الحد الأقصى ، مما يؤدي إلى استراتيجية Go ناجحة أو برنامج تجميع أسرع. يختلف هذا عن نوع الذكاء الاصطناعي الموجود في نماذج اللغات الكبيرة مثل GPT-4 ، والتي تعتمد على كميات هائلة من البيانات لتعلم كيفية كتابة الكلمات أو التعليمات البرمجية. يعد هذا أمرًا رائعًا لإنتاج كتابة تعكس نغمة الإنترنت أو إنتاج أجزاء مشتركة من التعليمات البرمجية. لكنها ليست جيدة في إنتاج حلول جديدة وحديثة لتحديات الترميز التي لم يسبق للذكاء الاصطناعي رؤيتها من قبل.