اليوم ستكون المباراة الأولى بين محترفي OpenAI و Dota 2 (فاز الناس). نحن نفهم كيف يعمل البوت



[UPD 2] فاز فريق Pain Gaming على OpenAI Five. استمرت المباراة 53 دقيقة وانتهت بنتيجة 45-41 للكسور لصالح الروبوتات. يمكن مشاهدة تسجيل اللعبة على Twitch هنا . تبدأ الساعة 7:38:00

الليلة 22 أغسطس ، قبل بدء اليوم التالي من التصفيات الدولية ، ستقام أول مباراة عرض بين اللاعبين المحترفين وبوت OpenAI Five كجزء من أنشطة العرض. ظهرت معلومات عن المباريات على الموقع الرسمي لـ Dota 2 في القسم مع جدول مباريات التصفيات الدولية. في المجموع ، ستلعب OpenAI ثلاث مباريات في ثلاثة أيام مع لاعبين محترفين.

هذا الحدث مهم في أنه منذ عام مضى ، قام البوت "بقمع" دانييل إيشوتين في مواجهة مع مرآة 1x1 المنفردة SF ، وقبل أسابيع قليلة هزم "خليط" المعلقين واللاعبين المحترفين السابقين.

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

لذا ، فإن القواعد القديمة هي كما يلي:
  • مجموعة من 18 من الأبطال في وضع المسودة العشوائية (الفأس ، كريستال البكر ، نبي الموت ، إيرث شاكر ، جيروكوبتر ، ليتش ، ليون ، نيكروفوس ، كوين أوف بين ، رازور ، ريكي ، شادو فيند ، سلارك ، قناص ، سفين ، تايد هانتر ، فايبر ، أو ساحرة دكتور) ؛
  • بدون Divier Rapier ، زجاجة ؛
  • بدون مخلوقات وأوهام محكومة ؛
  • تتطابق مع خمس سعاة (لا يمكن كشفهم وعبورهم) ؛
  • بدون استخدام مسح.


في التعليقات على منشورنا الأخير حول هذا الموضوع ، اندلع الكثير من الجدل حول أساليب تدريب الشبكات العصبية. هذه المرة قدمنا ​​بعض العناصر المرئية حول كيفية عمل برنامج OpenAI الروبوت وكيف يبدو من وجهة نظر الناس.

قال المطورون إنه نظرًا لقوة الحوسبة الخطيرة والعدد الهائل من السجلات والقدرة على بدء التعلم في العديد من التدفقات ، فإن OpenAI تقلد يوميًا حتى 180 عامًا من ألعاب Dota 2. المستمرة. "الحيوانات ، ناهيك عن الكلاب أو الرئيسيات ، التي ينتمي إليها الإنسان.

لتدريب OpenAI ، استخدم الفريق تطويره الخاص المسمى Gym ( مستودع github ، الوثائق الرسمية). هذا "الكرسي الهزاز" متوافق مع أي مكتبة عامة ، مثل TensorFlow أو Theano. في تدريب الشبكات العصبية في إطار صالة الألعاب الرياضية ، يتم استخدام حلقة الوكيل-البيئة الكلاسيكية:



يدعي المطورون أنه يمكن لأي شخص استخدام Gym لتعليم شبكته العصبية للعب عناوين كلاسيكية لـ Atari 2600 أو مشاريع أخرى سهلة الفهم نسبيًا. من الواضح أن سرعة التدريب تعتمد بشكل مباشر على كمية الموارد التي ينطوي عليها ذلك. كمثال ، قام مطورو OpenAI بتدريس الشبكة العصبية للعب دور انتقام مونتيزوما .

لكن المرحلتين الثانية والرابعة - العمل وتحليل النتيجة (مكافآت للعمل) هي الأكثر أهمية بالنسبة لنا. وفي سياق Dota 2 ، يتدحرج مستوى التباين فقط ، ويمكن أن تؤدي الإجراءات التي يتم تقييمها في البداية من قبل البوت على أنها "صحيحة" على مسافة طويلة إلى الخسارة.

كيف علم فريق OpenAI الذكاء الاصطناعي للعب Dota 2 من حيث المعدات


تعامل فريق التطوير مع مسألة تعلم OpenAI في Dota 2 بشكل أكثر جدية. يمكنك قراءة التقرير الرسمي الكامل على مدونة المشروع هنا ، ولكننا سنقدم المقتطفات الرئيسية على الجانب الفني والتنفيذ دون التسويق والتسهيلات الأخرى.

كان المعلقون في المنشور السابق أكثر اهتمامًا بالطاقة التي تستهلكها الشبكة العصبية OpenAI للتدريب. من الواضح أن زوج من Ryzen لم يتمكن من القيام بذلك ، خاصة في سياق تقليد 180 عامًا من اللعب في يوم حقيقي. في الوقت نفسه ، فإن البوت الخاص بـ Dota 2 ليس روبوتًا لمطلق النار بمستوى الزلزال ، والذي لاحظه المستخدم بشكل واضح جدًا استجابة لأحد المتشككين:

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

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

فهم مطورو OpenAI هذا بوضوح ، لذلك تم استخدام الآلاف من الأجهزة الافتراضية في وقت واحد لتدريب الروبوتات. على وجه التحديد ، تم تقديم هذه الأرقام من خلال المدونة الرسمية للمشروع لتدريب 1x1 Solo Mid bot ، القادرة على هزيمة Daniel Ishutin ببعض القيود ، وتدريب فريق كامل للعبة 5x5:


هذه ليست علامة عشرية. لتدريب OpenAI في وضع 5x5 ، يتم استخدام 128 ألف نواة من Google Cloud باستمرار. لكن هذا ليس كل اللب. نظرًا لأن رؤية الجهاز تستخدم في تعليم برنامج OpenAI bot (والذي سنتحدث عنه بعد ذلك بقليل) ، في هذا التكوين الوحشي ، هناك 256 وحدة معالجة رسومات NVIDIA PID أخرى ( مسرع تسلا ).

وفقًا لكتيب NVIDIA الرسمي ، تتمتع P100 بالميزات التالية:



تبلغ التكلفة الرسمية لواحد P100 Tesla 12 GB PCI-E حوالي 5800 دولار ، وتبدأ Tesla P100 SXM2 16GB من 9400 دولار. يستخدم OpenAI طراز SXM2 الأقدم فقط. لا يلزم وجود بطاقات الفيديو لعرض "الرسومات" على الأجهزة الافتراضية ، ولكن لمعالجة البيانات وحوسبتها التي تأتي باستمرار من جميع الدفعات قيد التشغيل. لمعالجة هذا الدفق ، كان على الفريق نشر نظام كامل من العقد ، يعمل ضمنها P100 Tesla. تعالج بطاقات الفيديو وتحسب البيانات التي تم الحصول عليها ، ثم تنتج النتيجة في المتوسط ​​على جميع الدفعات ومقارنتها مع مؤشرات OpenAI السابقة.

هذه القدرات تجعل من الممكن محاكاة الشبكات العصبية لحوالي 60 حزباً في الدقيقة ، لكل منها تحلل الشبكة العصبية حوالي 1.04 مليون دورة وسيط متوسط ​​، كما ذكرنا سابقًا.

كيف يرى OpenAI اللعبة


المال غبار ، إذا كان لديك بالطبع. حتى أكثر التقديرات تقريبية لتكلفة يوم واحد من تدريب OpenAI تتسبب في صدمة طفيفة ، والحرارة المتولدة على خوادم Google Cloud تكفي لتدفئة بلدة صغيرة. لكن الأمر الأكثر إثارة للاهتمام هو كيف ترى OpenAI اللعبة.

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

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

وفقًا لمعلومات من المطورين ، تحدث جميع الأطراف مع رسم الأحداث على الخريطة بتردد 30 FPS. تقوم الشبكة العصبية OpenAI باستمرار بتحليل كل إطار من خلال LSTM ، بناءً على النتيجة التي تتخذها قرارات أخرى. في الوقت نفسه ، يكون للبوت أولوياته الخاصة: تخضع جميع التفاعلات الممكنة مع البيئة إلى التحليل الأكثر شمولاً من خلال مناطق مختارة خصيصًا من "رؤية" الروبوتات - وهي مربعات 800 × 800 مقسمة إلى 64 خلية 100 × 100 خلية (يتم أخذ حجم نطاق الحركة والحركة داخل اللعبة ، وحجم المربع هو 8 × 8 ) هذه هي الطريقة "يرى" البوت جزئيًا اللعبة في إطار واحد محدد:


يتوفر مُنشئ كامل مع القدرة على تبديل الإجراءات وتقدير حجم المربعات والإمكانيات الأخرى لـ "إعدادات التواء" في المدونة الرسمية للمطورين في قسم هيكل النموذج

وهنا تصور شبكة LSTM من حيث التنبؤ في الوقت الحقيقي لأحداث اللعبة:


بالإضافة إلى LSTM وتقييم الوضع هنا والآن ، يستخدم الروبوت OpenAI باستمرار شبكة من "التنبؤ" وتحديد أولوياته الخاصة. هكذا تبدو للناس:



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

انظر كيف يمكن للبوت "رؤية" اللعبة واتخاذ القرارات بناءً على هذه المناطق الأربع التي يمكن رؤيتها في الفيديو أدناه:


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

OpenAI تلعب باستمرار مع نفسها. في الوقت نفسه ، يتم تدريب 80٪ من البوتات ، و 20٪ يستخدمون التكتيكات والاستراتيجيات المطورة بالفعل. يسمح هذا النهج للشبكة العصبية بالتعلم من أخطائها ، وإيجاد أنماط ضعيفة في السلوك الفعلي وفي نفس الوقت ترسيخ أنماط السلوك الناجحة.

غدا بالفعل. المحترفون مقابل الآلة


بدلاً من النتيجة ، يجدر العودة إلى موضوع مواجهة الغد بين اللاعبين المحترفين و OpenAI.

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

السؤال كله هو كيف سيأخذ المحترفون هذه المواجهة بجدية. إذا ظهرت أي معلومات إضافية ، فسيتم تحديث المنشور.

Source: https://habr.com/ru/post/ar420825/


All Articles