深度学习如何把电脑性能用到极致,如何攒一台深度学习的电脑

首页 > 经验 > 作者:YD1662022-10-27 20:59:41

作者:Param Popat
编译:ronghuaiyang
导读
对于想学习深度学习的同学们来说,学习资源网上有很多,但是计算资源确很少,而GPU又太贵,怎么办呢?通过简单的设置,将CPU做深度学习的速度提升到3倍以上,大家又可以愉快的学习深度学习了!

深度学习如何把电脑性能用到极致,如何攒一台深度学习的电脑(1)

在过去的几年里,无论是在学术界还是产业界,深度学习的速度都在加快。现在每家公司都在寻找基于人工智能的问题解决方案。这种繁荣有它自己的优点和缺点,但这是另一篇文章,改天再说。机器学习实践者的激增已经渗透到学术界的根源,几乎每个领域的学生都可以通过课程、mooc、书籍、文章,当然还有课程论文,接触到人工智能和ML知识。

然而,硬件资源的可用性阻碍了这种增长。GPU是你能够以一定的速度执行ML任务的最佳设备之一。然而高性能GPU的价格甚至可以到20449美元(NVIDIA Tesla GPU V100 32 gb) 。此外,使用高级GPU的消费级笔记本电脑,使用1050Ti或1080Ti之类的GPU,售价约为2000美元。为了减轻这种痛苦,谷歌、Kaggle、Intel和Nvidia免费提供了基于云的高计算系统,但对空间、计算能力、内存或时间都有限制。但是这些在线服务也有其缺点,包括管理数据(上传/下载)、数据隐私等。这些问题导致了我的文章的主要观点,“为什么不优化我们的cpu来实现深度学习任务的加速?”

性能的提升

对于下面提到的各种实验,我会展示我观察到的时间和利用率的提高。

  1. 10层深度CNN用于CIFAR-100图像分类。
  2. 3层深度LSTM进行IMDB情绪分析。
  3. 6层深度密集神经网络用于MNIST图像分类。
  4. 9层全卷积MNIST自动编码器。

这些任务用Keras写代码,使用TensorFlow后端,数据集和代码和和可执行库放在一个盘里。所使用的是SSD硬盘。

我们将考虑以下六种优化组合。

  1. 英特尔(R) Core (TM) i7。
  2. Intel(R) Xeon(R) CPU E3-1535M v6。
  3. 英特尔(R)核心(TM) i7与英特尔Python(英特尔i7*)。
  4. Intel(R) Xeon(R) CPU E3-1535M v6采用Intel Python (Intel Xeon*)。
  5. Intel(R) Core (TM) i7与Intel Python和处理器线程优化(Intel i7(O))。
  6. Intel(R) Xeon(R) CPU E3-1535M v6采用Intel python和处理器线程优化(Intel Xeon(O))。

对于每个任务,epochs的数量固定在50。从下图中我们可以看到,对于一个Intel(R) Core (TM) i7-7700HQ CPU @ 2.80GHz CPU, epoch的平均时间接近4.67秒,经过适当的优化后下降到1.48秒,即提高3.2倍。对于一个Intel(R) Xeon(R) CPU E3-1535M v6 @ 3.10GHz CPU,epoch的平均时间接近2.21秒,经过适当的优化后下降到0.64秒,提高了3.45倍。

深度学习如何把电脑性能用到极致,如何攒一台深度学习的电脑(2)

每个epoch的平均时间

优化不仅仅是在时间上,优化的分布也优化了CPU的利用率,这最终导致更好的热量管理,你的笔记本电脑不会像以前训练深度神经网络时那么热。

深度学习如何把电脑性能用到极致,如何攒一台深度学习的电脑(3)

使用率

我们可以看到,在不进行任何优化的情况下,训练时CPU利用率最高达到100%,从而减慢了所有其他进程并使系统升温。然而,通过适当的优化,i7和Xeon的利用率分别下降到70%和65%,但是在运行时间上却减少了。

这两个指标可以用以下相关术语进行总结。

深度学习如何把电脑性能用到极致,如何攒一台深度学习的电脑(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.