Blizzard & Google Deepmind-dən PySc2 Colabs üçün bu şəkildə pulsuz işləyir

TL; DR: GPU aparatı ilə PULSUZ StarCraft II maşın öyrənmə mühitinə başlamaq istəyirsinizsə, burada Başlanğıc Google Colab dəftərini oxuya bilərsiniz:
https://colab.research.google.com/drive/1AzCKV98UaQQz2aJIeGWlExcxBrpgKsIV

Və ya burada optimallaşdırılmış DQN versiyası:

https://colab.research.google.com/drive/18asH_hmCjgUUCb-_-SPgPWkK0MYLPAmk

Ai şahmatı və son zamanlarda inanılmaz dərəcədə mürəkkəb Go oyununu mənimsəyib.

Bununla birlikdə, klassik masa oyunları xaricində, real vaxt oyunlarında mövcud maşın öyrənmə (ML) texnikasının uğursuz olduğu bir çox sahə var.

Misal olaraq oyunun hissələri gizlədildiyi və ya ümumiyyətlə "Duman Döyüşü" olaraq bilinən, maşın öyrənmə alqoritminin idarə etməsi lazım olan bir çox düymə və ya "hərəkət" olduqda, oyunda birdən çox rəqib olduqda & bir neçəsinin adını çəkmək üçün uzunmüddətli planlaşdırma!

Ötən ilin avqust ayında (2017), Google Deepmind Ai tədqiqatı üçün "növbəti böyük problem" i yayımlamaq üçün Blizzard Entertainment ilə birləşdi.

Starcraft 2-ni ələ keçirin

StarCraft II, 2010-cu ildə çıxan bir elmi fantastik əsaslı real vaxt strategiya oyunudur

Başlamadan əvvəl sizə lazım olacaqdır:

  • Google Chrome-un ən son versiyasını istifadə edə bilən bir kompüter.
  • Sabit bir internet bağlantısı,
  • Colabs tərəfindən optimallaşdırılmış bir maşın öyrənmə modeli (bunu qısa müddətdə necə edə biləcəyinizi görəcəyik, ancaq necə etdiyimizlə maraqlanmırsınızsa, maşın öyrənmə modelinizi optimallaşdırmaq barədə Hissə 2-də növbəti məqaləyə keçə bilərsiniz. Colabs üçün "bu link vasitəsilə)

Niyə Colabs istifadə edirsiniz?

Bir maşın öyrənmə agenti yazmaq çətindir.

Yalnız bir CPU-ya girişiniz varsa, bir maşın öyrənmə modelini öyrətmək yalnız bir nəticə əldə etmək üçün kompüter dövrlərinizin bir neçə günü çəkə bilər.

İnsanlar olaraq gündəlik münasibət qura bilmədiyimiz layihələrə marağımızı tez itiririk. Bir neçə gündə və ya həftələrdə bir nəticə əldə etmək (!) Sadəcə əlverişsiz bir araşdırma növüdür.

Şəxsən bir 2011 Macbook Air olduğunuzda çox RAM və müasir bir GPU kimi qəşəng şeylərdən məhrum olduğunuz zaman daha da sərt olur !!!

Laboratoriyaya daxil olun

Ötən ilin sonunda Google Research, maşın öyrənmə vasitəsi olan Colaboratory və ya Colabs-ı qısaca yayımladı.

Google Laboratoriyası.

İlk buraxılış olduqca sərin idi. Google Buluddakı bir virtual maşına (VM) qoşulmuş bir Jupyter notebook üslubunda ön hissəyə girişiniz var - hamısı pulsuzdur.

Bununla birlikdə, yanvar ayının sonunda (2018) maraqlarımızı cəlb edən, Google tərəfindən yenilənmiş bir GPU-ya pulsuz giriş imkanı verən Colabs idi !!!

pulsuz,

Giriş,

üçün,

bir,

GPU,

Pulsuz olduğunu söylədik? Müqəddəs skumbriya topları.

(Bir əlavə qeyd olaraq, Google sizə 11 GB RAM və NVIDIA K80 GPU ilə bir VM-yə pulsuz giriş imkanı verir. Son dəfə yoxladığımızda NVIDIA K80 GPU'ları Amazon'da 1500 dollar idi.)

NVIDIA Tesla K80 GPU

Maşın öyrənmə modelinizi tamamilə buludda pulsuz öyrətmək, modellərinizin öyrənmə nəticələrini yükləmək və nəticələrini günlər və ya həftələr əvəzinə 12 saat ərzində kompüterinizdə görməkdən gözəl nə ola bilər.

Bunu necə etdik.

Asan hissə

Keçən il yayımlanan başsız Starcraft 2 versiyasının (başqa bir fantaziya olmadan Starcraft Graphics) Colabs-a yüklənə biləcəyini araşdırmağa çalışdıq.

Bizi təəccübləndirdi, işə yaradı.

! wget http://blzdistsc2-a.akamaihd.net/Linux/SC2.4.0.2.zip
--2018-04-10 03: 11: 41-- http://blzdistsc2-a.akamaihd.net/Linux/SC2.4.0.2.zip Çözün blzdistsc2-a.akamaihd.net (blzdistsc2-a.akamaihd .net) ... 72.246.56.35, 72.246.56.72 blzdistsc2-a.akamaihd.net (blzdistsc2-a.akamaihd.net) bağlantısı | 72.246.56.35 |: 80 ... bağlıdır. HTTP istəyi göndərildi, cavab gözlənilir ... 200 OK Uzunluq: 3457493499 (3.2G) [application / zip] Saxla: "SC2.4.0.2.zip" SC2.4.0.2.zip 37% [=== ===>] 1.20 G 28.2 MB / s eta 84s
SC2.4.0.2.zip 100% [===================>] 3.22G 30.2MB / s 2m 10s-də 2018-04-10 03:13:53 (25.3 MB / s) - "SC2.4.0.2.zip" qeyd edildi [3457493499/3457493499]

Gündəmdəki növbəti məsələ başsız müştərinin paketini açmaq idi.

Bu da işlədi.

! unzip -P iagreetotheeula SC2.4.0.2.zip
Arxiv: SC2.4.0.2.zip yaratmaq: StarCraftII / yaratmaq: StarCraftII / təkrar / yaratmaq: StarCraftII / Battle.net / yaratmaq: StarCraftII / Battle.net / cache / yaratmaq: StarCraftII / Battle.net / Cache / 02 / yaratmaq : StarCraftII / Battle.net / Cache / 02 / 4e / Şişir: StarCraftII / Battle.net / Cache / 02 / 4e / 024eaf5791a26ab0ab99e5c3ef5c2b96ebbdb176dd8862bfee38a9c3242e4115.s2ma

Əlbəttə, Python kodunuzu Starcraft 2 ilə əlaqələndirə bilmək üçün Deepminds PySc2-yə ehtiyacınız var.

Beləliklə, sadə bir quraşdırma əmri ilə ... Viola! PySc2 artıq Colaboratory-də quraşdırılıb.

! pip quraşdırma pysc2
Pysc2 topla PySC2-1.2-py3-none-any.whl (112kB) -dən 100% | ██████████████████████████████ ██ | 112 kB 2.1 MB / s

Çətin hissə

Daha sonra başsız müştərinin bir nümunəsini başlatmağa müvəffəq olduq, ancaq PySc2 veb ağları kimi tanınan bir texnologiyadan istifadə edərək qoşulmağa çalışarkən, əlaqə zamanaşımı xətası ilə qarşılaşdı.

Bu vaxt itkisi idi.

Tam olaraq deyil.

Son dərəcə gərgin bir işdən sonra, StarAi komandamızdan Frank He, Colabs'ı (ayıklayıcısı olmadan ...) səhv səbəbi ilə araşdırmağı bacardı. Bunu necə etdiyini mükəmməl bir izah etmək üçün buradakı orta vəzifəsinə keçə bilərsiniz.

Yaddaş ayırma səhvinin SC2 müştərisinin başsız yerə çökməsinə səbəb olduğu ortaya çıxdı.

İndi Colabs-da PySC2 ilə danışan başsız müştərinin İŞÇİLİ bir versiyası var

Oynamağa davam edin!

Bir maşın öyrənmə agentinin hazırlanması

Wills DQN Google Colabs-da təhsil almışdır.

Son bir başqa müvəffəqiyyətimizdə, komandamızın üzvlərindən biri, PySC2-nin ilk versiyasından mayak probleminə keçidi həll edən DQN adlı bir maşın öyrənmə alqoritminin bir versiyasını əldə etməyi bacardı.

Will-in agentini Colabs-da sınamağa qərar verdik və bitməyən sürprizimizlə işə başladı !!!

! PİTHONPATH =. python ~ / pytorch / sc2_agents / BaseTrainer.py --map = MoveToBeacon --train = Doğru
Oyun mərhələsi yüklənir. Növbəti oyuna başlayın. Növbəti başlanğıc mərhələsi başladı:

Agentinizi necə öyrətmək olar.

Hər şeydən əvvəl sabit bir internet bağlantısına ehtiyacınız var. Bunun səbəbi odur ki, model məşq edərkən Colabs-dan ayrılsanız, bütün zəhmətiniz itiriləcəkdir.

Model təliminizi bir gecədə tərk etməyiniz ən yaxşısıdır ki, ertəsi səhər yeni maşın öyrənmə nəticələrini əldə etmək üçün oyana bilərsiniz. Bizim kimisinizsə və otaq yoldaşlarınızın Netflix-i izləməsini istəyirsinizsə, modelinizin etibarlı şəkildə istifadə edə biləcəyi daha yaxşı bir internet bağlantısı tapmağa çalışırsınız!

Ayrıca, kompüterinizin ekranı kilidləmək üçün vaxtı olmadığından əmin olun. Bunun da internetin əlaqəsini kəsdiyini düşündük.

Colabs üçün maşın öyrənmə modelinizi də optimallaşdırmalısınız. Bu addım asandır. Bir təqib məqaləsi yazdıq və 2-ci hissədə Colabs üçün modelinizi necə optimallaşdırdığınızı göstərəcəyik

Və bu qədər!!

İndi başla >>

Aşağıda Colabs dəftərimizə bir keçid var. Google Chrome istifadə edirsinizsə, artıq brauzerinizə yükləyə və onunla oynaya bilərsiniz.

Əsas agent

https://colab.research.google.com/drive/1AzCKV98UaQQz2aJIeGWlExcxBrpgKsIV

DQN agenti

https://drive.google.com/file/d/18asH_hmCjgUUCb-_-SPgPWkK0MYLPAmk/view?usp=sharing

Hissə 2: Google Colaboratory üçün Starcraft Maşın Öyrənmə Modelinizi necə optimallaşdırmaq olar.

Blizzard, Deepmind & Google-a bu ecazkar alətləri maşın öyrənmə cəmiyyətinə yayımladığı üçün təşəkkür edirik və ümid edirik ki, bu iş başqalarına Starcraft 2 mühitindən istifadə edərək maşın öyrənmə sərhədlərini aşmağa ilham verəcəkdir.
Bu səsi asanlaşdırdıq, amma düzü çox zəhmət idi. Yaddaş bölüşdürmə problemini ayıkladığı vaxt üçün Frank He'yə və DQN alqoritmindəki böyük rəhbərliyinə görə William Xu'ya şəxsən təşəkkür edirəm.
StarAi, Avstraliyanın Sidney şəhərində yerləşən kiçik bir maşın öyrənmə inkişaf etdiriciləri, mühəndisləri və tədqiqatçılar qrupudur