یادگیری تقویتی مقیاس پذیر با SEED RL

منتشر‌شده در: وبلاگ هوش مصنوعی گوگل به تاریخ ۲۳ مارچ ۲۰۲۰
لینک منبع: Massively Scaling Reinforcement Learning with SEED RL

یادگیری تقویتی (Reinforcement Learning) پیشرفت‌های چشمگیری را در چند سال اخیر مشاهده کرده‌است، همانطور که با موفقیت اخیر در حل بازی‌هایی مانند Go و Dota2 نشان داده شد. مدل‌ها، یا عوامل، با بررسی یک محیط، مانند یک بازی، و در عین حال بهینه‌سازی برای اهداف مشخص، یاد می‌گیرند. با این حال، تکنیک‌های فعلی یادگیری تقویتی به طور فزاینده‌ای نیازمند مقادیر زیادی آموزش برای یادگیری موفق حتی بازی‌های ساده است، که تکرار ایده‌های تحقیق و محصول را از نظر محاسباتی پرهزینه و زمان بر می‌سازد.

در مقاله «SEED RL: یک یادگیری تقپیتی عمیق مقیاس پذیر و کارآمد عمیق با دخالت مرکزی شتاب‌داده‌شده»، ما یک عامل یادگیری تقویتی ارایه می‌کنیم که به هزاران ماشین مقیاس می‌دهد، که آموزش را با میلیون ها فریم در ثانیه ممکن می‌سازد، و به طور قابل‌توجهی کارآیی محاسباتی را بهبود می‌بخشد. این کار با یک معماری جدید به دست می‌آید که از شتاب‌دهنده‌ها (جی‌پی‌یو‌ها و تی‌پی‌یو‌ها) در مقیاس با متمرکز کردن استنتاج مدل و معرفی یک لایه ارتباطی سریع بهره می‌برد. ما عملکرد SEED RL را بر روی بنچ‌مارک‌های محبوب یادگیری تقویتی، مانند گوگل ریسرچ فوتبال، محیط یادگیری آرکید و آزمایشگاه دیپ‌مایند بررسی کردیم و نشان می‌دهیم که با استفاده از مدل‌های بزرگ‌تر، می توان بازده داده را افزایش داد. کد به همراه مثال‌هایی برای اجرا در گوگل کلاود با جی‌پی‌یو در گیت‌هاب منتشر شده‌است.

معماری‌های توزیع‌شده فعلی

نسل قبلی عوامل یادگیری تقویتی توزیع‌شده، مانند IMPALA، از شتاب‌دهنده‌های تخصصی برای محاسبات عددی، با استفاده از سرعت و بهره‌وری که یادگیری نظارت شده سال‌ها از آن بهره برده‌است، استفاده کرده‌است. معماری عامل یادگیری تقویتی معمولا به بازیگران و یادگیرندگان تقسیم می‌شود. عامل‌ها معمولا روی CPU ها کار می‌کنند و بین برداشتن گام‌هایی در محیط و اجرای استنتاج بر روی مدل برای پیش‌بینی اقدام بعدی تکرار می‌کنند. اغلب عامل پارامترهای مدل استنباطی را به روز رسانی می‌کند و پس از جمع‌آوری مقدار کافی مشاهدات، مسیری از مشاهدات و اقدامات را به یاد گیرنده می‌فرستد که سپس مدل را بهینه می‌کند. در این معماری، یادگیرنده مدل‌ها را با استفاده از ورودی استنتاج توزیع‌شده بر روی جی‌پی‌یو روی صدها ماشین، آموزش می‌دهد.

مثال معماری برای نسل قبلی عامل یادگیری تقویتی، IMPALA. استنتاج فعالان معمولا با استفاده از CPU های ناکارآمد انجام می‌شود. پارامترهای مدل به روز شده اغلب از یاد گیرنده به فعالان فرستاده می‌شوند که نیاز به پهنای باند را افزایش می‌دهند.
مثال معماری برای نسل قبلی عامل یادگیری تقویتی، IMPALA. استنتاج فعالان معمولا با استفاده از CPU های ناکارآمد انجام می‌شود. پارامترهای مدل به روز شده اغلب از یاد گیرنده به فعالان فرستاده می‌شوند که نیاز به پهنای باند را افزایش می‌دهند.


معماری عامل‌های یادگیری تقویتی (مانند IMPA) دارای چندین اشکال است:

  • استفاده از CPU ها برای استنتاج شبکه عصبی بسیار کم‌تر کارآمد و کندتر از استفاده از شتاب‌دهنده‌ها است و با بزرگ‌تر شدن مدل‌ها و هزینه محاسباتی بیشتر، مشکل‌ساز می‌شود.
  • پهنای باند مورد نیاز برای ارسال پارامترها و حالت‌های مدل میانی بین فعالان و یادگیرنده می‌تواند یک تنگنا باشد.
  • رسیدگی به دو وظیفه کاملا متفاوت بر روی یک ماشین (یعنی ارائه و استنتاج محیط) بعید به نظر می‌رسد که از منابع ماشین به طور بهینه استفاده شود.

معماری SEED RL

معماری SEED RL برای حل این اشکالات طراحی شده‌است. با این رویکرد، استنتاج شبکه عصبی به طور متمرکز توسط یادگیرنده بر روی سخت‌افزارهای تخصصی (جی‌پی‌یوها یا تی‌پی‌یوها) انجام می‌شود، که با اطمینان از اینکه پارامترهای مدل و حالت محلی نگه‌داشته می‌شوند، استنتاج تسریع شده و اجتناب از تنگنای انتقال داده را ممکن می‌سازد. در حالی که مشاهدات در هر مرحله از محیط به یاد گیرنده فرستاده می‌شوند، لاتنسی به دلیل یک کتابخانه شبکه بسیار کارآمد براساس چارچوب gRPC با RPC های اتصال غیر همزمان، پایین نگه‌داشته می‌شود. این امر دستیابی به حداکثر یک میلیون پرس و جو در هر ثانیه بر روی یک ماشین را ممکن می‌سازد. یاد گیرنده می‌تواند به هزاران هسته مقیاس بندی شود (به عنوان مثال تا ۲۰۴۸ در شبکه‌های ابر) و تعداد فعالان می‌تواند به هزاران ماشین مقیاس داده شود تا به طور کامل از یاد گیرنده استفاده کنند، و آموزش با میلیون‌ها فریم در ثانیه را ممکن سازند. SEED RL براساس API تنسورفلو ۲ است و در آزمایش‌ها ما توسط تی‌پی‌یوها تسریع شد.

مروری بر معماری SEED RL. برخلاف معماری IMPALA، فعالان تنها در محیط عمل می‌کنند. مداخله به صورت متمرکز توسط یادگیرنده بر روی شتاب‌دهنده‌ها با استفاده از بسته‌های داده از چندین عامل اجرا می‌شود.
مروری بر معماری SEED RL. برخلاف معماری IMPALA، فعالان تنها در محیط عمل می‌کنند. مداخله به صورت متمرکز توسط یادگیرنده بر روی شتاب‌دهنده‌ها با استفاده از بسته‌های داده از چندین عامل اجرا می‌شود.


به منظور موفقیت این معماری، دو الگوریتم مدرن در SEED RL ادغام می‌شوند. اولین مورد، V-trace است، یک روش مبتنی بر گرادیان سیاست، که ابتدا با IMPALA معرفی شد. به طور کلی، روش‌های مبتنی بر گرادیان سیاست یک توزیع عملی را پیش‌بینی می‌کنند که از آن یک عمل می‌تواند نمونه‌برداری شود. با این حال، از آنجا که فعالان و یاد گیرنده به طور غیر همزمان در SEED RL عمل می‌کنند، سیاست فعالان کمی از سیاست یاد گیرنده عقب است، یعنی آن‌ها خارج از سیاست می‌شوند. روش‌های معمول مبتنی بر گرادیان سیاست مبتنی بر سیاست هستند، به این معنی که آن‌ها سیاست یکسانی برای فعالان و یاد گیرنده دارند، و از هم‌گرایی و مسائل عددی در تنظیمات خارج از سیاست رنج می‌برند. V-trace یک روش خارج از سیاست است و در نتیجه در معماری SEED RL به خوبی عمل می‌کند.

الگوریتم دوم R2D2 است، یک روش یادگیری Q که عملی را براساس مقدار پیش‌بینی‌شده آینده آن عمل با استفاده از تکرار توزیع‌شده انتخاب می‌کند. این رویکرد به الگوریتم یادگیری Q اجازه می‌دهد تا در مقیاس اجرا شود، در حالی که هنوز امکان استفاده از شبکه‌های عصبی بازگشتی را فراهم می‌کند که می‌تواند مقادیر آینده را براساس اطلاعات تمام فریم های گذشته در یک اپیزود پیش‌بینی کند.

آزمایش‌ها

الگوریتم SEED RL در محیط‌های یادگیری آرکید، محیط‌های آزمایشگاهی دیپ‌مایند و محیط‌های تحقیقاتی گوگل که اخیرا منتشر شده‌اند، معیار قرار گرفته‌است.

فریم‌ها در ثانیه مقایسه IMPALA و پیکربندی‌های مختلف SEED RL در آزمایشگاه دیپ‌مایند. SEED RL با استفاده از ۴،۱۶۰ CPU به ۲.۴ میلیون فریم در ثانیه دست می‌یابد. با فرض سرعت یک‌سان، IMPALA به ۱۴٬۰۰۰ CPU نیاز دارد.
فریم‌ها در ثانیه مقایسه IMPALA و پیکربندی‌های مختلف SEED RL در آزمایشگاه دیپ‌مایند. SEED RL با استفاده از ۴،۱۶۰ CPU به ۲.۴ میلیون فریم در ثانیه دست می‌یابد. با فرض سرعت یک‌سان، IMPALA به ۱۴٬۰۰۰ CPU نیاز دارد.


در آزمایشگاه دیپ‌مایند، ما به ۲.۴ میلیون فریم در ثانیه با هسته ۶۴ ابر تی‌پی‌یو می‌رسیم، که نشان‌دهنده بهبود ۸۰ برابر نسبت به عامل توزیع‌شده جدید، IMPALA است. این امر منجر به افزایش سرعت در ساعت و بازده محاسباتی می‌شود. IMPALA به ۳-۴ برابر تعداد CPU های SEED RL با همان سرعت نیاز دارد.

بازگشت قسمت (به عنوان مثال، مجموع پاداش‌ها) در طول زمان در بازی آزمایشگاه دیپ‌مایند
بازگشت قسمت (به عنوان مثال، مجموع پاداش‌ها) در طول زمان در بازی آزمایشگاه دیپ‌مایند "کشف مکان‌های هدف کوچک" را با استفاده از IMPALA و SEED RL با SEED RL، زمان آموزش به طور قابل‌توجهی کاهش می‌یابد.


با معماری بهینه‌شده برای استفاده در شتاب‌دهنده‌های مدرن، طبیعی است که اندازه مدل در تلاش برای افزایش بهره‌وری داده افزایش یابد. ما نشان می‌دهیم که با افزایش اندازه مدل و قدرت تفکیک ورودی، می‌توانیم یک کار فوتبال تحقیق گوگل که قبلا حل‌نشده را حل کنیم.

امتیاز معماری‌های مختلف در کار
امتیاز معماری‌های مختلف در کار "سخت" فوتبال تحقیق گوگل. ما نشان می‌دهیم که با استفاده از یک تفکیک پذیری ورودی و یک مدل بزرگ‌تر، امتیاز بهبود یافته، و با آموزش بیشتر، مدل می‌تواند به طور قابل‌توجهی بهتر از هوش مصنوعی سازنده عمل کند.


جزییات بیشتری در این مقاله آورده شده‌است، از جمله نتایج ما در مورد محیط یادگیری آرکید. ما بر این باوریم که SEED RL و نتایج ارایه‌شده، نشان می‌دهد که یادگیری تقویتی یک‌بار دیگر به بقیه حوزه عمیق یادگیری از نظر استفاده از شتاب‌دهنده‌ها دست یافته‌است.


این مقاله با استفاده از ربات ترجمه مقاله هوش مصنوعی به صورت خودکار ترجمه شده و با حداقل بازبینی انسانی منتشر شده است.