Обладнання, яке використовується в матчі AlphaZero проти Stockfish


22

Я розумію, що AlphaZero має використовувати інший вид обладнання, ніж звичайні Stockfish. Я б очікував, що обладнання має великий вплив на міцність двигуна. Тому мені цікаво, чи були спроби забезпечити порівнянне обладнання для обох. Також що б тут означало "порівнянне"?

Конкретно я читав, що люди скаржаться на:

  • Стокові риби дають лише 1 ГБ кешу, і
  • обмеження в часі 1 хв / хід (як би цей недолік маків?)

Розмір хеша , а не кеш, мабуть.
Федеріко Полоні

2
Я настійно пропоную запитати це на технічному форумі (як-от AI Stack Exchange , можливо, під назвою "Справедливість оцінки в матчах AlphaZero проти Stockfish"), оскільки відповіді тут не є хорошими.
Ведрак

Відповіді:


20

Тому мені цікаво, чи були спроби забезпечити порівнянне обладнання для обох.

Це ви про Google, про які ви говорите! Тож відповідь, очевидно, «ні».

З оригінального паперового обладнання, що використовується для ініціалізації та навчання -

Навчання тривало за 700 000 кроків (міні-партії розміром 4 096), починаючи з випадково ініціалізованих параметрів, використовуючи 5000 ТПУ першого покоління (15) для генерації ігор в самостійні ігри та 64 ТПУ другого покоління для тренування нейронних мереж

і обладнання, яке використовується для ігор -

AlphaZero та попередній AlphaGo Zero використовували одну машину з 4 ТПУ Stockfish та Elmo, які грали на найсильнішому рівні майстерності, використовуючи 64 теми та розмір хешу 1 Гб.

Так, AlphaZero використовував спеціальне обладнання, розроблене Google. Він використовував спеціалізовані тензорні процесорні блоки (ТПУ), а не загальні центральні процесорні блоки (ЦП), які доступні на комерційній основі.

Ось так Вікіпедія описує TPU другого покоління, якими вони користувалися -

TPU другого покоління було оголошено в травні 2017 року. Google заявив, що дизайн TPU першого покоління обмежений пропускною здатністю пам’яті, а використання 16 ГБ пам'яті високої пропускної здатності в дизайні другого покоління збільшило пропускну здатність до 600 ГБ / с і продуктивність до 45 TFLOPS. Потім TPU розташовані в 4-х мікросхемах 180 TFLOPS модулів

Для ігор вони використовували 4 ТПУ, так що потужність обробки склала 180 TFLOPS. Зверніть увагу на TFLOPS = 1000 мільярдів операцій з плаваючою точкою в секунду.

Для порівняння останній найпотужніший чіп Intel - це процесор Core i9 Extreme Edition, який працює на 1 TFLOP. Верхня частина рядка I7, яку ви знайдете в ігровому автоматі, зазвичай становить приблизно 100 GFLOP (тобто десята частина TFLOP).

Я думаю, що справедливо сказати, що AlphaZero використовував 800 фунтів горили апаратної конфігурації порівняно з мишею Stockfishes.


1
FLOPS означає операції з плаваючою комою в секунду. Арифметика з плаваючою комою, мабуть, взагалі не використовується в основних алгоритмах Stockfish та AlphaZero. Тож кількість FLOPS насправді не є повноцінним показником швидкості процесора, що відповідає шаховому двигуну.
René Pijl

9
Навпаки, я вважаю, що нейронні мережі досить інтенсивно використовують арифметику з плаваючою комою. (Але, звичайно, ваше зауваження має ідеальний сенс і стосується Stockfish.)
Федеріко Полоні

3
Набагато більш вдале порівняння було б з GPU; NVIDIA Tesla V100 може зробити 120 TFLOPS, порівняно з попереднім поколінням (P100), які мали близько 20 процесорів.
Нік Т

12

Я вважаю, що найкраще, якщо я детальніше розповім про ваш другий пункт на прикладі руху в грі 1 між AlphaZero та Stockfish, яка також сьогодні задовольнила мою цікавість.

обмеження в часі 1 хв / хід (як би цей недолік маків?)

Продуктивність Stockfish залежить як від обмеження часу, так і від конфігурації обладнання, тому подумайте, коли хтось подвоює потоки процесора, тоді Stockfish потребує менше часу (не обов'язково половини), щоб знайти рішення, ніж це було б при першій конфігурації.

У першому звіті, який був розміщений на Chess.com, хтось стверджував, що Stockfish не грає оптимально, тому що він не може відтворити ті самі результати, використовуючи ті самі Stockfish на своєму комп’ютері. Він сказав, що на позиції внизу (гра 1 - хід 11) Stockfish грав Kg1-h1 (перемістив свого короля), що зовсім не мало сенсу. З іншого боку, худоба на його комп’ютері виявила більш розвинений хід, як Be3 (переміщення темного квадратного єпископа), давайте подивимось на положення:

Гра 1 на ходу 11

Так, це був пасивний хід, і, схоже, що Stockfish повинен був зіграти більш розвинений хід. Але він помилявся. Чому? Оскільки він бігав Stockfish протягом 15 секунд, і якби він пробіг його протягом години, він отримав би Kg1-h1 як найкращий хід у цій позиції. Собака змінює своє рішення, коли аналізує всі можливі кроки більш глибоко. Ось що я спочатку сказав у своїй відповіді :

Я побіг останніх тварин на позиції (на ходу 11):

  • Спочатку він дає b4 як оптимальний хід, коли двигун працює близько хвилини. Після цього вирішує, що Be3 краще.
  • Але через 5 хвилин на моєму апаратному забезпеченні, яке працює на 1400k вузлів / с, він вирішить перейти з Kh1 як оптимальний хід.

  • У статті йдеться про те, що рибний запас обчислює 70 000 тис. Позицій в секунду і працює 1 хвилину на хід, що приблизно в 50 разів перевищує мою техніку, тому я дозволяю шахті працювати протягом 50 хвилин ... Kg1-h1 все ще вибір для Stockfish.

Час обмеження є ключовим

У вищенаведеному випадку це, мабуть, мало значення, якби Stockfish балотувався вдвічі більше часу, тому що рішення було б однакове, але на наступному кроці воно напевно було б :

введіть тут опис зображення

У цьому положенні Stockfish вирішив перемістити пішака з лівого боку ( a4-a5 ). Скажімо, у мене є комп’ютер, який працює на двигуні Stockfish зі швидкістю 1400k вузлів в секунду, що приблизно в 50 разів нижче, ніж у Stockfish у реальній грі ( У статті йдеться про 70 000kn / s). Тож я можу імітувати гру, якщо запускати її протягом 50 хвилин на кожному русі. Гаразд.

Я провів аналіз запасів на вищезгаданій позиції і отримав такі результати:

  • Stockfish почав пропонувати деякі рухи, але через 6 хвилин на моєму комп’ютері (що відповідає 7,2 секунди на Stockfish в реальній грі) він віддав перевагу a4-a5 так само, як ішла гра .

Це добре, але я продовжував працювати протягом 50 хвилин для того, щоб досягти обчислень Stockfish у грі, дозволеній 1 хвилину:

Сумна правда полягає в тому, що я вважаю, що Stockfish програв усі свої ігри через обмежений час. З часом рибальські риби отримують більш глибокий пошук та оцінку, і в грі не було дозволено використовувати вступну книгу, яка змушує враховувати багато кроків на невеликій глибині. Зауважте, що в реальній грі a4-a5 було зіграно, що показує, що (якщо припустити, що вона може оцінювати 70 мільйонів позицій в секунду), Stockfish в грі не витрачав більше ніж 21,6 секунди на рух. В іншому випадку це змінило б своє рішення на ці три інші рухи в реальній грі. Причина цього досі для мене незрозуміла, оскільки мій Stockfish також споживав менше пам’яті (приблизно ~ 130 Мб оперативної пам’яті порівняно з 1 ГБ, зазначеним у первинному документі , якщо припустити, що все це йде до хеш-таблиць).


Висновок

Як я зазначив, апаратне забезпечення, в якому працювали Stockfish, було в кращому випадку в 18 разів швидше, ніж у мене (оновлення: на одне ядро) на основі аналізу, який я проаналізував. Я не впевнений, чи зможе AlphaZero реально використовувати таке обладнання для тренувань своїх мереж за 4 години, можу лише припустити, що це занадто низько для гри, як шахи. Крім того, AlphaZero витратив ці години на навчання, що також включає побудову міцних отворів (і, як вказує папір, переваги над певними отворами). З іншого боку, Stockfish зазнав перешкод на виворотах, і він не оцінював 70 мільйонів позицій в секунду протягом 60 секунд на кожному русі.

На завершення все, що я сказав, базувалося на моїх припущеннях. Звичайно, результат AlphaZero та ігри були для мене надзвичайно цікавими. Однак мені б хотілося бачити гру, де гра в Stockfish була подібно до того, що я отримую на своєму комп’ютері. Тобто більше часу і відкриття книги дозволяється. Також легко отримувати результати аналізу запасів на кожному кроці, і я б хотів, щоб вони випустили його для того, щоб показати, наскільки добре він виконаний.


1
Щодо часового обмеження, на малюнку 2 у роботі AlphaZero показано навпаки: риба-пасти краще в нижчому бюджеті, але в гірших масштабах, коли більше енергії. arxiv.org/pdf/1712.01815.pdf
old-ufo

1
@ old-ufo Дякую, що вказали на це. Як я вже говорив, продуктивність Stockfish (та AlphaZero) залежить від обладнання та часу. Натомість, якби ми дали Stockfish більше обладнання (а AlphaZero менше) і відновили цю фігуру, її лінія може бути перетворена таким чином, що вона завжди залишається вище лінії AlphaZero. Тож я гадаю, що це хороший момент у порівнянні апаратних засобів для обох систем, який також відповідає на головне питання.
ReZzT

4

Один з оригінальних авторів Stockfish відповідає на конкретні скарги, які ви згадали тут:

Тим часом Chess.com також отримав тривалий коментар від одного з оригінальних авторів Stockfish, Торда Ромстада, який ми дамо повністю:

Результати поєдинків самі по собі не мають особливого значення через досить дивний вибір регуляторів часу та параметрів запасів Stockfish: Ігри грали у фіксований час 1 хвилину / хід, що означає, що Stockfish не використовує евристики управління часом ( багато зусиль було докладено, щоб змусити Stockfish визначити критичні моменти в грі та вирішити, коли витратити додатковий час у русі; за фіксований час за ходу сила значно постраждає) Використовувана версія Stockfish є однорічною, грала з набагато більшою кількістю пошукових ниток, ніж коли-небудь отримала значну кількість тестування, і мала занадто малі хеш-таблиці для кількості потоків. Я вважаю, що відсоток нічиїх був би набагато вищим у поєдинку з більш нормальними умовами.

З іншого боку, немає сумнівів, що AlphaZero міг би грати краще, якби в проект було вкладено більше роботи (хоча «4 години навчання», згадані в статті, сильно вводять в оману, якщо враховувати масивні апаратні ресурси, які використовуються протягом цих 4 годин). Але в будь-якому випадку, Stockfish vs AlphaZero - це порівняння яблук з орангутанами. Один - це звичайна шахова програма, що працює на звичайних комп’ютерах, інша використовує принципово різні методи і працює на спеціально розробленому обладнання, яке недоступне для придбання (і було б виходу з бюджету звичайних користувачів, якби було).

З іншого боку, кут яблук проти орангутанів є найбільш захоплюючим у цьому питанні. Зараз у нас є два надзвичайно різних (як з боку апаратного, так і з програмного забезпечення) техногенних утворень, які обидва проявляють надлюдські шахові здібності. Це набагато цікавіше, ніж ще одна шахова програма, яка робить те саме, що і в шахових програмах, лише трохи краще. Крім того, адаптованість підходу AlphaZero до нових доменів відкриває захоплюючі можливості для майбутнього.

Для шахістів, що використовують комп’ютерні шахові програми як інструмент, цей прорив навряд чи матиме великий вплив, принаймні в короткостроковій перспективі, через відсутність відповідного обладнання для прийнятних цін.

Для програмістів шахових двигунів - а також для програмістів у багатьох інших цікавих сферах - поява машинних методів навчання, які потребують великих апаратних ресурсів, щоб бути ефективними. Через кілька років цілком можливо, що шахові програми, подібні AlphaZero, можна зробити на звичайних комп’ютерах, але апаратні ресурси, необхідні для їх створення , все ще будуть набагато перевищувати бюджет любителів або середніх компаній. Не виключено, що проект з відкритим кодом з великою розподіленою мережею комп’ютерів, керований волонтерами, міг би працювати, але дні сотень унікальних шахових двигунів, кожен зі своїми індивідуальними вигадками та особистістю, пропадуть.

Джерело: https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author


2

Працювати на порівнянному обладнанні потрібно було б, якщо кінцевою метою Google було створити чудовий шаховий двигун, але ця вправа насправді не стосувалася шахів. Шахи - це просто зручний спосіб продемонструвати здатність AI навчитися складних завдань з нуля. Якщо він може добре працювати проти деякої нечітко розумної конфігурації Stockfish, це встановлено прапорець.

Я прогнозую, що команда Google не буде витрачати багато більше зусиль на шахи; натомість вони перейдуть до інших проблем, яких ШІ ніколи не зумів вирішити.


Я дав +1, тому що в мене таке ж почуття.
SmallChess

Звучить вірогідним, хоча я сумніваюся, що вони його опублікували, якби Альфазеро програв лише невеликий запас (мається на увазі, що він все ще буде порівнянним із силою).
користувач1583209

@ user1583209 Вони, ймовірно, пробігали це багато разів, щоб визначити мінімальну кількість навчального часу, необхідного для розчавлення Stockfish. Потім вони провели остаточний цикл і опублікували ці результати.
T Scherer

1

Відвідайте форум Talkchess, щоб дізнатися більше, там ви знайдете близько 3000 програмістів. Це все була афера. Альфа грав на 30 разів більший апарат, ніж SF, 4TPU та 64 ядра. 4TPU - це близько 1000 ядер або навіть більше. Альфа імітувала вступну книгу, тренувавшись на незліченних іграх, що виграли GM. У SF було дуже мало хешу. ТС було зафіксовано на 1 хвилині на хід, що знову згубно впливає на SF, який має розширене управління часом. ТПУ бракує неефективності SMP з більшою кількістю ядер, тому перевага в апаратному забезпеченні була ще більшою. І т. Д., І, в основному, це був просто величезний рекламний трюк з боку Google. Наразі Альфа становить близько 2800 на одній ядрі, тому на 400 елос нижче SF, і в майбутньому вона не буде значно просуватися, оскільки відтепер вона потребує розширеної оцінки, яку вона не зможе виявити. Щодо 4-годинного випуску, ну, LOL, це було 48 годин тому, тож тепер Альфа знаходиться на 5000 ело? Давай.


5
Ви, здається, вірите, що AlphaZero робить те саме, що і Stockfish, лише в 1000 разів швидше, оскільки використовував апарат у 1000 разів сильніше. Це зовсім не так. Він використовує зовсім інший підхід, і цей підхід дуже трудомісткий. Насправді під час матчу AlphaZero оцінював 80 тис. Позицій в секунду, тоді як Stockfish працював на 70 мільйонів позицій в секунду. А тепер скажіть, що AlphaZero виграв через більш сильне обладнання. Звичайно, на 64 процесорі це було б повільніше, і хто знає, як це буде грати, але справа в тому, що AlphaZero робить це краще, хоча і з більшою вартістю.
І. А. Петро Харасимович

3
Апаратне забезпечення SF коштує менше 10 000 доларів, Альфа - понад 250 000 доларів. Робіть висновки самостійно. Nps безглузді, і це знає кожен шаховий програміст. Ви можете робити всілякі трюки, щоб nps опустився, але це не означає, що ви будете грати сильніше. Я хотів би бачити, як він реалізує такий підхід на апаратному забезпеченні SF та SF на апараті Alpha. Відгадайте результат? +85 -0 = 15 для SF. Якщо вони такі великі, нехай публікують свій код.
Людмил Цвєтков

3
"Альфа змоделювала відкриття книги, навчившись незліченною кількістю виграшних ігор GM". Так, але це тренувалося на GM ігри? У вас є джерело для цього? Моє розуміння полягало в тому, що Альфа була повністю завантажена.
Акавал

0

Запаси обмежені процесорами, тому вони ніколи не зможуть масштабуватися до рівня, на який вони здатні.

Матричні обчислення Gor матриці графіків масштабуються з n, тоді як процесори масштабуються з n 3 , ці тензорні ядра додатково оптимізовані, так що це, можливо, ще краща продуктивність при масштабуванні.


-2

Перший параграф детальніше, другий короткий і простий відповідь третій абзац мої думки щодо ситуації

З AlphaZero апаратне забезпечення впливає на силу його гри. Це може зайняти більше часу, але не тому, що це мислення. Це нейронна мережа, що означає, що ви подаєте її інформацію у векторному (єдину таблицю стовпців), вона робить просту математику через гігантський тензор (3-х або більше мірних таблиць), а потім випльовує відповідь. Сток-рибам потрібен час, щоб бути хорошим, оскільки він перевіряє можливі позиції, щоб побачити, чи є хід корисним, тому чим довше він розглядає проблему, тим більше позиції / рухів він може перевірити.

Насправді не можна порівняти налаштування обладнання. Оскільки вони мають різні потреби, Stockfish повинен проаналізувати більше позицій, тоді як AlphaZero просто повинен зробити крок. І люди засмучені тим, що комп'ютер AlphaZero технічно набагато потужніший, і вони думають, що вони повинні бути рівними в цьому плані. Але AlphaZero не потребує цього суперкомп'ютера після тренувань.

На мою думку, не має значення, що вони дають обом сторонам, якщо у Stockfish не буде необгрунтованої кількості часу, вона, ймовірно, пов’яже ще декілька ігор, але загалом подібний ефект відбудеться. Ось чому я вважаю це, Stockfish спочатку оцінює шматки та їх значення, тоді як Альфа грав (мабуть) мільйони ігор, щоб зрозуміти, що важливо стратегічно. Ось чому Альфа-мішечки набагато більше, ніж колись, але отримує величезні позиційні переваги.


Це просто неправильно. AlphaZero робить пошук дерев. Більше апаратного забезпечення робить його міцнішим. І для того, щоб грати краще, ніж запаси риби, потрібна тонна обладнання.
BlindKungFuMaster

Ніщо в цій публікації не правильне ...
SmallChess

Ця система базується на 3 нейронаметах та частковому пошуку дерев Монро Карло, тому ви правильно ставитесь до цього за допомогою пошуку дерев. Під час гри він використовує 2 принципи нейронної мережі, розроблені в алфаго вартості та політики. Go - це гра, яку неможливо виконати за допомогою обчислювальної потужності, оскільки вона астрономічно складніша за шахи. Тож якщо я вважаю, що для цього потрібна більша обчислювальна потужність, ніж алгоритм грубої сили, то ви в оману. Або пропустіть поінформовані. Третя нейронна сітка використовується для того, щоб спробувати покращити процес навчання, здогадуючись про зміни поширення спини. Потужність Альфазероса знаходиться в мережах, а не в мектах.
Єзекаль
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.