在具体的论述之前,先说几个结论:
1.目前只有Nvida GPU能完整的支持深度学习,所以请购买较新的nvidia显卡(pascal、turing架构以上)
2.GPU上的投资回报比基本呈线性变化,因此可以按照自己的需要配置不同GPU。
3.保持工作站长期稳定工作需要一个靠谱的电源,所以在电源选择上追求稳定。
4.在现有预算下,GPU>CPU=RAM>=SSD
5.云服务用起来简单,长期使用却十分昂贵,所以我们要有自己的硬件设施。
1.需求分析
(一)为什么要为深度学习专门配置工作站(服务器)?
1.深度学习需要大量的并行计算资源,而且动辄计算几天甚至数周,而显卡(GPU)恰好适合这种工作,提供几十上百倍的加速,性能强劲的GPU能在几个小时内完成原本CPU需要数月完成的任务,所以目前深度学习乃至于机器学习领域已经全面转向GPU架构,使用GPU完成训练任务。
2.如今即使使用GPU的深度学习任务也要持续数天乃至数月(取决于数据规模和深度学习网络模型),需要使用单独的设备保障保证训练任务能够7x24小时长期稳定运行。
3.独立的深度学习工作站(服务器)可以方便实现实验室计算资源共享,多用户可以在个人电脑编写程序,远程访问到深度学习服务器上排队使用计算资源,减少购买设备的开支并且避免了在本地计算机配置复杂的软件环境。
(二)深度学习工作站配置要求
深度学习任务对计算机性能要求较高,各硬件主要完成以下操作:
深度学习计算过程
上述图示,深度神经网络计算大致流程,下面通过深度神经网络计算环节,分析核心硬件配置理想要求:
各硬件性能要求
CPU:
因为主要使用显卡进行cuda计算,因此对CPU的要求并不是很高,频率越高、线程数越多越好,一般最低要求cpu核心数大于显卡个数。其中一个制约因素:cpu的最大PCI-E 通道数。每张显卡占用16条pcie通道才能达到最大性能,而单cpu最大支持40条pcie,也就是即使有4个pcie x16接口,只能最多达到2路x16加一路x8,插上的显卡不能发挥全部性能。不过,主板芯片组其实也可以扩充一部分pcie通道。(x99主板可以扩宽2.0的8lanes,z170可以扩充3.0的20lanes)
显卡:
深度学习需要较强性能的显卡进行复杂的单精度运算,通常神经网络需要大量显存和内存资源,因此需要8GB以上显存才能运行大规模的深度卷积网络,执行计算机视觉任务,一般选择GTX1070以上