GPUCPU主板CPU怎么匹配,均衡不浪费性能基于GTX1050Ti配一台GPUCPU加主板CPU都要AMD的

刚才一时兴起,回复了一个推荐zen7配置的帖子,不过那个帖子怎么突然莫名其妙被删了。自己发个说点浅见。
没啥技术含量,基本不往深说,但基本尽量保证不错的离谱。慢慢写。


俺是看那个帖子突然有感啊。
没看过古谱的,指导看过的古棋如何。
下棋水平低的,指导水平高的。或者自己不是世界冠军的,说自己肯定能培养时间冠军的。
没运行过围棋对弈软件的,围棋水平未知的,指导人配置围棋软件的机器。


目前围棋对弈软件水平已经很高,大家出于各种目的,也想配置自己的机器来运行。就看到各种帖子。先说的基本的。基本上,围棋软件水平的提高,主要来自蒙特卡罗算法。alphago又引入了神经网络。具体技术细节也不是这个帖子要谈的。

但基本这样,能有助理解就好了。

蒙特卡罗算法,通过随机 选点来计算,已经可以达到比较高的水平了,比如zen6,奕城9以上。

引入神经网络,通过学习,可以提高机器的棋感,简单说,没有网络,机器随机蒙,下子,有了神经网络学习。机器学习得到的棋感,就好非常多。

就是比如,如果alphago,把自己神经网络训练的结果,提供给其它棋软,在计算相同的情况下,表现应该是一样的。

简单说,就简化成这样。

目前最新的棋软,有引入神经网络的,那么架构上,已经和alphago类似了。


神经网络的训练,和大家无关,那么略去不提。下面说我们时间使用中可能关心的问题。

早的棋软,例如zen6,已经比较强。引入神经网络的,理论当然更强啊。

其实人工智能的算法,理论等,很早就有了,关键是没有硬件能算那么多的,但后来,大家发现,cpu算,太慢,gpu可以啊,就一下热起来了,不止围棋。

对于我们要说的问题,关心的不是训练等,而是我们实际使用中的问题。下面简单说说。

引入神经网络技术,不一定是要GPU的,CPU也行,比如leela,就有两个版本,一个有gpu加速,一个没有。相应的部分有CPU完成,就是慢很多而已。


现在,简单说下现在大家能得到的棋软。

1,zen,其它商用版。和他类似。

zen6还没有引入神经网络,zen7应该有了。

这类软件的特点是,商用版,要保证多数人的机器都能不做太多的复杂配置,就能运行。基本应该,台式机,笔记本啥的,不管啥显卡,最少都能跑。对机器的要求不能太高。

同时,有一定的游戏性,比如,可以设定棋软实力,设置成3K,5d,就大致应该表现出相应棋力,不能太离谱。基本肯定是通过限制计算达到,我看到过,zen作者专门测试,调整不同参数,来让zen能表现出相应设置棋力。

就是说比如有个水平不太高的小孩子要和这类软件下棋,完全可以设置一个比较低得级别,棋就有的下。

而其它非商用的,基本下起来,都是最高水平啊。要不就是设置的非常简单,只能通过计算规模来限制。而且作者肯定没办法测试,不能保证到底是啥水平啊。

这是这类软件的优点,如下:

2.水平有分级,围棋水平有差异的使用者,都有可能可以下。

因为是商业软件,要考虑使用者的情况,不能无限思考啊。所以,zen限制了思考步数,即使分析模式,也只能算100万。

这样,就是未必能表现出其最强实力啊,比如,算1000万步能对,但100万就真有没算到的可能。


2,RN,这个是个开源的软件。基本就不是给一般只是想下棋,学棋的用的。

设置使用,比较麻烦,作者的优化方向,肯定是研究如何有最强棋力的研发目的用。根本不考虑如何用。

自己没有图形界面,必须要通过支持GTP的图形客户端来挂接。

硬件上,必须是9系列以上N卡才能有GPU加速,老N卡,A卡,根本不支持。

简单说下,如果想运行RN,需要的软硬件。

1.win系统,可能要比较新的版本,我只在win10上用过。其他,没试过。

4.RN可执行程序,新版可能要自己编译。运行的参数要自己设置。

1.要求使用者,稍微懂点计算机相关知识。

2.用的最大问题,没有分析模式,就是说,就算他对弈强,你学起来困难。

开源,有源代码。如果想自己开发,可以参考。


leela本来是一个收费软件,现在完全免费了。不过不开源。

可以在WIN/Linux/Mac上运行。自带图形界面,也有支持GTP协议的命令行界面。

架构上,引入了神经网络,已经和alphago基本相同了。

神经网络加速部分,用的是opengl 1.1,理论上,现在还在服役的A,N卡,均可使用。

有两个程序,分别是含有GPU加速的,和不含的。

分析功能最强,有各种变化图参考。比zen强非常多,这点rn完全没得比。zen只能看5个下一步的选点,leela能看各种参考图,zen只能分析一步,leela可以无限分析。

1.非常易用。多平台支持。安装使用及其简单。

2.没有GPU加速,也能用,有了就更快。

3.分析功能目前最强,没有之一。

1.和zen等比,棋力的分级肯定没有商业软件靠谱啊。基本上,你就和最高水平对弈就好了。

2.如果和RN比,想要开发,没源码,肯定没得参考啊。


上面是leela,zen的分析界面截图。
RN没分析功能,gogui挂载的界面,手动指定的参数,就不截图了。


前面说了这么多相关信息,那么说下和我们如果处于下棋,学棋的目的,有啥关系啊。

如果你目的是奕城,野狐,打个高段,那么,zen,leela,都不错。如果你显卡特别好,最新N卡十系列高端,比如GTX1080Ti,而且有一定的计算机知识,或许可以试试RN,RN对显卡要求高,这种要求的是限定时间内的棋力。

如果,你想和机器对弈,而自己水平未必很高,或者有个小孩子和机器对弈,那么zen等商业软件最好,可以设置棋力。

除非想要自己开发棋软,考虑RN,有源代码参考。同时有一定计算机知识,而且具备相应硬件,否则,不要用RN。

如果你想给自己复盘,研究到底该咋走,或者高水平的小朋友复盘学习,想起到替代请高水平老师或者省下去道场的成本,那么leela最好。分析功能最强。不过这个,还是要求看Leela分析的人,已经有一定水平和理解能力了啊。毕竟软件不会说话,可能大点的孩子,水平高点的,价值大。

举个例子,我有leela分析过一盘定式次序错误的棋,分析到1000多万步,leela基本完全走出了正确的定式。100万的时候,还是瞎走啊。


说了这么多相关知识,才能说说这和我们要考虑的硬件配置的话题。
主要的,其实软件比硬件跟基本,必须先考虑自己处于何种目的,用那种方式运行软件,预算如何,才能说到硬件的部分啊。
是家用为主,偶尔运行,还是要对弈平台,站稳高段。
还是想跟软件学习,起到一个高水平老师的作用,都不同啊。
这台机器主要是日常用,还是主要目的是学棋,还是考虑开发棋软,都有差异啊。
下面我以leela,举例,说说硬件和需求的关系。


leela的GTP引擎自带性能测试:


这个是LeelaGTP引擎启动自检:


Zen是有了比较完美的算法(无公证书)然后随机扔子的范围小,觉意是有一般的算法(罗洗河),随机扔值的范围大


可以看到,LeelaGPU运算要求的是OpenCL 1.1,显卡只能,就能启动。如果不行,就会测试失败,那么就或许应该更新驱动程序。
当然硬件不支持也是可能的,不过还服役的显卡,硬件不支持的可能也非常低啊。OpenCL 1.1是非常老的标准了。
我遇到过,启动测试失败,但更新驱动就好了的情况,有啥硬件不支持。估计只有古董了。
作者自己都说过,就算是集成显卡,如果你是intel集成显卡,那台弱了,基本不考虑。
不过如果你是AMD的CPU,CPU不咋地,但集成显卡还不错。那有好处。


下面发几个我的测试例子:

以 -t 4 /-t 1等启动好像没差别,应该是测试单线程的

运行这个测试的时候,CPU也只在一个核心上跑。


通过测试,可以说明如下结论:
1.最新的i7 7700比古老的Q6600,单线程大概2倍左右。如果考虑超线程等,实际大概快两倍多。
3.就算是古老的显卡,也比最新的CPU快,比如,我的老GTX460,在Q6600机器上,也比现在最新的i7 7700快三倍。那卡还能卖200块不,都是问题啊。还是老Q6600CPU机器跑的,如果放在新机器上,肯定快的更多啊。
4.其实简单点说,就是GPU,或者CPU的单精度性能。200快的显卡,也比最新的CPU快。



下面说说显卡的选择问题。
leela的作者自己用的就是A卡R9 390,同时,考虑了最终用户的使用情况,采用OpenCL 1.1,来作为GPU技术的加速方式,那么,A/N卡,都能用。基本是个显卡,都能其作用。
RN是用了nvidia 的cuda 3.0,只有9系列以上N卡,才能运行。A卡和老N卡,不用想了。当然,如果,你要自己改引擎,那就不是事,折腾吧。
现在说下zen7,这个没发布,只能是个人的推测。zen7肯定能在N卡十系列跑,作者的开发机,就是最新的帕斯卡titan-x。很可能不支持A卡,毕竟深度学习,基本N卡,没A什么事情。作者的开发机,都是nvidia推荐的人工智能开发机啊。而且,从来,就没听说过,zen在A卡上跑过。
按作者这一年的匆忙程度,别说A卡了,这个要软件底层改。连9系列N卡,理论上,软件不需要改,我都怀疑作者有时间测试过啊。
按zen商业软件的情况,很可能是这样:
如果是最新十系列N卡,GPU加速就能用,9系统可能也行,但未必经过充分测试。
如果没有GPU加速,就是慢,速度受到影响就是了。


那么就是 显卡的选择,就是基本十系列N卡靠谱,肯定已知的软件GPU加速,都能跑。就算最低端的GTX1050,神经网络,肯定也比最新CPU快很多。

A卡基本不考虑,不支持的概率非常大。不是所有棋软的作者都是像leela的作者一样,自己是A卡。莫名其妙用了OpenCL 1.1,基本人工智能的各种基础软件,都是N卡支持比较好啊。

然后,就是,性价比问题。软件支持的情况下。基本就是显卡单精度性能啊。应该是GTX1080Ti最好,价格是帕斯卡的一半,性能肯定还稍微好。

还有,我看到有人说显存的问题,GTX1060 3G和6G, leela比较不占显存,肯定小于500,RN大一些,不过也就1G多。这个都是我自己用的情况啊,也没折腾各种参数去测试。不过,对于现在的显卡,应该不是大问题。

如果显存占用不是那么多的话。那这块就没影响。我确定GTX1050,就肯定能跑现在棋软的GPU加速了。

这种软件对显存其实要求不高,主要是单精度能力。

zen作者提到过GTX1080,所以,保守的说,运行zen7,GTX1070以上,肯定安全了,都8G以上了。

如果还有游戏需求,肯定GTX1080Ti最好。根据预算,可以逐渐往下减,一直到GTX1050。

哪怕你不玩游戏,一块最低端的N卡十系列,也能比CPU快很多倍,还是建议用。

另外,如果你做棋软开发,或者公款能报销,或者就是想花钱,预算能接受,可以考虑最新帕斯卡,一万左右。这个是nvidia深度学习的指定卡,也是作者开发,测试,比赛,用的卡。

这个的可能好处,就是多卡,可能支持比较好。比如,一块GTX1080Ti,肯定不比帕斯卡差。但很可能未必能多卡。比如,nvidia连GTX1060,都不让SLI啊,谁知道,有啥鸟限制没。不过这个只是双路e5以上平台要考虑的了。


下面,就是CPU的选择了。

比如,你想打个高段,现在看,便宜点的i7就靠谱了。这个是有限时间能算的步数。还有是否支持那么多线程。

比如,你就想弈城搞个9,是个棋软都行。简单点说,就是一定时间算的步数是有限的。要是程序设计,少算几个点。不开那么多线程,双路e5,一定搞不过高频i7,以前,很多例子,例如zen6测试,双路e5,限制时间的情况,输给高频i7啊。

根本上,现在的棋软,双路e5和i7比,打对弈平台没优势,甚至差。


如果你的目的是分析,比如,有之于此的孩子,想替代,或者部分替代高水平老师的作用。那看预算了和是否还有别的考虑了。
如果不差钱,当然双路e5,e5 2679 V4不错,1万多吧,来两个,这个频率高,其实比zen开发的e5 2699V4都好很多,这个3.2G,20核心,那个好像才2.2G,22核心。
但如果,预算少些,就可以考虑别的,比如,我以前记得E5 核心,32线程,才1800块,就是主频太低,才1.8G。
主频低,如果你日常使用,感觉是很差的,明显差很多,打开的程序都慢很多。
而且,主频低的话,如果棋软设计没优化,对弈平台下棋表现出来的棋力肯定差,最少zen6,证明如此。


下面,我举时间使用情况,做个说明:

leela运算的时候,基本很最严苛的拷机程序功耗都差不多了,zen6稍低,但也非常高了。

RN比较吃显卡,RN思考的时候,基本我测试GTX1070的显卡的功耗能到150w,leela大概50w以内,空载10w。但RN不怎么占用CPU。

当然,现在的zen6是不用GPU的,跑的时候,GPU还是空载10w啊。

以前有人说,他用Telsa跑zen6,我想说,有毛用啊。你就不能看看CPU占用,基本一直接近0啊。根本没影响好吧。

对上面说的,补充一下,最贵最好的跑棋软目前的卡,就是GTX1080Ti,或者帕斯卡titan-x了。

Tesla没用,那个双精度强,棋软,游戏,大多数人工智能相关程序用不到,那个是专门双精度科学计算用的。对于棋软,除了,贵,耗电,热,没啥别的好处了。俺那个帖子还看到人说,双精度棋风飘逸云云,也是醉了啊。

至于Quadro,那个画图用,更是一点关系都没啊。

不过显卡的问题不大,现在的显卡,功耗散热管理都不错。

主要还是CPU的问题,关键是散热。

现在牙膏厂的散热,也是无语了,不过不专门吐槽这个了。amd也好不到哪里去。

比如,我要上对弈平台打个高段,肯定高频i7,就很好。

棋软一思考,cpu瞬间飙到80度,不过没关系,等待对手落子,cpu空闲,马上又回到30/40度。而且,这样高频。棋力当然最好。

而分析就不同了。cpu一直工作。

如果用这种CPU跑长时间分析,应该降频降压用,比如,7700跑在3.5G,耗电50W,如果5.0G,耗电300W,根本不是线性的。温度根本控制不住。

如果不降频降电压用,散热不好,长时间分析,cpu温度破百,太正常了。

这么说,如果我用现在的i7之类,根本散热困难的cpu,分析就要降低频率用,比如减低电压,3.5G跑1小时,温度也就基本60度以内,而如果跑5G,最好也就是40分钟出结果。不过CPU温度就不用想了。耗电也多了非常多。

其实,现在的家用CPU,都不是设计长时间满载工作的。追求的瞬间相应快。如果真对分析好求高的话,其实可以考虑志强之类,毕竟,那种CPU,设计上,就是长时间,多线程,基本一直满负载工作的。

不过,如果能接受时间长点,做好家用CPU的散热,甚至稍微降频降电压。也可分析了,就是稍微慢点。

如果家用,低频e5比高频i7,甚至i3,差不少。反应还是慢。


总结一下,基本显卡只能考虑N卡10系列。

一般用,高频i7,就可以。比较均衡。当然,如果喜欢AMD,也可以考虑。严重不推荐i3,那个才两个核,实在太少了。

如果笔记本,一定不能是轻薄的。那种笔记本上,叫做i7的cpu,其实只有两个核心。只是为了区别档次啊。那种别说跑分析模式,就是对弈,都分分钟降频。比如,dell XPS 13 跑个棋软,cpu 100度,非常快。像外星人之类游戏本,就比较合适。但一定是最新N卡,当然,牌子没关系了,我只是用这个举例。

如果对分析要求特别高,那么建议双路e5,当然,如果zen7软件和zen6一样。还有分析步数限制的话。其实没啥用。就是分析快慢的差别。价格可以差十倍,而速度其实只差两倍。而且,zen6,就分析100万步,是个cpu,4核以上,也基本不会超过10分钟,这个是我印象,真没具体记,但大致应该不会错。

这种就可以考虑淘宝的便宜大船e5了。比如,棋童家长,或许可以考虑,真能部分替代高水平老师了。当然,如果想省钱,或者不花钱,那就多等会呗,看是时间重要还是钱重要呗。

当然如果不差钱,一般人能买到的肯定是双路e5 2679 V4,肯定最快。不过2cpu,怎么也两万多了。我看那个帖子的推荐,其实旧志强啥的,肯定也不差哪里去。速度或许差一倍。但价格差十倍。好像以前e5 2675 V3,卖过1300。两也不超过3000,确实就是便宜十倍,但速度其实也是一半啦。不过分析,时间快慢关系好像真不是特别重要。看需求。

基本上,用线程数,乘以频率,就能算出cpu性能的关系。不过,还是要看看软件支持不。像zen6,只支持32个线程。那搞个80线程,也毛用没有。

如果这方面要求高,还没预算,其实不是不能考虑es之类的cpu啊,毕竟如果目的只是利用棋软的分析功能的话。

如果用家用i7/i5分析,其实也不错。但关键一定要做好散热,如果时间长,可以考虑降电压,稍微降低频率。

围棋人工智能对弈软件跑分析模式,基本能当拷机软件用了。

只有amd,我基本没用过amd CPU,就不说了,但问题应该不太大,看信仰啊。我个人是不会用amd cpu啊。

几十年前,用amd cpu,那时候是叫k5,还是k6来着,跑个算数的程序,竟然结果都能跟intel cpu 不一样,也是服了啊。

不过俺坚决支持用amd的兄弟啊,一定要给牙膏厂的压力啊。或者俺那天实在良心过意不去,就不用,也买个amd

cpu,就是因为不爽牙膏厂。

不过,就是随便说啊,amd新出的zen看着很不错,也应该支持啊。否则牙膏厂,罄竹难书啊。现在intel家用cpu里的硅脂,未必比牙膏效果好啊,这也是现在cpu热的重要原因之一啊。另外,一个,原因是,核心小。

但我个人来说,如果用amd新出的zen,那更倾向于用intel的CPU,如果不怕折腾,用大船e5,最好主板用X99,旧志强,其实运算到真不差太多,关键是没有新的大船cpu可以换啊。X99万一来个大船,搞个几十核心,都可能啊。amd那个就8个。更不用说intel双路了。太老的X79或者更老的平台,关键是以后换CPU,可能不高。

或者不折腾,其实用i7 6800k也可以,其实那个6核,不会比amd慢太多,而且,软件,兼容性好。以后也有升级空间。俺是挺讨厌各种软件兼容性的。比如,现在,amd zen,运行linux都要换最新内核才行。实在不懒得折腾啊。

还有,我在PC上运行mac OSX等,amd等比intel困难太多了,甚至无解啊。


基本就也完了,我写的非常简单,都是基本问题啊。

那位让人配旧志强平台和GTX780的人,当然也是好意,那个确实如他所说。便宜,光看运算性能指标的话,其实不错的。但关键是,好歹跑一下现在为棋软,好歹合理判断和推断下呗。

比如,俺真不敢说GTX780能运行Zen7的gpu加速啊。最少俺知道,现在的RN肯定不能跑。

俺说的,都是自己用过,看过的啊。

以前本来以为自己是很尊重古棋的。然后就不小心说个某个看法。然后,莫名奇妙被一群人,各种指导啊。然后,只能确定一件事情,俺看过古谱,指导我的,基本不会看,根据自己想象说呗,还不能反驳。那俺闭嘴总会。


其实我觉得,大家哪怕随便贴贴自己机器,比如,用leela,rn跑的实际情况,都有点用。

就比如,我就说句,如果要用家用i7,长时间跑分析,散热要搞好,俺觉得,这应该对于不是非常关心计算机知识的朋友都多少有点提示用。这一点没技术含量,也不高大上,但不是废话啊。

扯一些莫名其妙啥的,有用吗。

基本不会下棋的18K,喜欢指导9d下棋。

自己不是世界冠军,但要么一定能指导世界冠军。要么能培养世界冠军。

没看过古谱的,根据自己想象,指导看过的。

没运行过棋软的,指导别人配机器运行棋软。

不懂人工智能的,围棋水平如何不知道,告诉一定是自主学习还是人工干预,那个一定好。

而且这些吧,说的人都认为自己绝对正确,你最好别说话,用敬仰的眼光看他就对了。否则,。。。俺本来一个内心认为无比坚定的崇古,就想随便提醒个常识问题,就被人扣个贬古的帽子啊。不过俺才明白。要是崇古派都是那样,俺肯定不敢崇啊,打死都不敢啊。

这都什么啊,自己做个棋软呗,最少能证明某些观点啊。

又是啥狗吹,狗黑啥的,不能说点实在话。

都是一个事情,要先占队,才能说话啊。而不管这事真相到底如何,还不能讨论。

就是那个东西到底是啥啊,究竟咋运行,啥原理,基本没人关心啊,像俺这种基本只想说点实在话的。基本不敢开口啊。

其实当然人工智能围棋软件,比俺这个帖子说的基本是常识的废话。可以聊的有趣的东西多多了。但基本不用开口,俺知道,一旦,俺胆敢开口,头上不知道啥狗吹狗黑的帽子肯定一堆啊。没人看内容的,关系的是立场啊,俺这种没立场的,还是闭嘴打酱油好了啊。

俺看围棋TV,第一次人工智能围棋采访,罗洗河随口说句话,反正俺个人的判断是,罗比无数自认狗吹,对围棋软件的理解强太多了。但一堆自认狂热狗吹,除了不停喊,让罗洗河,让alphago 4个,好像说不出任何有信息量的话了。甚至,罗搞不好,也是职业中最懂围棋对弈软件啊。话能说到点子上。李喆虽然看起来,很服阿老师的样子,但发言,感情过于内容。

对罗,俺只能说,天才就是天才啊!

像俺这种不想占队,只想说点实话的,还是闭嘴比较合适。


还有啊,俺发现,好像不懂得,就特别喜欢用术语啊。

反正俺以前见过太多,评棋的,术语比电视台播的都专业啊。

以前俺看个人,说,围棋水平一直不高,奕城,野狐1段左右。说太苦恼,想涨棋。说天元围棋都看了十年啊。

自己觉得比柯杰下的好。

俺也是闲啊,就帮他复盘。当然复盘说的都是问题啊。最少是俺看的问题。然后,那大哥说,嗯,俺终于想起来,他说啥了,他说的是,俺说他那么多问题,他难道就没有闪闪放光的一手啊。

嗯,人家好专业,没白看,闪闪反光,多高大上的词啊,俺自己那么土鳖,不会啊,人家十年天元围棋没白看啊。

不过,俺只能说,以俺个人观点判断,哪位大哥自认闪闪发光的好棋,俺只会说,俺咋就觉得那是闪闪发光的臭棋啊。

俺委婉跟那大哥提示,结果,被臭骂。如此而已。


本文原作者lqfarmer,本文整理自作者在知乎专栏《深度学习与NLP》。AI 研习社已获得转载授权。

深度学习是一个计算需求强烈的领域,GPU的选择将从根本上决定你的深度学习研究过程体验。在没有GPU的情况下,等待一个实验完成往往需要很长时间,可能是运行一天,几天,几个月或更长的时间。因此,选择一个好的,合适的GPU,研究人员可以快速开始迭代深度学习网络,几个月的实验可以在几天之内跑完,几天的实验可以在几个小时之内跑完。因此,在购买GPU时,正确的选择至关重要。那么应该如何选择适合的GPU呢?今天我们将深入探讨这个问题,并会给出一些合适的建议,帮助你做出适合的选择。

拥有高速GPU是开始学习深度学习的一个非常重要的方面,因为这可以帮助你快速获得实践经验,这是搭建专业知识的关键,有足够的时间将深度学习应用于解决新问题。如果没有这种快速的反馈,就需要花费太多的时间从错误中学习。因此,今天就谈谈如何选择一款合适的GPU来进行深度学习的研究。

性价比还不错且便宜:GTX 1060(6GB)

做Kaggle比赛:GTX 1060(6GB)适用于任何“正常”比赛,或GTX 1080 Ti用于“深度学习竞赛”

一名研究员人员:GTX 1080 Ti。在某些情况下,如自然语言处理,一个GTX 1070或GTX 1080已经足够了-检查你现在模型的内存需求

搭建一个GPU集群:这个优点复杂,另做探讨。

刚开始进行深度学习研究:从GTX 1060(6GB)开始。根据你下一步兴趣(入门,Kaggle比赛,研究,应用深度学习)等等,在进行选择。目前,GTX 1060更合适。

想尝试下深度学习,但没有过多要求:GTX 1050 ti(4或2GB)

NVIDIA的标准库使得基于CUDA来建立第一个深度学习库变得非常容易,而AMD的OpenCL则没有这样强大的标准库。现在,AMD卡没有像这样好的深度学习库,所以就只有NVIDIA。即使未来有一些OpenCL库可能也可用,但我也会坚持使用NVIDIA,因为GPU计算能力或GPGPU社区非常强大,可以持续促进CUDA的发展,而OpenCL则相对有限。因此,在CUDA社区中,很容易获得不错的开源解决方案和可靠的建议。

此外,即使深度学习刚刚起步,NVIDIA仍然在持续深入的发展。这个选择得到了回报。而其他公司现在把钱和精力放在深度学习上,由于起步较晚,现在还是相对落后。目前,除NVIDIA-CUDA之外,其他很多软硬件结合的深度学习方案都会遇到或多或少的问题。

至于英特尔的Xeon Phi处理方案,官方广告宣称编程者可以使用标准的C代码进行开发,并很容易将代码轻松转换为经过加速的Xeon Phi代码。这个特性听起来很有趣,因为我们可以依靠丰富的C代码资源。但是,实际上只有很小部分的C代码是被支持的,所以这个特性目前并不是很有用,而且能够运行的大部分C代码都很慢。

在选择GPU时,首先要考虑的第一个GPU性能问题是什么呢:是否为cuda核心?时钟速度多大?内存大小多少?

这些都不是,对于深度学习性能而言,最重要的特征是内存带宽(memory bandwidth)。

简而言之:GPU针对内存带宽进行了优化,但同时牺牲了内存访问时间(延迟)。CPU的设计恰恰相反:如果涉及少量内存(例如几个数字相乘(3 * 6 * 9)),CPU可以快速计算,但是对于大量内存(如矩阵乘法(A * B * C)则很慢。由于内存带宽的限制,当涉及大量内存的问题时,GPU快速计算的优势往往会受到限制。当然,GPU和CPU之间还有更复杂的区别,关于为何GPU如此适用于处理深度学习问题,另做探讨。

所以如果你想购买一个快速的GPU,首先要关注的是GPU的带宽(bandwidth)。

随着时间的变化,CPU和GPU的带宽比较:带宽是GPU比CPU更快的主要原因之一。

X之类的Pascal与Maxwell不能直接比较,因为不同制造工艺(以纳米为单位),导致不同的架构对于如何利用给定的内存带宽的方式不同。这使得一切都有点棘手,但仅仅基于整体带宽就能让我们很好地评价GPU的速度到底有多快。为了确定在一个给定的条件下,一款GPU最快能多快,可以查看这个维基百科页面,以GB / s为单位查看带宽;这里列出的关于这些新卡(900和1000系列)的价格是相当准确,但较旧的卡明显比较便宜 - 特别是如果你通过eBay购买这些卡。例如,一个普通的GTX Titan X在eBay上的售价约为550美元。

另一个需要考虑的重要因素是,并不是所有的架构都与cuDNN兼容。由于几乎所有深度学习库都使用cuDNN进行卷积运算,这就限制GPU的选择只能是Kepler GPU或更高的版本,即GTX 600系列或更高版本。最重要的是,Kepler GPU一般都很慢。所以这意味着应该选择GTX 900或1000系列的GPU,以获得更好的性能。

为了粗略地估计一下这些卡在深度学习任务上的表现,我构建了一个简单的GPU等值图。如何阅读这个?例如,一个GTX 980与0.35 Titan X Pascal一样快,或者换句话说,Titan X Pascal几乎是GTX 980的三倍。

请注意,我自己并没有所有的这些卡,我并没有在所有这些卡上运行然后得到深度学习的benchemarks。比较的结果通过卡片规格以及一些可得到的计算benchmarks(一些用于加密货币挖掘的情况,这一性能在深度学习相关的计算能力上是可比较的)得出的。所以这些结果粗略的估计。实际的数字可能会有所不同,但通常错误应该是比较小的,卡的顺序应该是正确的。另外请注意,那些不足以充分利用GPU性能的小型网络会让GPU的性能看上去不好。例如,GTX 1080 Ti上的小型LSTM(128个隐藏单元;批量大小> 64)不会比在GTX 1070上运行速度快很多。为了获得图下表中显示的性能差异,需要运行更大的网络,比如具有1024个隐单元的LSTM(批量大小> 64)。

GPU之间粗略的性能比较。此比较建立于充分利用GPU性能情况下。

基于上面绘制的性能比较图,除以它们对应的价格,得到下图的基于成本的排名,越长代表性价比越高,该图某种程度上反映了不同卡之间的性价比差异。

成本效益对比图。请注意,这个数字在很多方面都有偏差,例如它没有考虑到内存。

但请注意,这种对GPU排名的衡量标准考虑并不全面。首先,没有考虑GPU的内存大小。从上面的图看,GTX 1050 Ti性价比最高,但当实际应用中你说需要的内存超过了1050 Ti所能提供的内存时,也不能用。类似地,使用4个小的GPU比仅使用1个大得GPU要复杂的多,因此小型GPU也有很多不足之处。此外,不能通过购买16 GTX 1050 Ti来获得4 GTX 1080 Ti的性能,因为还需要购买3台额外的昂贵的电脑。如果考虑这最后一点,即GPU的内存大小,得到下图所示性价比分析图。

综合考虑其他硬件的价格(比如搭载GPU的电脑价格),对GPU的性价比进行标准化。在这里,比较了一台完整的机器,包含4个GPU,配置价值约1500美元的其他高端硬件(CPU,主板等)条件下。

因此,在这种情况下,如果您想要购买更多的GPU,毫无疑问,内存越大的GPU性价比越高,因为相同内存需求条件下,不需要买更多的机器。但是,这种对GPU选择方法仍然存在缺陷。如果你预算金额有限,没有办法无法负担4 GTX 1080 Ti机器的价格,这种对比就毫无意义。因此,实际情况是,基于你有限的预算下,你可以购买到的哪种系统性能是最好的?同时,你还必须处理其他问题,例如:每天使用此GPU的时间有多长?想在几年内升级GPU或整个计算机?想在未来多长一段时间内卖掉当前的GPU,并购买新的更好的GPU?等等

所以你可以看到,做出正确的选择并不容易。但是,如果你对所有这些问题平衡的看待,就会得出类似于以下的这些结论。

1070比拟。所有这三款显卡应该比GTX 980 Ti要好,因为它们具有11GB和8GB(而不是6GB)的内存。

8GB的内存可能看起来有点小,但是对于许多任务来说这已经足够了。例如对于Kaggle比赛,大多数图像数据,deep style和自然语言理解任务,这些你可能会遇到几个问题。

对于入门级的人来或是偶尔想用GPU来参加类似Kaggle比赛的人,GTX 1060是一个不错的选择。我不推荐内存只有3GB的GTX 1060 variant产品,因为6G的内存就已经很有限了。但是,对于许多应用来说,6GB就足够了。GTX 1060比普通的Titan X慢,但与GTX 980具有可比的性价比。

不推荐NVIDIA Titan Xp,因为它的性价比太昂贵了。可以用GTX 1080 Ti代替。然而,NVIDIA Titan Xp在计算机视觉研究领域中仍然有一定的使用,用于处理大数据集或视频数据。在这些领域中,按照每GB的内存数量计算,NVIDIA Titan Xp只比GTX 1080 Ti多1GB,但在这种情况下也具有一定的优势。不推荐NVIDIA

如果你缺钱,但是你需要12GB内存来开展你的研究,那么GTX Titan X(Maxwell)也是一个很好的选择。

对于大多数研究人员来说,GTX 1080 Ti已经完全够用了。大多数研究和大多数应用,GTX 1080 Ti的内存完全够用。

在NLP中,内存限制并不像计算机视觉领域那么严格,所以GTX 1070 / GTX 1080也是不错的选择。通常是,需要解决什么样的任务以及如何进行试验,决定了需要选择哪一款GPU,无论是GTX 1070还是GTX 1080。当你选择GPU时,应该按照类似的方式推理。考虑一下你在做什么任务,如何运行你的实验,然后尝试找到适合这些要求的GPU。

对于预算有限的人来说,选择条件则更加有限。亚马逊网络服务上的GPU相当昂贵和缓慢,如果只有少量的资金,也是一个不错的选择。我不推荐GTX 970,因为它很慢,即使在某些限制条件下也是相当昂贵的(在eBay上150美元),并且存在与卡启动相关的内存问题。相反,建议花更多一点的钱购买更快,有更大的内存,没有内存问题的GTX 1060。如果实在买不起GTX 1060,我建议选择配备4GB内存的GTX 1050 Ti。4GB内存可能有限,但至少可以开展进行你的研究,只是需要你对模型进行一些调整,也可以得到良好的性能。

GTX 1050 Ti一般来说也是一个不错的选择,如果你只是想尝试一下深度学习,而没有其他更多的需求。

有了这篇文章中提供的所有信息,你应该能够考虑选择哪一种合适的GPU,综合考虑所需的内存大小,带宽(GB/s)大小和GPU的价格,这一思路在未来很久也适用。最后,如果有足够的资金,建议购买GTX 1080 Ti,GTX 1070或者GTX 1080。如果刚刚开始研究深度学习,或者资金有限,可以购买GTX 1060。如果资金实在有限,可以购买GTX 1050 ti;如果想要从事计算机视觉研究,可以购买Titan Xp。



点击下方“阅读原文”了解环境猫的更多信息↓↓↓

???é???????°???????????°????????????????°±????????????“è??”???“è??”è????¤?????????????±???????——

我要回帖

更多关于 主板CPU 的文章

 

随机推荐