TensorFlow所需的硬件配置 *

提示

对于学习而言,TensorFlow的硬件门槛并不高。甚至,借助 免费灵活 的云端计算资源,只要你有一台能上网的电脑,就能够熟练掌握TensorFlow!

在很多人的刻板印象中,TensorFlow乃至深度学习是一件非常“吃硬件”的事情,以至于一接触TensorFlow,第一件事情可能就是想如何升级自己的电脑硬件。不过,TensorFlow所需的硬件配置很大程度是视任务和使用环境而定的:

  • 对于TensorFlow初学者,无需硬件升级也可以很好地学习和掌握TensorFlow。本手册中的大部分教学示例,大部分当前主流的个人电脑(即使没有GPU)均可胜任,无需添置其他硬件设备。对于本手册中部分计算量较大的示例(例如 在cats_vs_dogs数据集上训练CNN图像分类 ),一块主流的NVIDIA GPU会大幅加速训练。如果自己的个人电脑难以胜任,可以考虑在云端(例如 免费的 Colab )进行模型训练。

  • 对于参加数据科学竞赛(比如Kaggle)或者经常在本机进行训练的个人爱好者或开发者,一块高性能的NVIDIA GPU往往是必要的。CUDA核心数和显存大小是决定显卡机器学习性能的两个关键参数,前者决定训练速度,后者决定可以训练多大的模型以及训练时的最大Batch Size,对于较大规模的训练而言尤其敏感。

  • 对于前沿的机器学习研究(尤其是计算机视觉和自然语言处理领域),多GPU并行训练是标准配置。为了快速迭代实验结果以及训练更大规模的模型以提升性能,4卡、8卡或更高的GPU数量是常态。

作为参考,笔者给出截至本手册撰写时,自己所在工作环境的一些硬件配置:

  • 笔者写作本书的示例代码时,除了分布式和云端训练相关章节,其他部分均使用一台Intel i5处理器,16GB DDR3内存的普通台式机(未使用GPU)在本地开发测试,部分计算量较大的模型使用了一块淘宝上180元购买的 NVIDIA P106-90 (单卡3GB显存)矿卡进行训练;

  • 在笔者的研究工作中,长年使用一块 NVIDIA GTX 1060 (单卡6GB显存)在本地环境进行模型的基础开发和调试;

  • 笔者所在的实验室使用一台4块 NVIDIA GTX 1080 Ti (单卡11GB显存)并行的工作站和一台10块 NVIDIA GTX 1080 Ti (单卡11GB显存)并行的服务器进行前沿计算机视觉模型的训练;

  • 笔者合作过的公司使用8块 NVIDIA Tesla V100 (单卡32GB显存)并行的服务器进行前沿自然语言处理(如大规模机器翻译)模型的训练。

尽管科研机构或公司使用的计算硬件配置堪称豪华,不过与其他前沿科研领域(例如生物)动辄几十上百万的仪器试剂费用相比,依然不算太贵(毕竟一台六七万至二三十万的深度学习服务器就可以供数位研究者使用很长时间)。因此,机器学习相对而言还是十分平易近人的。

关于深度学习工作站的具体配置,由于硬件行情更新较快,故不在此列出具体配置,推荐关注 知乎问题 - 如何配置一台适用于深度学习的工作站? ,并结合最新市场情况进行配置。