التعلم المعزز2018متقدم11 دقيقة قراءة

IMPALA: بنية فاعل-متعلّم موزَّعة وقابلة للتوسّع مع تصحيح خارج السياسة بأوزان الأهمية

IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures

Espeholt, L. · Soyer, H. · Munos, R. · Simonyan, K. · Mnih, V. · Ward, T. · Doron, Y. · Firoiu, V. · Harley, T. · Dunning, I. · Legg, S. · Kavukcuoglu, K. — ICML

المشكلة

حتى عام 2018، كانت أقوى أنظمة التعلّم المعزَّز العميق مثل A3C تستغرق أياماً لإتقان مهمة واحدة فقط، فضلاً عن أن تدريب واحد على عشرات المهام معاً كان غير ممكن عملياً. السبب أن كل عامل في A3C يحسب التدرّجات على جهازه ثم يرسلها إلى خادم مركزي، وهذه التحديثات الصغيرة المتتابعة لا تستغل قدرة الـ GPU الحقيقية. والأسوأ أنه مع التوسّع إلى مئات أو آلاف الأجهزة، تصل التدرّجات متأخرة — أي محسوبة من نسخة قديمة من — فيصبح التدريب غير مستقر والبيانات مُهدَرة.

الإسهام

تقترح الورقة بنية IMPALA: فاعلون يجمعون التجارب من البيئة ويرسلونها كمسارات إلى متعلّم مركزي على الـ GPU يُحدِّث الأوزان بدفعات كبيرة. لمعالجة التأخّر الحتمي بين سياسة الفاعل وسياسة المتعلّم، تقدّم الورقة V-trace — آلية تصحيح خارج السياسة تعتمد على قطع أوزان أخذ عيّنات الأهمية. عندما لا يوجد تأخّر يُختزَل V-trace تلقائياً إلى تحديث بيلمان المعياري متعدد الخطوات. حققت IMPALA سرعة 250,000 إطار/ثانية (30 ضعف سرعة A3C) وأظهرت نقلاً إيجابياً فعلياً للمعرفة بين المهام على DMLab-30 وAtari-57.

الأثر

أصبحت بنية IMPALA المرجع الأساسي لأي نظام تعلّم معزَّز موزَّع يريد التوسّع. اعتمد AlphaStar — أول نظام ذكاء اصطناعي يتغلّب على محترفين في StarCraft II — على V-trace في صلب تدريبه، وامتد تأثير الورقة إلى SEED RL وR2D2 وعدد كبير من الأنظمة الإنتاجية. النتيجة الأبرز هي أن نموذجاً واحداً بمجموعة أوزان واحدة أتقن عشرات المهام المختلفة في آنٍ واحد مع نقل إيجابي فعلي بين المهام — وهذه كانت خطوة محورية نحو بناء عملاء تعلّم معزَّز عامّين.

تخيّل أنك تدير جريدة يومية: عندك عشرات المراسلين (الفاعلون) ينتشرون في المدينة لجمع الأخبار، ثم يرجعون إلى رئيس التحرير (المتعلّم) الذي يُخرج الطبعة النهائية.

في A3C، كل مراسل يحرّر مادته بنفسه قبل أن يرسلها — لكن بحلول وصولها يكون العنوان الرئيسي قد تغيّر. يعني المراسل عدّل بناءً على عنوان لم يعد صالحاً.

IMPALA تفصل المهام بالكامل: المراسلون يجمعون الملاحظات الخام فقط (المسارات)، ورئيس التحرير يعالجها كلها دفعة واحدة على مطبعة سريعة (الـ GPU). السر؟ رئيس التحرير يُطبّق معامل تصحيح — V-trace — يُقيّم كل ملاحظة بحسب درجة تأخّرها. الملاحظات الحديثة تأخذ وزنها كاملاً، والقديمة يُقلَّل تأثيرها. النتيجة: جريدة تصدر أسرع 30 مرة، بأخطاء أقل، وتغطّي 57 قسماً في آنٍ واحد.

المشكلة: لماذا لا يستطيع A3C التوسّع؟

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

  • الـ لا تعمل بكامل طاقتها. كل عامل يمرّر واحداً صغيراً في كل مرة. الـ GPU مصمَّمة لمعالجة دفعات ضخمة بالتوازي، فتبقى شبه معطّلة مع هذه التحديثات الصغيرة.

  • التدرّجات تصل متأخرة. مع مئات العمّال، تصل التدرّجات إلى الخادم وهي محسوبة من سياسة قديمة تجاوزتها عدة تحديثات. كلما زاد عدد العمّال تفاقمت هذه المشكلة وأدّت إلى تباعد في التدريب أو إهدار للحوسبة.

النسخة المتزامنة Batched A2C حلّت مشكلة استغلال الـ GPU بمزامنة العمّال، لكنها خلقت مشكلة أخرى: أبطأ بيئة في الدفعة تُحدّد سرعة الجميع. أي بيئة بطيئة في التصيير أو ذات حلقات طويلة تجعل كل العمّال الآخرين ينتظرون.

افتح في المختبر
قارن بين A3C (العمّال يرسلون تدرّجات، والـ GPU شبه معطّلة) وIMPALA (الفاعلون يرسلون مسارات، والـ GPU تعالج دفعات كبيرة). اضغط لتحريك تدفّق البيانات.
تستيقظ التجربة عند وصولك…

البنية: فصل الفعل عن التعلّم

الفكرة المحورية في IMPALA هي فصل جمع البيانات عن تحديث المعاملات بشكل كامل. النظام فيه دوران واضحان:

  • الفاعلون يعملون على الـ CPU ويُشغّلون نُسخاً من البيئة. كل فاعل يسحب أحدث نسخة من السياسة من المتعلّم، يُنفّذ nn خطوة، ثم يُرسل المسار الناتج — الحالات والأفعال و واحتمالات سياسته μ(atxt)\mu(a_t|x_t) — عبر طابور إلى المتعلّم.

  • المتعلّم يجلس على الـ GPU. يسحب دفعات من المسارات التي جمعها فاعلون كثيرون ويُجري على mini-batches كاملة. الشبكة تُطبَّق على كل الإطارات بالتوازي (بطيّ بُعد الزمن في بُعد الدفعة)، ولا يحتاج إلى معالجة تسلسلية إلا الـ .

هذا الفصل يعني أن المتعلّم لا ينتظر أي فاعل بعينه. الفاعلون الذين بيئاتهم سريعة يُنتجون بيانات أكثر، والبطيئون يُنتجون أقل — كلٌّ يعمل بسرعته دون أن يُعطّل غيره.

افتح في المختبر
اسحب المنزلق لزيادة عدد الفاعلين وراقب كيف يرتفع معدّل الإنتاجية عند المتعلّم. لاحظ أن الفاعلين البطيئين لا يعيقون السريعين.
تستيقظ التجربة عند وصولك…

مشكلة تأخّر السياسة: التصرّف وفق سياسة الأمس

الثمن الذي ندفعه مقابل هذا الفصل هو تأخّر السياسة. حين يبدأ الفاعل بجمع مسار جديد، يأخذ نسخة من سياسة المتعلّم الحالية π\pi ويستخدمها كسياسة سلوك محلية μ\mu. لكن بحلول انتهائه من nn خطوة ووصول المسار إلى المتعلّم، يكون المتعلّم قد نفّذ عدة تحديثات — فتصبح π\pi الآن مختلفة عن μ\mu التي جُمعت بها البيانات.

لو تعاملنا مع هذه البيانات وكأنها مُوَلَّدة من السياسة الحالية — أي افترضنا أن μ=π\mu = \pi — سنُدخل . الفاعل استكشف البيئة تحت μ\mu، لكن المتعلّم يُحسِّن π\pi. أفعال كانت شائعة تحت μ\mu قد تكون نادرة تحت π\pi والعكس. بدون تصحيح، هذا الفارق قد يجعل تتباعد والسياسة تنهار.

هذه في جوهرها مشكلة : كيف نتعلّم عن سياسة π\pi () من بيانات جمعتها سياسة مختلفة μ\mu (

افتح في المختبر
راقب كيف تبتعد سياسة السلوك μ عند الفاعل عن السياسة المستهدفة π عند المتعلّم كلما تراكمت التحديثات. الفجوة بينهما هي تأخّر السياسة الذي يُصحّحه V-trace.
تستيقظ التجربة عند وصولك…

V-trace: تصحيح البيانات المتقادمة

يُعالج V-trace مشكلة تأخّر السياسة عبر — تقنية إحصائية معروفة تُعيد ترجيح عيّنات مسحوبة من توزيع لتقدير القيم المتوقعة تحت توزيع آخر.

الفكرة بسيطة: إذا كانت سياسة السلوك μ\mu تختار الفعل aa بضعف ما ستختاره السياسة المستهدفة π\pi، فهذا الفعل «ممثَّل بزيادة» في البيانات ويجب أن يُحتسب بنصف وزنه. والعكس صحيح: فعل نادر تحت μ\mu لكنه مفضَّل تحت π\pi يجب أن يأخذ وزناً أكبر. النسبة π(ax)μ(ax)\frac{\pi(a|x)}{\mu(a|x)} تُحقّق هذا الترجيح بالضبط.

المشكلة أن هذه النسب قد تنفجر — إذا كان μ\mu لا يختار فعلاً يُفضّله π\pi تقريباً، تصبح النسبة ضخمة وتُسبّب عالياً جداً. V-trace يحلّ ذلك بـقطع هذه النسب عند حدّ أقصى، فيتحمّل قدراً ضئيلاً من الانحياز مقابل انخفاض كبير في التباين.

vs=V(xs)+t=ss+n1γts(i=st1ci)δtVv_s = V(x_s) + \sum_{t=s}^{s+n-1} \gamma^{t-s} \left(\prod_{i=s}^{t-1} c_i\right) \delta_t V
هدف V-trace — تقدير القيمة المصحَّحنبدأ من تقدير القيمة الحالي V(xₛ) ونُضيف مجموعاً من الفروق الزمنية المصحَّحة. كل فرق زمني δₜV = ρₜ(rₜ + γV(xₜ₊₁) − V(xₜ)) مضروب بنسبة أخذ عيّنات الأهمية المقطوعة ρₜ، ويُراكَم عبر معاملات الأثر cᵢ التي تُحدّد إلى أي مدى ينتشر التصحيح إلى الخلف في المسار. في الحالة التي تتطابق فيها السياستان (μ = π) تصبح كل الأوزان 1 ونحصل على هدف بيلمان المعياري متعدد الخطوات.

في V-trace نوعان من الأوزان المقطوعة، لكلٍّ منهما دور مختلف:

  • ρt=min ⁣(ρˉ,  π(atxt)μ(atxt))\rho_t = \min\!\left(\bar{\rho},\; \frac{\pi(a_t|x_t)} {\mu(a_t|x_t)}\right) — يُحدّد أي دالة قيمة نتقارب نحوها. إذا كان ρˉ=\bar{\rho} = \infty نتقارب نحو VπV^\pi بالضبط. وإذا كان ρˉ\bar{\rho} محدوداً نتقارب نحو قيمة سياسة πρˉ\pi_{\bar{\rho}} تقع بين μ\mu و π\pi.

  • ci=min ⁣(cˉ,  π(aixi)μ(aixi))c_i = \min\!\left(\bar{c},\; \frac{\pi(a_i|x_i)} {\mu(a_i|x_i)}\right) — يُحدّد سرعة عبر التحكم في مدى انتشار إلى الخلف في المسار. هذا مجرد أداة لتقليل التباين ولا يُغيّر النقطة النهائية التي نتقارب نحوها.

عملياً، وجد الباحثون أن ρˉ=cˉ=1\bar{\rho} = \bar{c} = 1 يعطي أفضل النتائج — قطع حادّ يُعطي أولوية للاستقرار.

افتح في المختبر
غيِّر عتبات القطع ρ̄ و c̄ وراقب تأثيرها على أوزان أخذ عيّنات الأهمية. لاحظ أن رفع العتبات يزيد التباين لكنه يُقلّل الانحياز.
تستيقظ التجربة عند وصولك…

خوارزمية الفاعل-الناقد مع V-trace

خوارزمية الفاعل-الناقد مع V-trace تعتمد على ثلاثة تحديثات تعمل معاً — فكّر فيها كأرجل كرسي ثلاثي، لا يقف بدون أي منها:

1. تحديث القيمة (الناقد). قرِّب Vθ(xs)V_\theta(x_s) من هدف V-trace vsv_s بتقليل الخطأ التربيعي. هذا يجعل الناقد أدق في تقدير العوائد المتوقعة.

2. (الفاعل). حدِّث السياسة πω\pi_\omega لزيادة احتمال الأفعال ذات الميزة العالية qsVθ(xs)q_s - V_\theta(x_s)، حيث qs=rs+γvs+1q_s = r_s + \gamma v_{s+1}. التدرّج مضروب بـ ρs\rho_s لتصحيح تأثير البيانات خارج السياسة.

3. مكافأة . نُضيف حدّاً يتناسب مع إنتروبيا πω\pi_\omega لمنع السياسة من التحوّل المبكر إلى سياسة حتمية، مما يُبقي مستمراً.

Δωρsωlogπω(asxs)(rs+γvs+1Vθ(xs))βωaπω(axs)logπω(axs)\Delta\omega \propto \rho_s \nabla_\omega \log \pi_\omega(a_s|x_s) \bigl( r_s + \gamma v_{s+1} - V_\theta(x_s) \bigr) - \beta \nabla_\omega \sum_a \pi_\omega(a|x_s) \log \pi_\omega(a|x_s)
تدرّج السياسة مع V-trace ومنتظمية الإنتروبياالتحديث فيه جزأان. الأول يدفع السياسة نحو الأفعال التي يتجاوز فيها التقدير qₛ = rₛ + γvₛ₊₁ خط الأساس V_θ(xₛ)، مع إعادة ترجيح بنسبة أخذ عيّنات الأهمية ρₛ. الجزء الثاني مكافأة إنتروبيا (بمعامل β) تمنع السياسة من أن تصبح حادة جداً وتُحافظ على الاستكشاف.

بنية الشبكة: التعمّق بالكتل المتبقية

جرّبت IMPALA بنيتين. النموذج الضحل يُشبه شبكة A3C الأصلية: ثم وLSTM، بإجمالي 1.2 مليون معامل. النموذج العميق يعتمد فيها 15 طبقة التفافية موزّعة على 3 مكدّسات من الكتل المتبقية، بـ1.6 مليون معامل.

تاريخياً، الشبكات الأعمق لم تنفع في التعلّم المعزَّز — كانت التدرّجات تتلاشى والتحسين يتعطّل. لكن تدريب IMPALA بدفعات كبيرة على الـ GPU غيّر القاعدة: النموذج العميق تفوّق باستمرار على الضحل في مختلف المهام. الوصلات المتبقية تسمح للتدرّجات بالتدفق عبر كامل عمق الشبكة، والدفعات الكبيرة توفّر إشارة كافية لتعلّم ذات معنى في الطبقات العميقة.

في المهام التي تتضمّن تعليمات لغوية (كمهام التنقّل في DMLab-30)، تُضاف وحدة LSTM صغيرة تُرمِّز النصّية، ويُدمَج ناتجها مع السمات البصرية قبل الدخول إلى LSTM الرئيسية.

افتح في المختبر
قارن بين النموذج الضحل (1.2 مليون معامل) والنموذج العميق المتبقي (1.6 مليون معامل). مرّر على أي طبقة لمعرفة دورها.
تستيقظ التجربة عند وصولك…

إتقان المهام المتعددة: عامل واحد، ألعاب كثيرة

سرعة IMPALA العالية تفتح الباب لشيء لم يكن ممكناً عملياً من قبل: تدريب نموذج واحد على عشرات المهام في آنٍ واحد. بدل تخصيص كل الفاعلين لمهمة واحدة، توزّع IMPALA عدداً ثابتاً من الفاعلين على كل مهمة. النموذج لا يعرف أي مهمة يتدرب عليها — عليه أن يتعلّم سياسة عامة تصلح للجميع.

على DMLab-30 (30 مهمة ثلاثية الأبعاد متنوعة تشمل التنقّل وفهم اللغة واختبارات معرفية)، حققت IMPALA متوسط نتيجة مُعيَّرة بالأداء البشري بلغ 49.4% — أكثر من ضعف نتيجة A3C (23.8%). والأبرز أن نموذج IMPALA متعدد المهام تفوّق حتى على نماذج IMPALA المُدرَّبة على كل مهمة وحدها، وهذا دليل على فعلي — مهارات مكتسبة في مهمة تُفيد مهاماً أخرى.

على Atari-57 (كل ألعاب Atari الـ57)، حقق نموذج IMPALA واحد نتيجة وسيطة مُعيَّرة بالأداء البشري بلغت 59.7% — وهي منافسة لنماذج A3C المتخصصة التي دُرِّب كلٌّ منها على لعبة واحدة. كانت هذه أول مرة ينجح فيها نموذج تعلّم معزَّز واحد في تحقيق أداء تنافسي على 57 لعبة دفعة واحدة.

افتح في المختبر
مخطط شعاعي يُقارن بين IMPALA متعددة المهام وA3C على فئات مهام DMLab-30. بدِّل بين إعدادات IMPALA لترى تأثير عمق الشبكة والتدريب القائم على المجتمعات.
تستيقظ التجربة عند وصولك…

الإرث: من IMPALA إلى AlphaStar وما بعده

أرست IMPALA مبدأين أساسيين رسما ملامح الجيل التالي من الموزَّع:

المبدأ الأول — افصل جمع التجارب عن التعلّم. اجعل الفاعلين خفيفين على الـ CPU يستكشفون فقط، واحصر الحوسبة الثقيلة في الـ GPU عند المتعلّم. هذا النمط صار معيارياً في SEED RL (الذي نقل حتى الفاعل إلى الـ GPU)، وR2D2 (الذي أضاف للفاعلين الموزَّعين)، وكثير من الأنظمة الإنتاجية.

المبدأ الثاني — صحِّح تأخّر السياسة بدل تجاهله. أثبت V-trace أن التصحيح المنهجي خارج السياسة يسمح بالتوسّع دون إهدار البيانات. اعتمد AlphaStar على V-trace كركيزة أساسية لتدريبه على StarCraft II — لعبة فيها مراقبة جزئية وآفاق زمنية طويلة وفضاء أفعال ضخم.

  1. 2016

    A3C — الفاعل-الناقد غير المتزامن ذو الميزة

    عدة عمّال على الـ CPU يرسلون تدرّجات بشكل غير متزامن إلى خادم معاملات مشترك. كان نقلة في التدريب متعدد الأنوية، لكنه يعاني من ضعف استغلال الـ GPU وتقادم التدرّجات عند التوسّع.

  2. 2018

    IMPALA — هذه الورقة

    فاعلون مستقلون يرسلون المسارات إلى متعلّم على الـ GPU. V-trace يُصحّح تأخّر السياسة. 250 ألف إطار/ثانية، مع نقل إيجابي للمعرفة بين المهام على DMLab-30 وAtari-57.

  3. 2019

    AlphaStar

    بُني على بنية IMPALA واعتمد V-trace في تدريبه. تغلّب <NodeLink slug="alphastar">AlphaStar</NodeLink> على لاعبين محترفين في StarCraft II، مما أكّد أن مبادئ IMPALA تنجح حتى في ألعاب الاستراتيجية اللحظية المعقّدة.

  4. 2020

    SEED RL

    أخذ فكرة فصل IMPALA خطوة أبعد: نقل حتى استدلال الفاعلين إلى الـ GPU، فحقّق ملايين الإطارات في الثانية بالتخلّي عن الاستدلال على الـ CPU تماماً.

  5. 2020

    R2D2 — شبكة Q عميقة موزَّعة مع إعادة التشغيل التكرارية

    دمج فاعلين موزَّعين على طريقة IMPALA مع إعادة تشغيل التجارب ذات الأولوية وحالة تكرارية، وحقّق نتائج متقدمة على ألعاب Atari.

بنية IMPALA المفصولة وتصحيح V-trace أصبحا من الأدوات الأساسية في صندوق أدوات مهندس التعلّم المعزَّز. كلما رأيت نظاماً حديثاً فيه فاعلون موزَّعون يُغذّون متعلّماً مركزياً — سواء في الألعاب أو الروبوتات — فأنت تنظر إلى امتداد مباشر لأفكار IMPALA.

المرجعEspeholt, Soyer, Munos, Simonyan, Mnih, Ward, Doron, Firoiu, Harley, Dunning, Legg, Kavukcuoglu. IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures. ICML, 2018.

مصطلحات هذه الورقة