社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

用了5年的旧笔记本不要丢,1/4新机价格升级机器学习战斗本,隔壁研究员都馋哭了

机器学习研究组订阅号 • 5 年前 • 482 次点击  


来源:medium
编译:zeroinfinity、Andy

高性能的硬件配置在机器学习研究中是枪炮一般的存在。面对大规模数据和多层结构算法,普通的计算机根本无法胜任。

但是,高配置的深度学习本一般耗费巨大,当前最新款超级本的笔记本型号,价格轻松过万。

一位佐治亚理工学院的毕业生就尝试用更低的成本激活自己用了五年、硬配落后的老笔记本电脑。并且成功的通过eGPU和500美元(约3000多块钱),新款战斗本四分之一的价格,就完成了一次“老本儿“大改装,让自己的老式笔记本电脑华丽转型,并且效果惊人!

一起看看。




2016年初,我在佐治亚理工学院攻读大学本科时,花费了当时全部身家,买了一台新的英特尔Skylake处理器还有Dell XPS 15 9550,再加上专用的NVIDIA移动GPU,我当时觉得这台电脑肯定能够陪伴我获得计算机学位。

自从买来它的那一天起,我就非常爱护,它也非常争气地一点没变慢。直到我开始做AI和机器学习方面的硕士课程作业,我发现,这台笔记本不!够!用!了!

我还记得那天我被分配了一个经典的深度学习任务,这是计算机视觉上一个很好的学习案例——训练CNN(卷积神经网络模型)来解决CIFAR-10

CIFAR-10是10个低分辨率(32x32)图像类的数据集,深度学习任务是训练模型使其能将新的图像正确分类为这10个类别之一。由于低分辨率数据集可以快速进行训练,因此它被广泛用作教学素材。至少我当时是这么想的。具有多层结构的CNN训练少则几个小时多则一个晚上,这应该算是一个简单的任务了。

但实际做起来,才突然发现,之前可靠的Skylake I7(比当前版本落后3代)和那些专用的2GB内存GPU根本跑不动

没钱又必须完成学业,所以我开始头脑风暴怎么从头构建一个台式机。

要获得当前中上等机器学习用台式机的最低价格为1100美元(带有i5 6核CPU和RTX 2060 Super显卡),然后最重要的是,作为一个喜欢在校园里工作的研究生,台式机会将我限制在某一个工位上,需要很多同步手段才能同时在不同地点工作。

当然我也可以买一个当前最新款超级本,它会带有和a1050-Ti一样好的GPU,但这些型号的价格很容易超过2000美元,并且几乎不具备台式机一样强大的模型训练能力。

我开始了大量替代方案的研究。

预算500美元,手把手教你薅羊毛


首先我分析了自己面临的状况:有一台可靠但较旧的计算机,无法停歇的忙碌生活,需要更多的处理器和算力,希望将所有工具都集成在一起又不至于倾家荡产。

我知道,我的要求很高,但我确实设法找到了一个解决方案——eGPU

外接GPU(eGPU)能通过Thunderbolt 3接口将独立显卡连接到现有计算机。如果你有一台超级本如PC 2016或更高版本(我在用的),或一台MacBook Pro 2016或更高版本,那你就可以拥有一台用eGPU完全改造的笔记本电脑。

eGPU的设计比较简单,它最主要部件包括,一个用于连接GPU的PCIe端口,一个用于连接到计算机的Thunderbolt 3端口,一个电源(GPU要的电远远超过笔记本自身供电能力) ,以及给GPU散热的装置

你可以DIY所有这些组件,或者也可以像我一样用更简单的方法:直接找一个有端口和电源的GPU机箱,这样需要的组件也就只有GPU和机箱这两个了。

当我决定了试用eGPU的方案,就开始在网上找性价比最高的部件了。

巧合的是,我的两笔交易都来自一个名为Letgo的交易平台。我用260美元就买到了NVIDIA GTX 1080 8GB(之前我在网上找到的最便宜价格是375美元),而机箱则是有人以280美元的价格出售Razer Core v2(在eBay上以400美元的价格出售)。最终我总共花费了540美元来构建eGPU,全面提高了我笔记本的使用体验。

并非每个人都像我一样想在网上淘宝,因此我还评估了搭建ML eGPU的最优方案,预算在500美元左右,10分钟不到就都能订购到的所有零件。

我选择使用NVIDIA 1660-Ti 6GB,有差不多的GPU性能(稍微差了一点),价格为280美元,还有翻新过的Razer Core X,可以以270美元从Razer购买。如果您愿意多花些钱得到性能更好,更新的GPU,那么RTX 2060 Super 8GB更好些,且花费也达到400美元价位。

如果你要改造Macbook,可以考虑AMD处理器,因为其在Apple生态系统中的支持程度较高。

有得有失,eGPU表现如何?


构造好机器后,我便开始评估使用体验。要测试与以前的移动GPU相比,GTX 1080有何改进,我使用了AI-benchmark。这是一个Python库,用Tensorflow在19个不同部分上运行42个测试,从而为GPU提供了通用AI评分。

我将AI-Benchmark与Jupyter Notebook、pandas和还有Seaborn可视化工具结合起来,以量化说明我的结果。该代码可在Github上找到。

第一个结果是针对单个测试及其运行时间的(以毫秒为单位)。我只展示了19个测试中的1到9个,结果太多怕看不过来。我的GTX 960M GPU(XPS配的GPU)测试过程中遇到了一个大问题。因为它GPU只有2GB,结果训练张量太大放不下,所以在很多项测试中都无结果。


该测试的结果非常清楚。集成图形绝对不适合机器学习,即使它比移动GPU更稳定。但它在测试中所花运行时间更长,甚至会让简单的任务都运行缓慢。

GTX 960M在执行任务时速度上保持了自己的优势。但是,其可靠性不足,且仅拥有2GB的内存是一个巨大障碍,这将使你不得不牺牲模型的大小,以便能放在卡上。

因此,GTX 960M不太适合现在的深度学习任务。而有8GB RAM的GTX 1080则可以完美地运行所有任务,并在实际任务上比GTX 960M快3倍。


测试完成后,AI-benchmark还会创建一个总体评分(越高越好)。注意,GTX 960M基准分是推断出来的因为某些测试无法完成,因此没办法获得总分。因此,我根据类似的GPU的AI-Benchmark的测试结果推断了一个分数。

替代的GPU用相同架构,并且在成功运行的测试中彼此之间的误差只在百分之几内。显而易见,GTX 1080碾压了所有的自动化测试,并在可靠性和速度方面展现了可观的优势。基于这一结果,似乎很明显eGPU可以作为(同性能)昂贵设备的替代品,尽管如此,我还是要对此指出一个缺点。

尽管与XPS本身相比,其测试结果令人震惊,但相比于集成GPU,使用eGPU可能会带来速度上的损失


在将通过AI-benchmark取得的最高基准与(通用)基准进行比较时,会发现还有很多需要改进的地方。我估计Thunderbolt 3端口上的带宽会导致10%到15%的性能损失,但是测试分数缺明显下降了约30%,我对此有一个假设。

尽管XPS 15 9550和9650型号声称完全支持thunderbolt 3,但它们的硬件上限为2条通道,而不是标称的4通道(Dell已解决了这一问题)。我的假设是,这是当前thunderbolt端口造成的瓶颈。在将来的版本中,我可能会使用MacBook(具有4通道)运行这些测试,以证实我的猜测。如果我是正确的话,我应该会看到MacBook上AI得分超过1400。

我还可能会在散热更好的情况下进行测试,以查看在非理想状态下是否会阻碍运行。

这将帮助我得出更通用的推荐,关于这是否为一种可行且有成本效益的选择?

最终的结果我个人是绝对认可的。即使分数未达到通用基准,这种花费540美元升级到等同于一台1500美元计算机的程度,也将使其生存力又延长了数年。仅是2GB GPU和8GB GPU之间的区别就值得升级。如果你的笔记本电脑只有集成显卡,那么如果你想用其来进行深度学习,这种升级甚至是非常必要的。

我不建议升级的情况是您的笔记本电脑已经具有4GB的GPU RAM和最低GTX 1050-Ti GPU配置。如果真是这样,你不太可能看到性能上的大幅提高。只有在发现自己需要更多RAM来执行更繁重的任务时,eGPU才真正物有所值。

目前我只做到这样,如果有兴趣,不久的将来可能还会有新的尝试!

相关报道:
https://towardsdatascience.com/how-i-turned-my-older-laptop-into-a-machine-learning-superstar-with-an-egpu-66679aa27a7c



想要了解更多资讯,请扫描下方二维码,关注机器学习研究会

                                          


转自:大数据文摘

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/64238
 
482 次点击