AlphaZero는 일반적인 Stockfish와 다른 종류의 하드웨어를 사용해야한다는 것을 알고 있습니다. 하드웨어가 엔진 강도에 큰 영향을 미칠 것으로 기대합니다. 그렇기 때문에 두 하드웨어에 비슷한 하드웨어를 제공하려는 시도가 있었는지 궁금합니다. 또한 여기서 "비교할 수있는"의미는 무엇입니까?
특히 사람들이 다음에 대해 불평한다는 것을 읽었습니다.
- 스톡 피쉬에 1GB의 캐시 만 제공되며
- 1 분 / 이동 시간 제한
AlphaZero는 일반적인 Stockfish와 다른 종류의 하드웨어를 사용해야한다는 것을 알고 있습니다. 하드웨어가 엔진 강도에 큰 영향을 미칠 것으로 기대합니다. 그렇기 때문에 두 하드웨어에 비슷한 하드웨어를 제공하려는 시도가 있었는지 궁금합니다. 또한 여기서 "비교할 수있는"의미는 무엇입니까?
특히 사람들이 다음에 대해 불평한다는 것을 읽었습니다.
답변:
그렇기 때문에 두 하드웨어에 비슷한 하드웨어를 제공하려는 시도가 있었는지 궁금합니다.
이것이 당신이 말하는 구글입니다! 따라서 대답은 분명히 "아니오"입니다.
에서 원래의 종이 초기화하는 훈련에 사용되는 하드웨어 -
자가 재생 게임을 생성하기 위해 5,000 개의 1 세대 TPU (15)를 사용하고 신경망을 훈련시키기 위해 64 개의 2 세대 TPU를 사용하여 무작위로 초기화 된 매개 변수에서 시작하여 70 만 단계 (4,096의 미니 배치)에 대한 교육이 진행되었습니다.
게임에 사용되는 하드웨어-
AlphaZero와 이전 AlphaGo Zero는 4 개의 TPU가있는 단일 시스템을 사용했으며 Stockfish와 Elmo는 64 개의 스레드와 1GB의 해시 크기를 사용하여 가장 강력한 기술 수준에서 재생했습니다.
따라서 AlphaZero는 Google에서 개발 한 특수 하드웨어를 사용했습니다. 시중에서 구할 수있는 일반적인 중앙 처리 장치 (CPU) 대신 특수 TPU (Tensor Processor Unit)를 사용했습니다.
이것이 Wikipedia가 사용한 2 세대 TPU를 설명하는 방법입니다.
2 세대 TPU는 2017 년 5 월에 발표되었습니다. Google은 1 세대 TPU 설계가 메모리 대역폭 제한이며 2 세대 설계에 16GB의 고 대역폭 메모리를 사용하면 대역폭이 600GB / s로, 성능이 45TFLOPS로 증가했다고 밝혔다. 그런 다음 TPU는 4 칩 180 TFLOPS 모듈로 배열됩니다
그들은 게임에 4 개의 TPU를 사용했기 때문에 처리 능력은 180 TFLOPS입니다. 참고 TFLOPS = 초당 1000 억 개의 부동 소수점 연산.
비교를 위해 인텔에서 가장 강력한 최신 칩은 1 TFLOP에서 클럭하는 코어 i9 익스트림 에디션 프로세서입니다. 게임기에서 찾을 수있는 I7의 최상위 라인은 일반적으로 약 100 GFLOP (즉, TFLOP의 1/10)입니다.
AlphaZero가 Stockfishes 마우스와 비교하여 800 파운드의 고릴라 하드웨어 구성을 사용하고 있다고 말하는 것이 공평하다고 생각합니다.
AlphaZero와 Stockfish 사이의 게임 1에서 오늘 호기심을 충족시키는 데 도움이되는 예제 1을 사용하여 두 번째 요점을 자세히 설명하는 것이 가장 좋습니다.
1 분 / 이동 시간 제한
Stockfish의 성능은 시간 제한 과 하드웨어 구성에 따라 달라 지므로 누군가 누군가 CPU 스레드를 두 배로 늘린 경우를 생각하면 첫 번째 구성에서보다 솔루션을 찾는 데 시간이 덜 필요합니다 (반드시 절반이 아님).
Chess.com에 게시 된 첫 번째 보고서에서 누군가는 컴퓨터에서 동일한 스톡 피쉬를 사용하여 동일한 결과를 재현 할 수 없기 때문에 Stockfish 가 최적으로 재생되지 않았다고 주장했습니다. 그는 아래 위치에서 (게임 1-11 이동) Stockfish는 전혀 의미가없는 Kg1-h1 (왕을 움직였다)을했다고 말했다. 다른 한편으로, 그의 컴퓨터에있는 비축 어는 Be3 (어두운 비숍 감독 이동)과 같이보다 발전된 움직임을 보였으며, 그 위치를 보자.
그렇습니다. 수동적 인 움직임이었고 Stockfish는 더 발전한 움직임을 보였을 것 같습니다. 그러나 그는 틀렸다. 왜? 그는 15 초 동안 스톡 피쉬를 달렸고 1 시간 동안 뛰었다면 Kg1-h1을 그 위치에서 가장 잘 움직였을 것입니다. Stockfish는 가능한 모든 이동을보다 깊이 분석 할 때 결정을 변경합니다. 다음은 원래 회신에서 말한 내용입니다 .
나는 그 자리에서 최신 비늘을 움직였다 (11 번 이동) :
그러나 1,400k 노드에서 실행되는 하드웨어에서 5 분이 지나면 최적의 이동으로 Kh1을 사용하기로 결정합니다.
이 논문에서, 스톡 피쉬는 초당 70,000k 개의 위치를 계산하고 이동 당 1 분 동안 실행되는데, 이는 내 하드웨어의 약 50 배이므로 50 분 동안 계속 실행하도록하겠습니다 ... Kg1-h1은 여전히 Stockfish를위한 선택.
위의 경우, 결정이 동일했기 때문에 Stockfish가 두 번 실행 된 경우 중요하지 않을 것입니다.하지만 다음 단계에서는 분명히 다음과 같습니다.
이 위치에서 Stockfish는 폰을 왼쪽 ( a4-a5 ) 으로 옮기기로 결정했습니다 . 실제 게임에서 Stockfish 보다 초당 1,400k 노드 속도로 Stockfish 엔진을 실행하는 컴퓨터가 있다고 가정 해 봅시다 ( 논문 에서 70,000kn / s라고 함). 매번 50 분 동안 게임을 실행하면 게임을 시뮬레이션 할 수 있습니다. 괜찮아.
위의 위치에서 Stockfish 분석을 실행 한 결과는 다음과 같습니다.
그것은 좋지만 1 분 동안 게임에서 Stockfish의 계산에 도달하기 위해 50 분 동안 계속 실행했습니다.
슬픈 사실은 Stockfish가 시간 제한으로 인해 모든 게임을 잃었다 고 생각한다는 것입니다. Stockfish는 시간이 지남에 따라보다 심층적 인 검색 및 평가를 받고 게임에서 얕은 깊이에서 많은 움직임을 고려할 수있는 오프닝 북을 사용할 수 없었습니다. 실제 게임에서 a4-a5 가 재생되어 (초당 7 천만 개의 위치를 평가할 수 있다고 가정 할 때) 게임에서 Stockfish가 이동에 21.6 초 이상을 소비하지 않았 음을 보여줍니다. 그렇지 않으면 실제 게임에서 다른 3 가지 동작으로 결정을 변경했을 것입니다. Stockfish가 더 적은 메모리를 소비했기 때문에이 이유는 여전히 명확하지 않습니다 ( 원본 논문에서 언급 한 1GB에 비해 약 ~ 130MB의 RAM이 모든 것이 해시 테이블에 있다고 가정).
내가 지적했듯이 Stockfish를 실행 한 하드웨어는 내가 분석 한 움직임에 따라 내 것보다 18 배 빠릅니다 (업데이트 : 단일 코어). AlphaZero가 4 시간 안에 네트워크를 훈련시키기 위해 그러한 하드웨어를 실제로 사용할 수 있는지는 확실하지 않습니다. 체스와 같은 게임에서는 너무 낮다고 가정 할 수 있습니다. 또한 AlphaZero는 학습에 많은 시간을 보냈으며 여기에는 견고한 개구부 (그리고 논문에서 지적한 바와 같이 특정 개구부에 대한 선호도)가 포함됩니다. 반면, Stockfish는 개구부에 장애가 있었으며 각 움직임에서 60 초 동안 초당 7 천만 개의 위치를 평가하지 않았습니다.
마지막으로, 내가 말한 모든 것은 내 가정에 근거한 것입니다. 물론 AlphaZero와 게임의 결과는 매우 흥미로 웠습니다. 그러나 나는 Stockfish 놀이가 내 컴퓨터에서 얻는 것과 같은 게임을보고 싶었습니다. 즉, 더 많은 시간과 책이 허용됩니다. 또한 모든 이동에서 Stockfish 분석 결과를 쉽게 얻을 수 있으며, 성능이 얼마나 우수한지 보여주기 위해이를 릴리스하기를 바랍니다.
Stockfish의 최초 저자 중 한 명이 여기에 언급 한 특정 불만에 답변합니다.
한편 Chess.com은 최초의 Stockfish 저자 Tord Romstad로부터 긴 의견을 받았습니다.
경기 결과는 시간 제어와 Stockfish 매개 변수 설정이 다소 이상하기 때문에 그다지 의미가 없습니다. 게임은 1 분 / 이동의 고정 시간에 재생되었습니다. 즉, Stockfish는 시간 관리 휴리스틱을 사용하지 않습니다 ( Stockfish가 게임에서 중요한 포인트를 식별하고 이동에 추가 시간을 소비 할 시점을 결정하기 위해 많은 노력을 기울였습니다. 이동마다 고정 된 시간에 힘이 크게 나빠질 것입니다). 사용 된 Stockfish 버전은 1 년 전이고, 많은 테스트를받은 것보다 훨씬 많은 검색 스레드를 가지고 놀았으며 스레드 수에 비해 해시 테이블이 너무 작습니다. 더 일반적인 조건에서 무승부 비율이 훨씬 높았을 것이라고 생각합니다.
다른 한편으로, 프로젝트에 더 많은 작업이 투입되면 AlphaZero가 더 잘 플레이 할 수 있었을 것입니다. 그 4 시간 동안). 그러나 어쨌든 Stockfish vs AlphaZero는 사과와 오랑우탄을 비교 한 것입니다. 하나는 일반 컴퓨터에서 실행되는 기존의 체스 프로그램이고, 다른 하나는 근본적으로 다른 기술을 사용하며 구매할 수없는 맞춤형으로 설계된 하드웨어에서 실행 중입니다 (일반 사용자의 예산을 벗어나는 경우).
다른 관점에서, 사과 대 오랑우탄 각도는 이것에 대해 가장 흥미로운 것입니다. 우리는 이제 두 가지 매우 인간적인 (인체와 소프트웨어 측면에서) 인간이 만들어 낸 초 인간 체스 게임 능력을 보여줍니다. 기존 체스 프로그램과 동일한 기능을 수행하는 다른 체스 프로그램보다 훨씬 더 흥미 롭습니다. 또한 새로운 영역에 대한 AlphaZero 접근법의 적응성은 미래를위한 흥미로운 가능성을 열어줍니다.
컴퓨터 체스 프로그램을 도구로 사용하는 체스 플레이어의 경우, 이러한 돌파구는 저렴한 가격에 적합한 하드웨어가 없기 때문에 최소한 단기적으로 큰 영향을 미치지는 않습니다.
체스 엔진 프로그래머와 다른 많은 흥미로운 분야의 프로그래머에게는 효과적이기 위해 대량의 하드웨어 리소스를 필요로하는 기계 학습 기술의 출현은 약간 실망입니다. 몇 년 후에는 AlphaZero와 같은 체스 프로그램을 일반 컴퓨터에서 실행할 수 있지만,이를 만드는 데 필요한 하드웨어 리소스 는 여전히 취미 또는 평균 규모의 회사 예산을 넘어 설 것입니다. 자원 봉사자가 운영하는 대규모 분산 컴퓨터 네트워크를 갖춘 오픈 소스 프로젝트가 가능할 수도 있지만, 각각 고유 한 특성과 특성을 가진 수백 개의 고유 한 체스 엔진 시대는 사라질 것입니다.
출처 : https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
Google의 최종 목표가 우수한 체스 엔진을 구축하는 것이면 비슷한 하드웨어에서 실행해야하지만이 연습은 실제로 체스에 관한 것이 아닙니다. 체스는 AI가 복잡한 작업을 처음부터 배우는 능력을 보여주는 편리한 방법입니다. 모호한 합리적인 구성의 Stockfish에 대해 제대로 수행 할 수 있으면 확인란을 선택합니다.
Google 팀은 체스에 더 많은 노력을 기울이지 않을 것으로 예상합니다. 대신, 그들은 AI가 결코 달성 할 수 없었던 다른 문제로 넘어갈 것입니다.
자세한 내용은 Talkchess Forum을 방문하십시오. 3000 명의 프로그래머가 있습니다. 이것은 모두 사기였다. 알파는 SF, 4TPU보다 64 배 큰 하드웨어보다 30 배 더 큰 하드웨어에서 플레이했습니다. 4TPU는 약 1000 코어 이상입니다. 알파는 오프닝 북을 시뮬레이션했으며 수많은 최고의 GM 우승 게임을 훈련했습니다. SF에는 해시가 거의 없었습니다. TC는 이동 당 1 분으로 고정되었으며, 이는 시간 관리를 향상시킨 SF에 다시 불리합니다. TPU는 코어가 많을수록 SMP 비 효율성이 부족하므로 하드웨어 이점이 훨씬 컸습니다. 기타 등등, 그래서 기본적으로 이것은 구글 측에서 거대한 홍보 스턴트였습니다. 현재 알파는 단일 코어에서 약 2800이므로 SF보다 400로 낮으며 앞으로는 많이 발전하지 않을 것입니다. 앞으로는 발견 할 수없는 고급 평가가 필요합니다. 4 시간 문제에 대해서는 LOL, 이것은 48 시간 전입니다. 이제 알파는 5000로입니다? 어서
첫 번째 단락 자세한 내용, 두 번째 짧고 간단한 답변 세 번째 단락 상황에 대한 내 의견
AlphaZero를 사용하면 하드웨어의 재생 강도에 영향을주지 않습니다. 생각하기 때문에 시간이 오래 걸리지 않을 수도 있습니다. 그것은 신경망입니다. 즉, 정보를 벡터 (단일 열 테이블)로 공급한다는 것은 거대한 텐서 (3 차원 이상의 테이블)를 통해 간단한 수학을 수행 한 다음 답을 내 보냅니다. Stockfish는 가능한 위치를 확인하여 이동이 유익한 지 확인하기 때문에 시간이 오래 걸리므로 문제를 더 오래 볼수록 더 많은 위치 / 이동을 확인할 수 있습니다.
실제로 비슷한 하드웨어 설정이 없습니다. 서로 다른 요구가 있기 때문에 Stockfish는 더 많은 위치를 분석해야하지만 AlphaZero는 이동해야합니다. AlphaZero의 컴퓨터는 기술적으로 훨씬 강력하기 때문에 사람들은 화가납니다. 그러나 AlphaZero는 훈련 후 슈퍼 컴퓨터가 필요하지 않습니다.
내 생각에 Stockfish가 불합리한 시간을 가지지 않는 한 아마도 몇 게임을 더 묶을 것이지만 일반적으로 비슷한 효과가 발생할 것입니다. 이것이 제가 생각하기에 Stockfish는 처음에는 조각과 그 가치로 평가하는 반면, Alpha는 전략적으로 중요한 것을 깨닫기 위해 수백만 게임을 (아마도) 플레이했습니다. 그렇기 때문에 알파가 스톡 피쉬보다 훨씬 더 많은 것을 주지만 큰 위치 적 이점을 얻습니다.