AlphaZeroは通常のStockfishとは異なる種類のハードウェアを使用する必要があることを理解しています。ハードウェアがエンジンの強度に大きな影響を与えると思います。そのため、両方に匹敵するハードウェアを提供する試みが行われたかどうか疑問に思います。ここで「同等」とはどういう意味ですか?
具体的には、人々は以下について不平を言うと読みました。
- Stockfishには1 GBのキャッシュのみが与えられます。
- 1分/移動の制限時間(これはStockfishにどのように不利になりますか?)
AlphaZeroは通常のStockfishとは異なる種類のハードウェアを使用する必要があることを理解しています。ハードウェアがエンジンの強度に大きな影響を与えると思います。そのため、両方に匹敵するハードウェアを提供する試みが行われたかどうか疑問に思います。ここで「同等」とはどういう意味ですか?
具体的には、人々は以下について不平を言うと読みました。
回答:
そのため、両方に匹敵するハードウェアを提供する試みが行われたかどうか疑問に思います。
これがあなたが話しているGoogleです!したがって、答えは明らかに「いいえ」です。
初期化とトレーニングに使用される元の紙のハードウェアから-
ランダムに初期化されたパラメーターから開始し、セルフプレイゲームを生成するために5,000の第一世代TPU(15)とニューラルネットワークを訓練するために64の第二世代TPUを使用して、700,000ステップ(サイズ4,096のミニバッチ)でトレーニングを進めました
ゲームに使用されるハードウェア-
AlphaZeroと以前のAlphaGo Zeroは、4台のTPUを備えた単一のマシンを使用しました。StockfishとElmoは、64スレッドと1GBのハッシュサイズを使用して、最強のスキルレベルでプレイしました。
そのため、AlphaZeroはGoogleが開発した特別なハードウェアを使用しました。市販されている一般的な中央処理装置(CPU)ではなく、特殊なTensorプロセッサユニット(TPU)を使用しました。
これは、ウィキペディアが使用した第2世代のTPUの説明です。
Googleは、2017年5月に第2世代TPUを発表しました。Googleは、第1世代TPU設計はメモリ帯域幅が制限されていると述べました。TPUは、4チップ180 TFLOPSモジュールに配置されます
ゲームには4つのTPUを使用したため、処理能力は180 TFLOPSでした。TFLOPS = 1秒あたり1,000億の浮動小数点演算に注意してください。
比較のために、Intelの最新の最も強力なチップは、1 TFLOPで動作するCore i9 Extreme Editionプロセッサです。ゲーム機で見られるI7の最上位は、通常約100 GFLOP(つまり、TFLOPの10分の1)です。
AlphaZeroは、Stockfishesマウスと比較して800ポンドのハードウェア構成のゴリラを使用していたと言ってもいいと思います。
ゲーム1のAlphaZeroとStockfishの間の動きを例に挙げて、2番目のポイントについて詳しく説明すると、今日の好奇心を満たすのに最適だと思います。
1分/移動の制限時間(これはStockfishにどのように不利になりますか?)
Stockfishのパフォーマンスは、制限時間とハードウェア構成の両方に依存しているため、誰かがCPUスレッドを2倍にした場合、Stockfishは最初の構成よりも解決策を見つけるのに必要な時間(必ずしも半分ではない)を考えるだけです。
Chess.comに投稿された最初のレポートでは、Stockfishがコンピューターで同じStockfishを使用しても同じ結果を再現できなかったため、Stockfishが最適にプレイされていないと主張しました。彼は、下の位置(ゲーム1-11番)で、StockfishがKg1-h1(キングを動かした)をプレーしたが、まったく意味がないと言いました。一方、彼のコンピューター上のstockfishは、Be3(暗い四角の司教を動かしてください)のような、より発展している動きを示しました、位置を見てみましょう:
はい、それは受動的な動きであり、Stockfishはより発展的な動きをするべきだったようです。しかし、彼は間違っていました。どうして?ストックフィッシュを15秒間実行し、1時間実行した場合、その位置でのベストムーブとしてKg1-h1を獲得できたからです。Stockfishは、考えられるすべての動きをより詳細に分析すると、決定を変更します。ここだ、私はもともと私の返事に言いました:
私はその位置で最新のストックフィッシュを走らせました(11番手):
しかし、1,400kノード/秒で実行するハードウェアで5分後に、Kh1を最適な移動として使用することにします。
論文では、stockfishは毎秒70,000kポジションを計算し、1移動につき1分間実行されると言われています。これは私のハードウェアの約50倍であるため、Kg1-h1はまだストックフィッシュの選択。
上記の場合、意思決定は同じだったのでStockfishが2回実行されても大した問題ではなかったでしょうが、次の動きでは間違いなく次のようになります。
この位置で、Stockfishはポーンを左側に移動することを選択しました(a4-a5)。ストックフィッシュエンジンを毎秒1,400kノードの速度で実行するコンピューターがあるとします。これは、実際のゲームのストックフィッシュの約50倍低い(論文では、70,000kn / sと表示されています)。したがって、各移動で50分間実行すると、ゲームをシミュレートできます。はい。
上記の位置でStockfish分析を実行すると、次の結果が得られました。
それは良いことですが、1分間許可されたゲームでStockfishの計算に到達するために、完全に50分間実行し続けました。
悲しい真実は、Stockfishが時間制限のためにすべてのゲームを失ったと信じていることです。Stockfishは、時間が経つにつれてより詳細な検索と評価を取得し、ゲームでは浅い深さでの多くの動きを考慮するオープニングブックの使用が許可されませんでした。実際のゲームではa4-a5がプレイされたことに注意してください(ゲームが毎秒7000万ポジションを評価できると仮定すると)、ゲームのStockfishは移動に21.6秒以上費やしていません。そうでなければ、その決定を実際のゲームの他の3つの動きに変更することになります。Stockfishのメモリ消費量が少ないため(これはすべてがハッシュテーブルに送られると仮定した場合、元の論文で言及された 1GBと比較して約130MBのRAM)、この理由はまだわかりません。
私が指摘したように、Stockfishを実行したハードウェアは、分析した動きに基づいて、最高で私のものよりも18倍高速でした(更新:シングルコア上)。AlphaZeroがそのようなハードウェアを実際に使用して4時間でネットワークをトレーニングできるかどうかはわかりませんが、チェスのようなゲームには低すぎるとしか考えられません。その上、AlphaZeroはこれらの時間を学習に費やしました。これには、堅実な開口部の構築も含まれます(そして、論文が指摘するように、特定の開口部に対する選好)。一方、Stockfishは開始時に障害があり、各移動で60秒間、1秒あたり7000万のポジションを評価しませんでした。
最後に、私が言ったことはすべて私の仮定に基づいていました。もちろん、AlphaZeroとゲームの結果は私にとって非常に興味深いものでした。しかし、Stockfishのプレイがコンピューターでのプレイと同じようなゲームを楽しみたいと思っていました。つまり、より多くの時間と最初の本が許可されます。Stockfish分析の出力を移動するたびに簡単に取得することもできます。パフォーマンスを確認するためにリリースすることを希望します。
Stockfishの元の著者の1人が、ここで言及した特定の苦情に答えます。
一方、Chess.comは、元のStockfishの著者の1人であるTord Romstadから長いコメントを受け取りました。
時間制御とStockfishパラメーター設定のかなり奇妙な選択のため、試合自体は特に意味がありません:ゲームは1分/移動の固定時間でプレイされました、つまりStockfishは時間管理ヒューリスティックを使用しません(ストックフィッシュがゲーム内の重要なポイントを特定し、移動に余分な時間を費やす時期を決定するために多くの努力が注がれました.1回の移動ごとに一定の時間で、強さが著しく低下します)。使用されたStockfishのバージョンは1年前であり、これまでにかなりの量のテストを受けたよりもはるかに多くの検索スレッドで遊んでおり、スレッド数に対してハッシュテーブルが小さすぎました。ドローの割合は、より通常の条件との試合ではるかに高いと思います。
一方、AlphaZeroがプロジェクトにもっと多くの作業を投入した場合、より良い結果が得られたことは間違いありません(ただし、この論文で言及されている「4時間の学習」は、使用される大規模なハードウェアリソースを考慮すると、それらの4時間の間に)。しかし、いずれにしても、Stockfish対AlphaZeroは、リンゴとオランウータンの比較に非常に近いものです。1つは通常のコンピューターで実行される従来のチェスプログラムであり、もう1つは根本的に異なる技術を使用し、購入できないカスタムデザインのハードウェアで実行されます(そして、もしあれば一般ユーザーの予算からは外れます)。
別の観点からは、リンゴ対オランウータンの角度がこれについて最もエキサイティングなことです:私たちは現在、2つの非常に異なる(ハードウェア側とソフトウェア側の両方)人工エンティティがあり、どちらも超人的なチェスの演奏能力を示しています。これは、既存のチェスプログラムと同じことを行う別のチェスプログラムよりもはるかに興味深いものです。さらに、AlphaZeroアプローチの新しいドメインへの適応性は、将来のエキサイティングな可能性を開きます。
コンピュータチェスプログラムをツールとして使用するチェスプレーヤーにとって、手頃な価格で適切なハードウェアが不足しているため、このブレークスルーが少なくとも短期的には大きな影響を与えることはほとんどありません。
チェスエンジンプログラマー、および他の多くの興味深いドメインのプログラマーにとって、効果的であるために大量のハードウェアリソースを必要とする機械学習技術の出現は、少しがっかりさせられます。数年後、AlphaZeroのようなチェスプログラムを通常のコンピューターで実行できるようになる可能性は十分にありますが、それらを作成するために必要なハードウェアリソースは、愛好家や平均的な企業の予算をはるかに超えます。ボランティアによって実行されるコンピューターの大規模な分散ネットワークを備えたオープンソースプロジェクトが機能する可能性はありますが、それぞれが独自の癖と個性を持つ数百のユニークなチェスエンジンの時代はなくなります。
ソース:https : //www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
Googleの最終目標が優れたチェスエンジンの構築である場合、同等のハードウェアで実行する必要がありますが、この演習は実際にはチェスに関するものではありません。チェスは、複雑なタスクをゼロから学習するAIの能力を示す便利な方法です。Stockfishの漠然と合理的な構成に対してうまく機能する場合は、チェックボックスをオンにします。
Googleチームはチェスにこれ以上の労力を費やすことはないと予測しています。代わりに、AIが達成できなかった他の問題に進みます。
Talkchessフォーラムにアクセスして詳細を確認してください。約3000人のプログラマーがいます。これはすべて詐欺でした。Alphaは、64コアに対してSF、4TPUの30倍のハードウェアでプレイしました。4TPUは約1000コア以上です。アルファはオープニングブックをシミュレートし、無数のトップGM優勝ゲームでトレーニングを受けました。SFのハッシュはほとんどありませんでした。TCは1移動につき1分に修正されましたが、これも高度な時間管理を行っているSFにとって有害です。TPUには、コアが多いSMPの非効率性がないため、ハードウェアの利点はさらに大きくなりました。などなど、基本的に、これはGoogle側の巨大な宣伝スタントでした。現在、アルファはシングルコアで約2800であるため、SFから400エロス下にあり、今後は発見することができない高度な評価が必要になるため、今後はあまり進歩しません。4時間の問題については、まあ、LOL、これは48時間前だったので、アルファは5000 eloになりましたか?いい加減にして。
最初の段落の詳細、2番目の短くて簡単な答え3番目の段落状況に関する私の意見
AlphaZeroを使用すると、ハードウェアはプレイの強さに0の影響を及ぼします。時間がかかるかもしれませんが、考えているからではありません。これはニューラルネットワークです。つまり、情報をベクトル(単一の列テーブル)で供給し、巨大なテンソル(3次元以上のテーブル)を介して簡単な計算を行い、答えを吐き出します。Stockfishは、移動が有益かどうかを確認するために可能な位置をチェックするため、時間がかかる必要があります。したがって、問題を長く見るほど、より多くの位置/移動をチェックできます。
実際に匹敵するハードウェア設定はありません。異なるニーズがあるため、Stockfishはより多くのポジションを分析する必要がありますが、AlphaZeroは移動するだけです。また、AlphaZeroのコンピューターは技術的にはるかに強力であり、その点で平等であるべきだと考えているため、人々は動揺しています。しかし、AlphaZeroはトレーニング後にそのスーパーコンピューターを必要としません。
私の意見では、彼らがどちらの側に何を与えるかは問題ではありません。これが私がこれを考える理由です。Stockfishは最初にピースとその値で評価しますが、Alphaは戦略的に重要なことを実現するために(おそらく)何百万ものゲームをプレイしました。これが、AlphaがStockfishよりもはるかに多いのに、位置的に大きな利点を得る理由です。