我知道AlphaZero必须使用与普通Stockfish不同的硬件。我希望硬件对引擎强度有很大的影响。这就是为什么我想知道是否曾尝试为两者提供可比较的硬件。另外,“可比”在这里意味着什么?
具体来说,我读到人们抱怨:
- 仅给鱼类提供1 GB的缓存,并且
- 1分钟/移动的时间限制(这将给Stockfish带来什么不利影响?)
我知道AlphaZero必须使用与普通Stockfish不同的硬件。我希望硬件对引擎强度有很大的影响。这就是为什么我想知道是否曾尝试为两者提供可比较的硬件。另外,“可比”在这里意味着什么?
具体来说,我读到人们抱怨:
Answers:
这就是为什么我想知道是否曾尝试为两者提供可比较的硬件。
您正在谈论的是Google!因此,答案显然是“否”。
从用于初始化和培训的原始纸质硬件-
训练从随机初始化的参数开始进行了700,000步(大小为4,096的迷你批次),使用5,000个第一代TPU(15)生成自玩游戏,使用64个第二代TPU训练神经网络。
和用于游戏的硬件-
AlphaZero和以前的AlphaGo Zero使用一台具有4个TPU的机器,Stockfish和Elmo发挥了他们最强的技能,使用64个线程和1GB的哈希值。
因此,AlphaZero使用了Google开发的特殊硬件。它使用专用的Tensor处理器单元(TPU),而不是商用的通用中央处理器(CPU)。
维基百科就是这样描述他们使用的第二代TPU的-
第二代TPU于2017年5月发布。Google表示第一代TPU设计的内存带宽有限,第二代设计中使用16 GB的高带宽内存将带宽提高到600 GB / s,性能提高到45 TFLOPS。然后将TPU安排到4芯片180 TFLOPS模块中
他们在游戏中使用了4个TPU,因此处理能力为180 TFLOPS。注意TFLOPS =每秒1万亿个浮点运算。
作为比较,英特尔最新最强大的芯片是Core i9 Extreme Edition处理器,其时钟频率为1 TFLOP。在游戏机中找到的I7线的顶部通常约为100 GFLOP(即TFLOP的十分之一)。
我认为可以说,相比于Stockfishes鼠标,AlphaZero使用的是800磅重的大猩猩。
我认为最好以第二个例子来说明您的第二点,该例子在AlphaZero和Stockfish之间进行,这也满足了我今天的好奇心。
1分钟/移动的时间限制(这将给Stockfish带来什么不利影响?)
Stockfish的性能取决于时间限制和硬件配置,因此,想一想当某人将CPU线程加倍时,与第一种配置相比,Stockfish需要更少的时间(不一定是一半)来找到解决方案。
在Chess.com上发布的第一份报告中,有人声称Stockfish表现不佳,因为他无法在计算机上使用相同的Stockfish来再现相同的结果。他说,在下面的位置(第1局–第11步),Stockfish玩了Kg1-h1(移动了国王),这完全没有道理。另一方面,他的计算机上的鳕鱼显示出更发达的动作,例如Be3(移动黑暗方形主教),让我们看一下位置:
是的,这是一个被动的举动,看来斯托克菲什应该发挥更大的作用。但是他错了。为什么?因为他跑了Stockfish 15秒钟,而且如果跑了一个小时,他将得到Kg1-h1作为该位置上最佳的移动。当更深入地分析所有可能的移动时,Stockfish会改变其决策。这是我最初在回复中说的:
我在该位置上运行了最新的鳕鱼(第11步):
但是在运行速度为1400k节点/秒的硬件上运行5分钟后,它将决定选择Kh1作为最佳选择。
在本文中,据说stock鱼每秒计算70,000k位置,并且每移动一分钟运行一次,这大约是我的硬件的50倍,所以我让我的运行50分钟... Kg1-h1仍然是鱼的选择。
在上述情况下,Stockfish是否运行两次,可能并没有多大关系,因为决定是相同的,但是接下来的行动肯定会:
在此位置,Stockfish选择将棋子移到左侧(a4-a5)。假设我有一台计算机,该计算机以每秒1400万个节点的速度运行Stockfish引擎,这比真实游戏中的Stockfish低约50倍(在本文中为70,000kn / s)。因此,如果每次移动50分钟,我就可以模拟游戏。好的。
我在上述位置上进行了Stockfish分析,得到以下结果:
很好,但是我让它运行了整整50分钟,以便在允许1分钟的游戏中达到Stockfish的计算结果:
可悲的事实是,我相信Stockfish会因为时间限制而输掉所有比赛。随着时间的流逝,Stockfish得到了更深入的搜索和评估,并且在游戏中不允许使用开头的书,这使它不得不考虑浅深度的许多动作。请注意,在实际的a4-a5游戏中,该游戏显示(假设它每秒可以评估7000万个职位),游戏中的Stockfish在移动上花费的时间不超过21.6秒。否则,它将决定更改为实际游戏中的其他三个动作。我的原因仍然不清楚,因为我的Stockfish还消耗更少的内存(假设所有内存都散列表,与原始论文中提到的1GB相比,RAM约为130MB )。
正如我所指出的那样,运行Stockfish的硬件最快比我的快18倍(更新:在单个内核上),这是根据我分析的结果得出的。我不确定AlphaZero是否真的可以在4小时内利用这样的硬件来训练其网络,我只能假设它对于象棋这样的游戏来说太低了。此外,AlphaZero将这些时间花在学习上,其中还包括建立坚实的空缺(并且如论文所指出的,对某些空缺的偏好)。另一方面,Stockfish的开口处有残障,并且每次移动60秒都无法评估每秒7000万个位置。
最后一点,我所说的一切都是基于我的假设。当然,AlphaZero和游戏的结果对我来说非常有趣。但是,我很希望看到Stockfish玩起来就像我在电脑上一样的游戏。就是说,允许更多的时间和一本开始的书。在每一步中获取Stockfish分析的输出也很容易,我希望他们发布它以显示其执行情况。
Stockfish的原始作者之一回答了您在此处提到的特定投诉:
同时,Chess.com还收到了Stockfish的原始作者之一Tord Romstad的冗长评论,我们将对其进行完整介绍:
由于时间控制和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
如果Google的最终目标是构建一个出色的国际象棋引擎,则需要在可比较的硬件上运行,但这并不是真正意义上的国际象棋。国际象棋只是展示AI从头学习复杂任务的能力的便捷方式。如果在Stockfish某种模糊合理的配置下仍能表现良好,请选中此框。
我预计Google团队不会在国际象棋上花费更多的精力;取而代之的是,他们将继续研究AI无法解决的其他问题。
访问Talkchess论坛以了解更多信息,在这里您可以找到3000名程序员。这全都是骗局。Alpha使用的硬件比SF,4TPU和64核大30倍。4TPU大约有1000个内核甚至更多。Alpha模拟了开场白,接受了无数顶级通用汽车获奖游戏的训练。SF的哈希值很小。TC固定为每次移动1分钟,这再次不利于SF,SF具有先进的时间管理功能。TPU缺少具有更多内核的SMP低效率,因此硬件优势更大。等等,因此,基本上,这只是Google的巨大宣传st头。目前,Alpha在单核上大约为2800,因此比SF低400 elo,并且在将来不会进步很多,因为从现在开始,它将需要无法发现的先进评估。关于4小时问题,哈哈,这是48个小时前,所以现在Alpha的价格是5000 elo?来吧。
第一段更详细,第二段简短回答第三段我对情况的看法
使用AlphaZero,硬件对其播放强度的影响为0。可能需要更长的时间,但不是因为它在考虑。这是一个神经网络,这意味着您将信息输入向量(单列表)中,并通过巨型张量(3维或更多维表)进行简单的数学运算,然后吐出答案。fish鱼需要时间来保持良好状态,因为它会检查可能的位置以查看某举动是否有益,因此,对问题的关注时间越长,可以检查的位置/动作就越多。
确实没有可比的硬件设置。因为他们有不同的需求,所以Stockfish需要分析更多的职位,而AlphaZero只是需要采取行动。人们感到不安,因为AlphaZero的计算机在技术上要强大得多,他们认为这方面应该平等。但是,经过培训后,AlphaZero不需要该超级计算机。
以我的观点,无论双方给予什么,都没有关系,除非Stockfish有一段不合理的时间,它可能会与另外几局比赛并列,但总的来说会产生类似的效果。这就是为什么我认为,Stockfish最初会评估作品及其价值,而Alpha玩了(可能)数百万场游戏以意识到战略上的重要性。这就是为什么Alpha囊比Stockfish囊囊要多得多,但却获得了巨大的位置优势。