AI至高无上:Leela Chess。 或关于完全开放的神经网络如何赢得胜利

图片

老实说,我对哈伯感到非常失望。 为什么没有人特别强调赢得完全开放源代码的神经网络方法呢? 并完全开放神经网络数据 ? 的确,DeepMind Technologies确实描述他们如何 自己玩象棋AI的方法...直到现在代码才在那儿关闭,并且培训在Google集群上进行,而不是在这种情况下在带有张量内核的 Nvidia Turing上进行。 为什么我必须自己编辑英语维基百科来引起注意?

好吧,我想我有些激动不已。 (评论中仍然有提及leela的链接。)本文是一项实验:一种向我展示我认为太受欢迎的其他文章如何影响这一点的方式。

故事开始于我将旧的Nvidia Geforce GTX 770升级到RTX 2080 Ti。 好吧,鉴于它要花多少钱 ,我想最大化它。 首先,我玩过Ray Tracing ,通过NVIDIA OptiX了解它如何与CUDA一起使用。 我读到一个人如何设法将RT内核用于其他目的。 重复一遍。 但是皮夹克与人们离婚的评论数量如此之多,以至于我厌倦了对此的阅读。 特别是考虑到我知道路径跟踪是电影和游戏行业最重要的算法,而这并不是Nvidia的发现。 一点也不。 甚至硬件。

然后我决定着眼于NVENC 。 我通常是免费赠品的恋人。 事实证明,此硬件编码器中有很多。 首先,在Habr上有关NVENC的最受欢迎的文章谈到了带调试器的YourChief如何突破了其同时编码流数量的限制(事实证明,我的卡真是太棒了 )。 而且,补丁程序(通常发生)仅更改几个字节

事实证明,如果您在激活此项技术之前 Looking Glass框架顶部使用了魔术补丁,那么也可以在geforce卡上启用NvFBC技术(全帧的超快捕获)。

然后我想要在Photoshop中使用30位颜色。 重复其他人的成功,我发现一个字节限制了窗口模式下OpenGL的支持(例如在窗口和全屏模式下的DirectX中以及在全屏模式下的OpenGL中,这种方式都可以使用30位颜色)。 英伟达对此进行了报道,并承诺将发布该补丁。 也许这是一个巧合,但他们在Gamescom 2019上取消了此限制 。 但是对于HDR10 +(动态HDR元数据)仍存在非官方支持。

因此,现在是时候使用矩阵加速器,神经加速器,张量核了,随便叫什么。 有点复杂。 我会马上说我在大学里关于神经网络的演讲睡得太久了,所以我不得不弄清楚。 但是,在观看了几段视频后 ,一个人产下了数千只鸟,经过了飞扬的飞鸟,几代人之后,这些飞鸟经过了发条等障碍,我的想法得到了启发。 问题是要发射什么。 然后我想起了Google最近吹嘘他们用自己的AI击败了最好的 Go 播放器 ,在使用“常规”算法之前,这被认为是不可能的。 老实说,他喜欢Google DeepMind复杂的版本控制。 好吧,就是谁发明了它:AlphaGo Lee→AlphaGo Master→AlphaGo Zero→AlphaZero(后者已经出现在国际象棋,shogov和go中,并且一般来说,因为他们实施了冗长的机制来解释游戏规则,所以扑克可以改编)。 我知道扑克,如果有的话,请不要写,否则我会认识你。

我的Google搜索“ alphazero源代码”什么都没有产生。 好吧,事实证明,他们没有想到要打开代码! 但是我不敢相信。 好吧,就是说,埃隆·马斯克(Elon Musk)代表OpenAI(据称,这样一来,在开发AI时,它就会受到更多的研究或类似的东西,并且更加不受作者的版权保护)。 在reddit上,我遇到了一个链接 。 事实证明,DeepMind的一些富有同情心的人仍然决定提供部分源代码,但是,直接将其打印在pdf文件中。 / facepalm

好吧,我立即从这里 下载了神经网络。 在和她一起玩后,我意识到由于某种原因它不会下棋。 我花了大约20分钟的时间才了解到它可以下棋,而不是象棋,又花了40分钟才能找到棋子的版本 。 在这里,我很惊讶。 首先,他们已经设法通过支持Nvidia的张量内核实现cuda后端,以用于游戏和培训(此外还包括自愿和分布式 )。 其次,就在那一刻,他们与Stockfish的决斗在计算机国际象棋排名中排名第一! 我半夜没睡,看着TCEC超级决赛,神经网络赢了! 我立即去编辑维基百科,当时维基百科的信息很少,第二天每个人都写了它! 事实证明,在游戏中leela仅使用了一堆2080 Ti和2080,也就是说,我的卡就足够了。 从这里下载了神经网络 ,我很平静地在计算机上启动了它! 好吧,当然,神经网络让我失望了。 设置方法如下。

我个人确实使用了HIARCS Chess Explorer外壳。 此外,我还让人们在android上测试 DroidFish中的leela。 Android使用简化且较小的蒸馏网络,但仍不乏力。

原则上,我可以更详细地绘制安装说明,添加链接,写:=))
顺便提一句,有没有人听说过NVENC和NVDEC的非标准使用? 看来它可以适应加快数学运算的速度。 我在某处读到它,但没有细节。

Source: https://habr.com/ru/post/zh-CN468775/


All Articles