解决Lizzie通过ssh连接katago卡顿问题

解决Lizzie通过ssh连接katago卡顿问题,第1张

从使用阿里云GPU云服务器运行katago开始,就发现一个问题:那就是使用sabaki通过gtp协议调用katago,非常顺畅没有任何问题。而同样的运行参数,一旦使用lizzie调用,则卡顿现象十分严重,不得不反复通过暂停、重开,来获取数据。

开始以为是带宽的问题,后来即便将带宽提高到5M也没有丝毫效果。改用AutoDL服务器后,其带宽不需要指定,同样卡顿没有改善。

前几天通过网上学习ssh的时候,看到有文章提到不同ssh服务器,客户端获取的返回数据不一样。受此启发,想到同样GPU服务器,sabaki正常而lizzie存在问题,那说明应该是客户端获取服务器数据、转换的问题。lizzie最早是针对Leelazero的,在获取katago的gtp数据时,对部分数据不识别,或者识别转换效率低,所以导致卡顿,甚至不能正常显示。

于是查看katago的配置文件,感觉应该是logToStderr参数的问题。默认值是false,为了在sabaki观战时看到AI的计算情况,我将值改为TRUE,这样gtp日志输出到sabaki终端。但这样一来,lizzie可能对大量输入数据有些不知所措了。本机还好,一旦通过ssh获取,更是应接不暇了。

果然,将logToStderr值修改为false之后,再调用lizzie,一切正常,顺利完成旧文旧局:“未完”的一局(钱宇平vs小林光一),算是开了一个好头。

前几天误打误撞注册了AutoDL后果然有些停不下来,算上折扣,要比阿里云、腾讯云的gpu服务器更为合适,同时AutoDL是容器化实例,这样初始化在几秒内完成,而阿里云等初始化过程中的GPU驱动、框架搭建时间有些过于漫长了。如果把时间考虑在内,AutoDL性别比就更高了。

但AutoDL受实例限制,暂时无法编译TensorRT Backend版本,编译的是cuda11.2版本。在不同GPU实例下简单测试了一下katago的benchmark,权重为kata1-b40c256-s10359230464-d2525387336。

使用阿里云最低端的Tesla T4,4核cpu,15G内存服务器作为参考。

在使用sabaki对弈感觉速度尚可,但经过测试,NVIDIA RTX 3060 / 12GB的成绩与阿里云的Tesla T4比想象中要差不少。

作为TeslaT4的替代者,NVIDIA RTX A4000 / 16GB成绩相比TeslaT4略好一点,也符合AutoDL首页算力排名。AutoDL北京地区实例均使用RTX A4000。

NVIDIA RTX 3090 / 24GB成绩两倍于NVIDIA RTX A4000 / 16GB,同样符合算力排名。

最令人吃惊的是NVIDIA RTX 2080Ti / 11GB,成绩直逼阿里云TeslaV100 16G。katago测试过程中,

第一次测试居然认为成绩出现误差,提示“Optimal number of threads is fairly high, increasing the search limit and trying again.”自动重新测试了一遍。

不愧为显卡核弹。难怪黄厂长严令禁止数据商将游戏显卡用于数据服务器上。其价格居然还要低于NVIDIA RTX A4000 / 16GB,这也是性价比最高的GPU实例。

作者 | 王健宗 瞿晓阳

来源 | 大数据DT

01 人工智能发展历程

图1是人工智能发展情况概览。人工智能的发展经历了很长时间的历史积淀,早在1950年,阿兰·图灵就提出了图灵测试机,大意是将人和机器放在一个小黑屋里与屋外的人对话,如果屋外的人分不清对话者是人类还是机器,那么这台机器就拥有像人一样的智能。

▲图1 人工智能起源及发展

随后,在1956年的达特茅斯会议上,“人工智能”的概念被首次提出。在之后的十余年内,人工智能迎来了发展史上的第一个小高峰,研究者们疯狂涌入,取得了一批瞩目的成就,比如1959年,第一台工业机器人诞生;1964年,首台聊天机器人也诞生了。

但是,由于当时计算能力的严重不足,在20世纪70年代,人工智能迎来了第一个寒冬。早期的人工智能大多是通过固定指令来执行特定的问题,并不具备真正的学习和思考能力,问题一旦变复杂,人工智能程序就不堪重负,变得不智能了。

虽然有人趁机否定人工智能的发展和价值,但是研究学者们并没有因此停下前进的脚步,终于在1980年,卡内基梅隆大学设计出了第一套专家系统——XCON。该专家系统具有一套强大的知识库和推理能力,可以模拟人类专家来解决特定领域问题。

从这时起,机器学习开始兴起,各种专家系统开始被人们广泛应用。不幸的是,随着专家系统的应用领域越来越广,问题也逐渐暴露出来。专家系统应用有限,且经常在常识性问题上出错,因此人工智能迎来了第二个寒冬。

1997年,IBM公司的“深蓝”计算机战胜了国际象棋世界冠军卡斯帕罗夫,成为人工智能史上的一个重要里程碑。之后,人工智能开始了平稳向上的发展。

2006年,李飞飞教授意识到了专家学者在研究算法的过程中忽视了“数据”的重要性,于是开始带头构建大型图像数据集—ImageNet,图像识别大赛由此拉开帷幕。

同年,由于人工神经网络的不断发展,“深度学习”的概念被提出,之后,深度神经网络和卷积神经网络开始不断映入人们的眼帘。深度学习的发展又一次掀起人工智能的研究狂潮,这一次狂潮至今仍在持续。

图2列出了人工智能发展史上的一些重要事件。从诞生以来,机器学习经历了长足发展,现在已经被应用于极为广泛的领域,包括数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏、艺术创作和机器人等,以及我们特别关注的机器学习和深度学习未来发展的一大趋势——自动化机器学习和深度学习(AutoML及AutoDL)。

▲图2 人工智能发展重大事件

02 下一代人工智能

我们首先通过图3来回顾一下人工智能的发展历程。

▲图3 人工智能发展历程

到目前为止,人工智能按照总体向上的发展历程,可以大致分为4个发展阶段,分别为精耕细作的诞生期、急功近利的产业期、集腋成裘的爆发期,以及现在逐渐用AutoML来自动产生神经网络的未来发展期。

早期由于受到计算机算力的限制,机器学习处于慢速发展阶段,人们更注重于将逻辑推理能力和人类总结的知识赋予计算机。但随着计算机硬件的发展,尤其是GPU在机器学习中的应用,计算机可以从海量的数据中学习各种数据特征,从而很好地完成人类分配给它的各种基本任务。

此时,深度学习开始在语音、图像等领域大获成功,各种深度学习网络层出不穷,完成相关任务的准确率也不断提升。同时,深度学习神经网络朝着深度更深、结构更加巧妙复杂的方向推进,GPU的研发与应用也随着神经网络对算力要求的不断提高而持续快速向前推进。图4展示了近年来主要神经网络的发展。

▲图4 主要深度神经网络的发展

2012年,AlexNet为了充分利用多个GPU的算力,创新性地将深度神经网络设计成两部分,使网络可以在两个GPU上进行训练。

2013年,ZFNet又进一步解决了Feature Map可视化的问题,将深度神经网络的理解推进了一大步。2014年,VGGNet通过进一步增加网络的深度而获得了更高的准确率;同年,GoogLeNet的发明引入了重复模块Inception Model,使得准确率进一步提升。

而2015年ResNet将重复模块的思想更深层次地发展,从而获得了超越人类水平的分辨能力。这时,由于深度神经网络层数的不断加深,需要训练的参数过于庞大,为了在不牺牲精度的同时减少需要训练的参数个数,2017年DenceNet应运而生。

随着深度神经网络的不断发展,各种模型和新颖模块的不断发明利用,人们逐渐意识到开发一种新的神经网络结构越来越费时费力,为什么不让机器自己在不断的学习过程中创造出新的神经网络呢?

出于这个构思,2017年Google推出了AutoML——一个能自主设计深度神经网络的AI网络,紧接着在2018年1月发布第一个产品,并将它作为云服务开放出来,称为Cloud AutoML。

自此,人工智能又有了更进一步的发展,人们开始探索如何利用已有的机器学习知识和神经网络框架来让人工智能自主搭建适合业务场景的网络,人工智能的另一扇大门被打开。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/732380.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-11
下一篇2023-08-11

发表评论

登录后才能评论

评论列表(0条)

    保存